关于正则表达式

之前也学过一些正则表达式, 常见的正则能看懂,也会用。今天想来进行一下系统的整理, 对正则表达式复习巩固一下。

*                匹配前面的子表达式零次或多次。

+               匹配前面的子表达式一次或多次。

?              匹配前面的子表达式零次或一次。

{n}             n是一个非负数, 表示匹配确定的n次。

{n,}           n是一个非负数, 表示匹配大于等于n次。

{n,m}        n和m都是非负数,且n <= m, 表示匹配最少n次,最多m次。(两个数之间不能有空格)

?               当该字符紧跟在上面限定符(*,+,?,{n},{n,}, {n,m})后面时,表示是非贪婪的,尽可能少的匹配搜索到的字符串

^               匹配最开头

$               匹配最结尾

.点             匹配除\n之外的所有单个字符,若想要匹配所有字符, 请使用 [\s\S] 等

x|y             匹配x或y。

[xyz]          匹配所包含的任意一个字符。

[^xyz]        匹配为包含的任意字符

[a-z]           匹配指定范围内任意字符

[^a-z]        匹配不在指定范围内的任意字符

\b              匹配一个单词边界,也就是指单词和空格间的位置。例如,“er\b”可以匹配“never”中的“er”,但不能匹配“verb”中的“er”。

\B             匹配一个非单词边界,正好和上面相反。

\d              匹配一个数字字符。

\D              匹配一个非数字字符。

\f                匹配一个换页符

\n               匹配一个换行符

\r                匹配一个回车符

\s                匹配任何一个不可见字符

\S                匹配任何可见字符

\t                 匹配一个制表符

\v                匹配一个垂直制表符

\w                匹配包括下划线在内的任何单词字符,类似但不等价与[0-9a-zA-Z_]

\W                匹配任何非单词字符

( )                  将'('和')'之间的表达式定义为组,将匹配到的字符串保存到一个临时区域,他们可以用\1 和\9引用


基本上简单的就这些, 至于复杂的后续用到了在继续添加, 灵活的运用正则表达式能让程序写的简洁,所以这章需要好好复习。入门简单,真正学好不容易。





阅读更多 登录后自动展开
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页