正则表达式是一种不确定有限自动机。NFA。
在书写正则表达式时应尽量减少回溯来提高正则表达式的效率。
一.理解元字符
根据功能,元字符可分为两种类型:匹配位置的元字符和匹配字符的元字符。
1. 匹配位置的元字符
包括:^、$和\b三个字符。
^(脱字符号,在文章插入字时使用)
$(美元符号)。
他们分别表示行的开始和末尾。
^string 正则表达式匹配以string开始的行,即匹配的第一个字符串为string。
String$正则表达式匹配以string结束的行,即匹配的末尾字符串为string。
^string$正则表达式匹配该行只包含字符串string。
元字符\b和^,$具有相似性,她也是匹配一个位置。\b可以匹配单词的开始或结尾,即单词的分界处。
注意:在某些特定的环境或语言下,还可以分别采用\<和\>来匹配单词的开始位置和结束位置。它们在效果上和元字符\b等效,即都匹配单词和边界的两个位置,即开始位置和结束位置。
2. 匹配字符的元字符
包括:.(点号)、\w、\W、\s、\S、\d、\D七个字符。
3. 元字符总结
功能描述说明:
字符 |
说明 |
^ |
匹配行的开始位置 |
$ |
匹配行的结束位置 |
\b |
匹配单词的开始或结束位置 |
. |
匹配除换行符之外的任意字符 |
\w |
匹配单词字符 |
\W |
匹配任意的非单词字符 |
\s |
匹配任意的空白字符 |
\S |
匹配任意的非空白字符 |
\d |
匹配任意的数字 |
\D |
匹配任意的非数字字符 |
注意:\W,\D等非**字符也可以匹配换行符。