正则表达式为标书字符串规则的表达式。下面为两个例子为在 JavaScript 中的使用,
/pattern/attrs
new RegExp(pattern,attrs)
锚点
锚点用于匹配一个位置,下列为常用的锚点
-
^
起始的位置/^http/
-
$
结尾的位置/\.jpg$/
-
\b
单词边界
字符类
字符类用于匹配一类字符中的一个,下面为几个常用的例子,
元字符
元字符为具有特殊意义的字符。常见的有,
-
^
,$
,\b
-
\d
用于匹配数字[0-9]
-
\D
用于匹配[^\d]
-
\s
用于匹配空白符 -
\S
用于匹配非空白符[^\s]
-
\w
用于匹配任意单词字符(例如程序中的变量字符)[A-Za-z0-9_]
-
\W
用于匹配非单词字符[^\W]
量词
量词用于表现字符出现的次数。可用的连词如下,
-
{m,n}
用于表示出现m
到n
次之间。 -
*
用于表示出现0
到无穷之间也就等同于{0,}
-
?
用于表示出现0
次到1
次也等同于{0,1}
-
+
用于表现出现1
次以及一次以上也等同于{1,}
转移符
转义符需要在匹配的字符是元字符的时候使用。使用 \
来进行转移即可。
多选分支
多选分支用于表示或的概念。/thi(c|n)k/
其又等同于 /thi[cn]k/
。其还可以用于匹配文件扩展名 /\.(png|jpg|jpeg|gif)$/
。
常用方法
测试:regxObj.test(str)
其用于测试正则表达式与指定字符串是否匹配。
/123/.test(123); // true /123/.test(111); // false /123/.test('x123'); // true
捕获
其用于保存所匹配到的字符串为后续开发所用。()
可用于捕获,正则表达式再运行时会将其保存下来,(?:)
则不予保存。
// str.match(regexp) var url = 'http://www.google.com/query?test=li-xinyang#cool'; var reg = /(https?:)\/\/([^\/]+)(\/[^\?]*)?(\?[^#]*)?(#.*)?/; var arr = url.match(reg); var protocol = arr[1]; var host = arr[2]; var pathname = arr[3]; var search = arr[4]; var hash = arr[5];
搜索与替换
regexpObj.exec(str)
可以提供更强大的检索,它可以提供更详尽的结果 index
也可以提供过程状态 lastIndex
。
str.replace(regex/substr,replacement)
可以使用正则表达式来对字符串进行替换。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。