正则表达式学习笔记1

来源:互联网 发布:no sleep mac 编辑:程序博客网 时间:2024/05/22 03:50

1)一些限定字符及含义:

?    匹配0或1次

*    匹配0或多次

+    匹配1或多次


2)大括号的语法:

{m}        设定匹配次数

{n,m}     设定匹配次数的范围

?  =  {0,1}

*   =  {0, }

+  =  {1, }


3)其他元字符:

.        句点元字符 : 匹配任意字符(无论大小写)和数字     (注:使用 \. 来匹配句点直接量)

^        脱字符:

         a) 若出现在左方括号后的第一个字符时,标示方括号中指定的任何字符都不能匹配

         b   若出现在其他位置,则匹配直接量本身,即配置 ^ 自己

\w     匹配英文字母,数字和下划线

\W    匹配 \w 元字符不匹配的字符

\d     匹配一个数字

\D    匹配一个非数字字符

\s     匹配任何单个的空白字符

\S     匹配任何非空白字符

\t       匹配一个制表符

\n     匹配一个换行符


4)字符类 : 使用方括号来定义字符类

[0123456789]  =  [0-9]  =  \d

[a-zA-Z]


注意,慎用[A-z], 因为 [A-z]  !=  [A-Za-z],

在ASCii码和unicode字集中,Z和a之间还有6个符号,依次是   [   \   ]   ^   _   `   (左方括号,反斜杠右方括号,脱字符,下划线,重音符)


5)圆括号:对字符或元字符进行分组

(gray|grey)  =  gr(a|e)y == gr[ae]y