正则表达式 match、exec、replace 的用法

来源:互联网 发布:上海游奇网络 编辑:程序博客网 时间:2024/06/08 06:16
macth和exec都是匹配字符串中的内容,找到返回数组,找不到返回null,下面讨论有返回值的时候。

1、exec:
书写方式:  result = reg.exec(str)
str:字符串
reg:正则表达式。
result:返回值:
1)reg不带全局g的时候,result[0]表示匹配的整个文本,result[1]表示匹配的第一个子表达式,即第一个左括号括起来的内容;result[2]表示匹配的第二个子表达式,即第二个左括号括起来的内容。以此类推。
2)result.length :result的数组长度。
3)result.index属性声明的是匹配文本的第一个字符的位置。
4)result.input 属性则存放的是被检索的字符串 string
5)带全局的g的时候比较复杂,也没有验证过。欢迎拍砖。

var regex = new Regex("^.{2}(\d+)(\d{2}).{3}$")
regex.Match("ab123456789abc").Result("$1") 返回1234567
regex.Match("ab123456789abc").Result("$2") 返回89


2、macth:
书写方式: result = str.match(reg)  与exec和test相反。其实只要记住 一个就行:test是测试的意思,那么肯定是正则str测试字符串。即reg.test(str)或reg.exec(str);
变量含义同exec
返回值:
1)不带全局g的时候,返回值跟exec相同。
关键是带全局g的时候
i)返回与正则表达式匹配的所有子字符串。是子字符串,不是子表达式哦
ii)result.length返回结果数组的长度。即匹配的所有子字符串的次数。


3、replace:
repalce:
result =str.replace(reg,replacement);
replacement:替换的字符串或者函数。
如果是字符串的时候,这里就不多说了。重点说说函数的情况
函数有两各个参数:第一个是匹配的子字符串,第二个是匹配的每个子表达式。即括号括起来的子表达式。
0 0