最简单的正则表达式
匹配精确的一个字符串。例如:“word”直接匹配字符串word。但这样有一个弊端,就是任意只要含有word的字符串均会被匹配出来。对1的完善
利用\b可以匹配单词的开关和结尾。例如:\bword\b。精确的匹配word这个单词。注意:单词一般是以空格、标点符号或者换行来分隔的,但是\b并不匹配它们,它只是匹配一个位置,即表示单词的开始或结束。两个正则表达式测试工具
RegexBuddy
javascript正则表达式在线测试工具常用的元字符
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束 例:^\d{5, 12}$
和忽略大小写的选项类似,有些正则表达式处理工具还有一个处理多行的选项,如果选中了这个选项,^和$的意义就变成了匹配行的开始处和结束处。字符转义
\ 查找元字符本身的时候,可以利用转义字符常用的限定符
*
重复零次或更多次
+
重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n, }重复n次或更多次
例:^\w+匹配一行的第一个单词(或整个字符串的第一个单词,具体匹配哪个意思得看选项设置)字符类
没有通过上述元字符来定义的字符集合该如何寻找呢?只需要用方括号列出即可。例如:[0-9]、[aeiou]……分枝条件
通过不同的规则将匹配字符串,从而书写更加严格的正则表达式。用|来区分。例如:0\d{2}-\d{8}|0\d{3}-\d{7}分组(重复多个字符)
前面提到的*和+、?可以实现重复单个字符的效果,要重复多个字符该如何做呢?这就用到分组的概念,加上括号()即可以实现分组了。例如:(\d{1, 3}.){3},这个表达式的意思就是将\d{1, 3}.所匹配的字符串重复3次。反义
\W 匹配任意不是字母、下划线、汉字或数字的字符
\S 匹配任意不是空白符的字符
\D 匹配任意非数字的字符
\B 匹配不是单词开关或结束的位置
[^x] 匹配除了x以外的任意字符
[^aeiou] 匹配除了aeiou这几个字母以外的任意字符
正则表达式的知识点汇总(一)
最新推荐文章于 2022-08-17 16:01:56 发布