**正则表达式**(regular expression)描述了一种字符串匹配的规则,其本身就是一个字符串,使用这个字符串来描述、定义匹配规则,匹配一系列符合某个句法规则的字符串。在开发中,正则表达式通常被用来检索、替换那些符合某个规则的文本。
因为经常忘记故记录一下,以备查阅。
常用格式如下表所示:
模式 | 描述 |
---|---|
^ | 匹配输入字符串的开始位置。 |
$ | 匹配输入字符串的结束位置。 |
. | 匹配除“\n”之外的任何单个字符。 |
[…] | 字符集合。匹配所包含的任一个字符。例如’[bcd]'可以匹配’bin’中的‘b’ |
[^…] | 与[…]的含义相反,只要字符串中不全是^后的字符就可匹配。例如 [^abc] 可以匹配‘asdja’,因为sdj都不在’abc’中 |
a|b|c | 匹配a或b或c。例如ai|ar能匹配’ai’或’ar’。'(java|mysql)db’可以匹配’javadb’或mysqldb |
* | 匹配前面的子表达式零次或多次。例如’ap*‘能匹配’a’以及’app’。*等价于{0,}。 |
? | 匹配前面的子表达式零次或一次。例如’ap?‘能匹配’a’以及’ap’。?等价于{0,1}。 |
+ | 匹配前面的子表达式一次或多次。例如’ap+‘能匹配’ap’以及’app’。+等价于{1,}。 |
{n} | n是非负整数。匹配确定的n次。例如,'p{2}‘不能匹配’ap’中的p,能匹配’app’中的’pp’ |
{n,m} | n,m都是非负整数,且n<m,表示最少匹配n次,最多匹配m次。 |