现在的位置: 首页 > 综合 > 正文

正则表达式入门非常不错的讲解

2013年04月28日 ⁄ 综合 ⁄ 共 1100字 ⁄ 字号 评论关闭

http://deerchao.net/tutorials/regex/regex.htm

IP地址检验

(2[0-4]\d\.|25[0-5]\.|[1]?\d[0-9]?\.){3}(2[0-4]\d|25[0-5]|[1]?\d[0-9]?)

([1]?[0-9][0-9]?\.|2[0-4][0-9]\.|25[0-5]\.){3}([1]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])

([1]?\d\d?\.|2[0-4]\d\.|25[0-5]\.){3}([1]?\d\d?|2[0-4]\d|25[0-5])

匹配函数括号和参数

\([\w\s,]*\)

使用分枝条件时,要注意各个条件的顺序。原因是匹配分枝条件时,将会从左到右地测试每个条件,如果满足了某个分枝的话,就不会去再管其它的条件了。

表3.常用的反义代码
代码/语法 说明
\W 匹配任意不是字母,数字,下划线,汉字的字符
\S 匹配任意不是空白符的字符
\D 匹配任意非数字的字符
\B 匹配不是单词开头或结束的位置
[^x] 匹配除了x以外的任意字符
[^aeiou] 匹配除了aeiou这几个字母以外的任意字符

表7.尚未详细讨论的语法
代码/语法 说明
\a 报警字符(打印它的效果是电脑嘀一声)
\b 通常是单词分界位置,但如果在字符类里使用代表退格
\t 制表符,Tab
\r 回车
\v 竖向制表符
\f 换页符
\n 换行符
\e Escape
\0nn ASCII代码中八进制代码为nn的字符
\xnn ASCII代码中十六进制代码为nn的字符
\unnnn Unicode代码中十六进制代码为nnnn的字符
\cN ASCII控制字符。比如\cC代表Ctrl+C
\A 字符串开头(类似^,但不受处理多行选项的影响)
\Z 字符串结尾或行尾(不受处理多行选项的影响)
\z 字符串结尾(类似$,但不受处理多行选项的影响)
\G 当前搜索的开头
\p{name} Unicode中命名为name的字符类,例如\p{IsGreek}
(?>exp) 贪婪子表达式
(?<x>-<y>exp) 平衡组
(?im-nsx:exp) 在子表达式exp中改变处理选项
(?im-nsx) 为表达式后面的部分改变处理选项
(?(exp)yes|no) 把exp当作零宽正向先行断言,如果在这个位置能匹配,使用yes作为此组的表达式;否则使用no
(?(exp)yes) 同上,只是使用空表达式作为no
(?(name)yes|no) 如果命名为name的组捕获到了内容,使用yes作为表达式;否则使用no
(?(name)yes) 同上,只是使用空表达式作为no

/g/i/m这三个参数的意义是

•g (全文查找)

•i (忽略大小写)

•m (多行查找)

抱歉!评论已关闭.