您的位置:首页 > Web前端 > JavaScript

javascript正则表达式之二-RegExp对象

2014-05-12 09:16 399 查看
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高级编程(中文),如果需要可以放到你的邮箱。。。

------其他回答(10分)---------

VS看MSDN
http://download.csdn.net/sort/tag/ href="http://biancheng.dnbcw.info/java/" target=_blank>javascript

www.w3school.com.cn/js/index.asp
------其他回答(5分)---------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: