正则表达式基本模式匹配

正则表达式基本模式匹配,模式是正则表达式最基本的元素,它们是一组描述字符串特征的字符。模式可以很简单,由普通的字符串组成,也可以非常复杂,往往用特殊的字符表示一个范围内的字符、重复出现,或表示上下文。例如:

^China

这个模式包含一个特殊的字符 ^,表示该模式只匹配那些以 China开头的字符串。例如该模式与字符串 "China has a long history." 匹配,与 "We live in China." 不匹配。正如如 ^ 符号表示开头一样,$ 符号用来匹配那些以给定模式结尾的字符串。

students$

这个模式与 "There was a student" 匹配,与 "students" 不匹配。字符 ^ 和 $ 同时使用时,表示精确匹配(字符串与模式一样)。例如:

^students$

只匹配字符串 "students"。如果一个模式不包括 ^ 和 $,那么它与任何包含该模式的字符串匹配。例如模式:

apples

与 I like eating apples. 和字符串 There are some apples on the tree.是匹配的。

在该模式中的字母 (a-p-p-l-e-s) 是字面的字符,也就是说,他们表示该字母本身,数字也是一样的。其他一些稍微复杂的字符,如标点符号和白字符(空格、制表符等),要用到转义序列。所有的转义序列都用反斜杠 \ 打头。制表符的转义序列是 \t。所以如果我们要检测一个字符串是否以制表符开头,可以用这个模式:

^\t

类似的,用 \n 表示"新行",\r 表示回车。其他的特殊符号,可以用在前面加上反斜杠,如反斜杠本身用 \\ 表示,句号 . 用 \. 表示,以此类推。

正则表达式基础语法
. - 除换行符以外的所有字符。
^ - 字符串开头。
$ - 字符串结尾。
\d,\w,\s - 匹配数字、字符、空格。
\D,\W,\S - 匹配非数字、非字符、非空格。
[abc] - 匹配 a、b 或 c 中的一个字母。
[a-z] - 匹配 a 到 z 中的一个字母。
[^abc] - 匹配除了 a、b 或 c 中的其他字母。
aa|bb - 匹配 aa 或 bb。
? - 0 次或 1 次匹配。
* - 匹配 0 次或多次。
+ - 匹配 1 次或多次。
{n} - 匹配 n次。
{n,} - 匹配 n次以上。
{m,n} - 最少 m 次,最多 n 次匹配。
(expr) - 捕获 expr 子模式,以 \1 使用它。
(?:expr) - 忽略捕获的子模式。
(?=expr) - 正向预查模式 expr
(?!expr) - 负向预查模式 expr

在线客服QQ:543690914,备案号: 苏ICP备15037649号-32。东海县白塔埠镇佳诚电脑经营部版权所有。