学习笔记——精通正则表达式

前端之家收集整理的这篇文章主要介绍了学习笔记——精通正则表达式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

学习笔记——精通正则表达式

排除型字符组

用[ ^。。。]取代[。。。],这个字符组就会匹配任何未列出的字符。

请记住,排除型字符组表示“匹配一个未列出的字符”,而不是“不要匹配列出的字符”(ss:就是说一定要匹配一个字符,并且这个字符不是字符组列出的)。

一个字符组,即使是排除型字符组,也需要匹配一个字符。

一个字符组只能匹配目标文本中的单个字符,而每个多选结构(|)自身都可能是完整的正则表达式,都可以匹配任意长度的文本。

元字符小结

元字符

名称

匹配对象

.

[。。。]

[^。。。]

点号

字符组

排除型字符组

单个任意字符

列出的任意字符

未列出的任意字符

^

$

\<

\>

脱字符

美元符

反斜线-小于

反斜线-大于

行的起始位置

行的结束位置

单词的起始位置

单词的结束位置

|

(。。。)

竖线

括号

匹配分割两边的任意一个表达式

限制竖线(多选项)的作用范围;将若干个字符组合为一个单元,以接受问号或星号之类量词的作用

注意:字符组内部,元字符的定义规则和意义不一样。如:在字符组外部,点号是元字符,但是内部不是;连字符只有在字符组内部并且不紧接着[或[^,才是元字符;

脱字符在字符组内部并且紧接着[表示的意义和在字符组外部表示的元字符意义不一样(ss:脱字符在字符组内部并且没有紧接着[时就是普通字符)。

表示重复的元字符

次数下限

次数上限

含义

1

可以不出现,也可以只出现一次(单次可选)

*

可以出现无数次,也可以不出现(任意次数均可)

+

1

可以出现无数次,但至少要出现一次(至少一次)

括号及反向引用

在许多流派的正则表达式中,括号能够“记住”它们包含的子表达式匹配的文本。
在一个表达式中可以使用多个括号,再用\1,\2,\3等来表示第一、第二、第三组括号匹配的文本。
括号是按照开括号“(”从左到右的出现顺序进行的。
注意:egrep把每行文字都当作一个独立部分来看待。

猜你在找的正则表达式相关文章