RegExp(正则表达式对象)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
开发工具与关键技术:Visual Studio 2015 正则表达式
作者: 李杨
撰写时间:2019-04-15
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
RegExp对象表示一个正则表达式,他是对字符串执行模式匹配的强大工具。
正则表达式:又称为规则表达式,英文名为Regular Expression,
在代码中经常简写为regex、regexp或者RE
正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本
比较通俗的理解就是:正则表达式是用来进行文本匹配的工具。
例如:Shoping singer reading funing 在这个字符串中匹配出 ing
如果要精确的匹配出ing 正则表达式就是 :\bing\b
\b是正则表达式规定的一个特殊代码,然后我们把它叫做元字符,
单词的开头或结尾,也就是单词的分界处,它只匹配一个位置。
然后我们来说说元字符的讲解:
. : 匹配除换行符以外的任意字符
\w : 匹配数字或者字母或下划线或汉字
\s :匹配任意的空白符
\d : 匹配数字
\b : 匹配单词的开始或者结束
~ : 匹配字符串的开始
$ : 匹配字符串的结束
还有常用的限定符 (重复)
* :重复零次或者更多次
+ :重复一次或者更多次
? :重复零次或一次
{n} :重复n次
{n,} :重复n次或者更多次
{n,m} :重复n到m次
反义
\W 匹配任意不是字母,数字,下划线,汉字的字符
\S 匹配任意不是空白符的字符
\D 匹配任意非数字的字符
\B 匹配不是单词开头或结束的位置
[~x] 匹配除了X以外的任意字符
[~aeiou] 匹配除了aeiou这几个字母以外的任意字符
然后Javascript的正则表达式是怎样的呢
修饰符:修饰符用于执行区分大小写和全局分配
i 执行对大小写不敏感的匹配。
g 执行全局分配(查找所有匹配而非在找到第一个匹配后停止)。
m 执行多行匹配
RegExp 对象方法
compile 编译正则表达式
exec 检索字符串中指定的值。返回找到的值,并确定其位置。如图:
test 检索字符串中指定的值。返回true 或 false。如图:
支持正则表达式的String 对象的方法
search 检索与正则表达式相匹配的值。
match 找到一个或多个正则表达式的匹配。
replace 替换与正则表达式匹配的字串
split 把字符串分割字符串数组。如图: