正则表达式小结
常用元字符
常用限定符 代码/语法 | * | 重复零次或更多次 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
+ | 重复一次或更多次 | |||||||||||||||||
? | 重复零次或一次 | |||||||||||||||||
{n} | 重复n次 | |||||||||||||||||
{n,} | 重复n次或更多次 | |||||||||||||||||
重复n到m次 |
常用反义词
匹配任意不是字母,数字,下划线,汉字的字符 | |
S | 匹配任意不是空白符的字符 |
D | 匹配任意非数字的字符 |
B | 匹配不是单词开头或结束的位置 |
[^x] | 匹配除了x以外的任意字符 |
[^aeiou] | 匹配除了aeiou这几个字母以外的任意字符 |
对其中的 常用限定符做一些解释。
* 重复零次或多次,准确的讲应该是“零次或多次匹配前面的字符或子表达式”。例如,zo* 匹配“z”和“zoo”。* 等效于 {0,}。为什么会匹配"z",因为会匹配去掉前一个字符的子表达式。即“z”,如果是zmmo*,那么会匹配zmm和zmmo两个表达式,且重复零次到多次。
+ 一次或多次匹配前面的字符或子表达式。例如,“zo+”与“zo”和“zoo”匹配,但与“z”不匹配。+ 等效于 {1,}。 ? 零次或一次匹配前面的字符或子表达式。例如,“do(es)?”匹配“do”或“does”中的“do”。? 等效于 {0,1}。 ? 当此字符紧随任何其他限定符(*、+、?、{n}、{n,}、{n,m})之后时,匹配模式是“非贪心的”。“非贪心的”模式匹配搜索到的、尽可能短的字符串,而默认的“贪心的”模式匹配搜索到的、尽可能长的字符串。例如,在字符串“oooo”中,“o+?”只匹配单个“o”,而“o+”匹配所有“o”。还有需要注意的是“”,sans-serif; font-size:14px; line-height:24px">将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,“n”匹配字符“n”。“n”匹配换行符。序列“”匹配“”,“(”匹配“(”。
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!