正则表达式学习笔记

1. 特殊字符
对于文字字符,有11个字符被保留作特殊用途。他们是
[ ] \ ^ $ . | ? * + ( )
如果想在正则表达式中将这些字符用作文本字符,需要用反斜杠“\”对其进行换码

2.正则表达式有两种类型的引擎:文本导向和正则导向
·正则导向的引擎总是返回最左边的匹配

3.字符集是由一对方括号“[]”括起来的字符集合

4.取反字符集
在左方括号“[”后面紧跟一个尖括号“^”,将会对字符集取反。结果是字符集将匹配任何不在方括号中的字符。

5.字符集的简写
<<\d>>代表<<[0-9]>>
<<\w>>代表单词字符
<<\s>>代表“白字符”(即空格回车)
取反字符集的简写
<<[\S]>> = <<[^\s]>>
<<[\W]>> = <<[^\w]>>
<<[\D]>> = <<[^\d]>>

6.使用?*或+ 进行重复
?:告诉引擎匹配前导字符0次或一次。事实上是表示前导字符是可选的。
+:告诉引擎匹配前导字符1次或多次
*:告诉引擎匹配前导字符0次或多次

7.限制性重复
许多现代的正则表达式实现,都允许你定义对一个字符重复多少次。词法是:{min,max}。min和max都是非负整数。如果逗号有而max被忽略了,则max没有限制。如果逗号和max都被忽略了,则重复min次。

8.使用“.”匹配几乎任意字符

9.字符串开始和结束的锚定
锚定和一般的正则表达式符号不同,它不匹配任何字符。相反,他们匹配的是字符之前或之后的位置。“^”匹配一行字符串第一个字符前的位置。< <^a>>将会匹配字符串“abc”中的a。<<^b>>将不会匹配“abc”中的任何字符。
类似的,$匹配字符串中最后一个字符的后面的位置。所以<<c$>>匹配“abc”中的c。

·使用“^”和“$”作为行的开始和结束锚定

· 绝对锚定
<<\A>>只匹配整个字符串的开始位置,<<\Z>>只匹配整个字符串的结束位置。即使你使用了“多行模式”,<<\A>>和<<\Z>>也从不匹配新行符。
详细内容地址http://www.blueidea.com/tech/program/2006/3443.asp

原文地址:https://www.cnblogs.com/kaka8384/p/1131531.html