加入收藏 设为首页 站点地图
当前位置:网络知识

软件开发过程中正则表达式的使用

作者:Benjamin Liu 2013/6/21 21:42:25

软件开发网站建设过程中,经常会用到正则到达式,下面介绍一下正则表达式的规则和常用的正则表达式。

特殊匹配
\r,\n   回车和换行符
\t      制表符
\\      匹配"\"本身
\^      匹配^符号本身
\$      匹配$本身
\.      匹配小数点.本身

常规匹配
\d      0~9中的任意一个数字
\w      任意一个字母,数字或下划线
\s      空格、制表符、换页符等空白字符中的任意一个
.       小数点匹配 除\n(换行符)外的任意一个字符

中括号[]和^的使用
[a5@]   匹配a或5或@
[^abc]  匹配abc之外的任意一个字符
[a-z]   匹配a-z之间的任意一个字符
[^a-s0-6] 匹配a-s,0-6之外的任意一个字符

匹配次数处理
{n}     表达式重复n次, 例:\w{2} 2个\w;2{5}匹配22222
{m,n}   表达式最少重要m次,最多重复n次;例:ab{1,2}匹配ab,abb
{m,}    表达式最少重复m次,最多无限制;例:ab3{2,}匹配ab33,ab333,ab3333..
?       表达式匹配0次或1次,相当于{0,1}
+       表达式匹配1次或多次,相当于{1,}
*       表达式匹配0次或多次,相当于{0,}


特殊符号
^       以字符串开始的地方匹配
$       以字符串结束的地方匹配
\b      匹配单词边界\w和非\w之间的边界
|       左右两边表达式或的关系
()      括号中作为组合体匹配

其他特殊规则:
(?:pattern)   匹配 pattern 但不捕获该匹配的子表达式,即它是一个非捕获匹配,不存储供以后使用的匹配。这对于用“or”字符 (|) 组合模式部件的情

况很有用。例如,'industr(?:y|ies) 是比 'industry|industries' 更经济的表达式。   
 
(?=pattern)执行正向预测先行搜索的子表达式,该表达式匹配处于匹配 pattern 的字符串的起始点的字符串。它是一个非捕获匹配,即不能捕获供以后使用

的匹配。例如,'Windows (?=95|98|NT|2000)' 匹配“Windows 2000”中的“Windows”,但不匹配“Windows 3.1”中的“Windows”。预测先行不占用字符

,即发生匹配后,下一匹配的搜索紧随上一匹配之后,而不是在组成预测先行的字符后。

(?!pattern)执行反向预测先行搜索的子表达式,该表达式匹配不处于匹配 pattern 的字符串的起始点的搜索字符串。它是一个非捕获匹配,即不能捕获供以

后使用的匹配。例如,'Windows (?!95|98|NT|2000)' 匹配“Windows 3.1”中的 “Windows”,但不匹配“Windows 2000”中的“Windows”。预测先行不占

用字符,即发生匹配后,下一匹配的搜索紧随上一匹配之后,而不是在组成预测先行的字符后。

常用的正则表达式:
匹配空行:/^\s*$/

匹配 HTML 标记:/<\s*(\S+)(\s[^>]*)?>[\s\S]*<\s*\/\1\s*>/

匹配中文字符的正则表达式: [u4e00-u9fa5]

 

合肥开拓科技,为中小微企业提供软件开发,网站建设及网站推广等计算机软硬件及网络服务,详见http://www.kt00.com


 

相关新闻: