1.创建RegExp对象实例
创建方式
1)使用显式构造函数,语法为:new RegExp("pattern",[,"flags"])
2)使用隐式构造函数,采用纯粹的文本格式:/pattern/[flags]
flags标志字符:
-g用作全局标志
-i用作忽略大小写标志
-m用作多行标志
如果没有设置这个标志,那么元字符^只与整个被搜索字符串的开始位置相匹配,而元字符$对应于被搜索字符串的结束位置。
如果设置了这个标志,那么^还可以与被搜索字符串中的\n或\r之后的位置(即下一行的行首)想匹配,而$还可以与被搜索字符串中的\n或者\r之前的位置(即一行的行尾)相匹配。
没看懂!
后记:
这三个标记都是放在正则表达式的最后
这些都是模式匹配符,放在正则表达式的最后,当参数使用。 i:ignorCase忽略大小写 m:mutiple允许多行匹配 g:globle进行全局匹配,指匹配到目标串的结尾
举例而言:expando: "jQuery" + ( core_version + Math.random() ).replace( /\D/g, "" ) 这个正则表达式是用来去掉所有非数字字符的,需要多次匹配,所以不用^,还在最后用了g全局标志。
注意事项:
当使用显式构造函数的方式来构造RegExp实例对象的时候,应将原始的正则表达式文本中的每个\都使用\\来替换,例如,下面两条语句是等价的:
var re=new RegExp("\\d{5}");//不喜欢,不直观
var re=/\d{5}/;
其他语言里面的正则表达式对象
java中的String.split就有一个参数正则表达式
Java中需要掌握Pattern,Matcher
2.RegExp对象-属性
属性分为两类:
所有对象实例共享的静态属性
单个对象实例的属性
静态属性:
.index
.
子匹配
$1...$9
lastParen $+
MSDN中,划分为两个对象来描述(老师说其实没有必要分开两个对象来做帮助):
RegExp对象
静态属性
正则表达式对象(Regular Expression)
实例属性
global 每次执行test,exec方法,都是从上一次的结果后面开始执行;否则就是重头开始执行
方法
test(str) 返回true/false
exec(str) 返回包含数据结果的数组对象
compile(“pattern”[,"flags"]) 编译可以是执行速度加快,不过是在没有其他正则表达式被使用的前提下面。
http://msdn.microsoft.com/en-us/library/9dthzd08(VS.94).aspx
关于JavaScript的帮助文档没有,不过JavaScript的电子书有几本:JavaScriptDOM编程艺术(英文版)、
JavaScript权威指南第4版(清晰)、JavaScript高级编程(中文),如果需要可以放到你的邮箱。。。
VS看MSDN
http://download.youkuaiyun.com/sort/tag/ javascript
www.w3school.com.cn/js/index. asp