正则表达式
2017-04-28 本文已影响0人
hammercui
要想代码写得好,正则表达式少不了。
正则表达式由
普通字符(a到z)
-
特殊字符(又称元字符,比如反斜线,*$()等等)
,
组成的文字模板
特殊字符
-
()
: 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 \( 和 \)。 -
/
:表示正在表达式的开始和结尾 -
\: 反斜线表示转义符号, .*?+[{|()^$ \ 这些具有特殊功能字符则必须在其前面加上反斜线,才能使用其功能含义,比如\s表示匹配空白。不加\表示单个字符。
-
默认区分大小写,而通过i可以改变。比如
i)abc
就不在区分大小写 -
.
:匹配除换行符 \n 之外的任何单字符。要匹配 . ,请使用 \. -
*
匹配前面的子表达式零次或多次。要匹配 * 字符,请使用\* -
?
:表示前面的一个字符最多出现1次(1次或0次 )例如, colou?r 可以匹配 color 和 colour, 因为 "u" 是可选的.请使用? -
+
表示前面的一个字符至少出现1次(1次或多次),例如 a+ 可以匹配 ab 和 aaab. 但与 a* 和 a? 不同的是, 模式 a+ 不会匹配开始处没有 "a" 的字符串.请使用+ -
[...]
:字符类: 方括号把一列字符或一个范围括在了一起 (或两者). 例如, [abc] 表示 "a, b 或 c 的中任何一个字符". 使用破折号来创建范围; 例如, [a-z] 表示 "在小写字母 a 和 z (包含的) 之间的任何一个字符". 列表和范围可以组合在一起; 例如 [a-zA-Z0-9_] 表示 "字母, 数字或下划线中的任何一个字符".请使用[] -
^
: 匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配 ^ 字符本身,请使用 ^。 -
{
:标记限定符表达式的开始。要匹配 {,请使用 {。