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

javascript 正则表达式

2011-03-16 17:28 204 查看
1.重复

符号*表示0次或者多次重复

+ 号表示1次或者多次重复
?表示匹配0次或者一次

2.选择和分组

正则表达式还支持分组和引用,我们可以通过()括号来对正则表达式进行分组,分组的表达式模式有两个作用,一是可以让重复模式作用于整个组而不是单一字符,另一个是可以用特殊序列来对其进行引用。
除了分组转义引用外,在javascript程序中我们还可以通过特殊的$n在表达式外部对子串进行访问。

3.指定位置的匹配

^ 表示字符串的开头
$ 表示字符串的结尾
\b 表示单词的边界/^[Jj]avascript\b/ 匹配 " javascript is language" 不匹配 " javascript:alert('dd')"
如果符号(?=和)之间加入一个表达式,他就是一个向前的声明,表示前面匹配的字符必须在接下来的表达式的位置之前

4.高级模式匹配规则

g表示是全局匹配,找出被检索的字符串的所有匹配
i表示忽略大小写
m表示说明进行多模式匹配的,针对多行字符串匹配每行的内容

正则表达式最大的用途是用于文本地模式匹配,包括文本的查找、替换、格式化。

String对象有四种支持正则表达式的方法,分别是,search(),replace(),match(),splite().

search方法已正则表达式作为参数,返回第一个与之匹配的子串开始的位置,如果没有与之匹配的子串则返回-1。

replace方法如果第一个参数是正则表达式,第二个是要替换的字符串或者闭包。他检索调用它的子串,根据匹配模式进行替换,如果有g标志他会全文替换,负责只替换的一个,尤其是带上闭包时功能更强大

match()方法唯一一个参数是正则表达式,它的行为取决于正则表达式的标志,如果包含标志g,他的返回值就包含了出现在字符串中的所有匹配的数组,如果该标志不包含标志g,他也返回一个数组,它的第一个元素是匹配的字符串,如下的元素是正则表达式中的各个分组。

5.用于模式匹配的RegExp方法

RegExp 对象定义了两个用于模式匹配的方法,他们是exec()和test().

RegExp的exec()方法和String的match()方法很类似,他对一个指定的字符串执行一个正则表达式匹配,如果没有找到返回null,否则返回一个数组,这个数组的第一个元素包含的是与正则表达式相匹配的字符串,余下的所有元素包含的是匹配的各个分组。

RegExp的text()方法遍历字符串,她从lastIndex位置开始遍历检索特定的字符串,如果匹配就返回lastIndex位置,否则返回0。

6.正则表达式包转对象

正则表达式还支持RegExp对象的形式,这种形式被称为正则表达式的包装对象。

RegExp接收两个参数,第一个是表达式的模式匹配字符串,另一个是表示正则表达式的标志字符串。

在前面说过,正则表达式支持分组,分组的正则表达式子项不但可以,不但可以在正则表达是的内部匹配的字符传中出现,还可以获

得匹配子项的结果
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: