专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »编程综合 » 正则表达式:正则表达式详述 2 »正文

正则表达式:正则表达式详述 2

来源: 发布时间:星期日, 2009年9月6日 浏览:6次 评论:0
下面提供了在正则表达式中能够使用完整对特殊个完整列表和描述

表1.3:正则表达式中特殊:

\
意义:对于通常表示按字面意义指出接着为特殊\不作解释
例如:/b/匹配'b',通过在b 前面加个反斜杠\也就是/\b/则该变成特殊表示匹配个单词分界线
或者:
对于几个通常介绍说明是特殊指出紧接着不是特殊而应该按字面解释
例如:*是个特殊匹配任意个(包括0个);例如:/a*/意味匹配0个或多个a为了匹配字面上*在a前面加个反斜杠;例如:/a\*/匹配'a*'

^
意义:表示匹配必须在最前边
例如:/^A/不匹配"an A,"中'A'但匹配"An A."中最前面'A'

$
意义:和^类似匹配最末
例如:/t$/不匹配"eater"中't'但匹配"eat"中't'

*
意义:匹配*前面0次或n次
例如:/bo*/匹配"A ghost booooed"中'boooo'或"A bird warbled"中'b'但不匹配"A goat grunted"中任何

+
意义:匹配+号前面1次或n次等价于{1,}
例如:/a+/匹配"candy"中'a'和"caaaaaaandy."中所有'a'

?
意义:匹配?前面0次或1次
例如:/e?le?/匹配"angel"中'el'和"angle."中'le'

.
意义:(小数点)匹配除换行符外所有单个
例如:/.n/匹配"nay, an apple is _disibledevent=>

{n,}
意义:这里n是个正整数匹配至少n个前面
例如:/a{2,}不匹配"candy"中'a'但匹配"caandy"中所有'a'和"caaaaaaandy."中所有'a'

{n,m}
意义:这里n和m都是正整数匹配至少n个最多m个前面
例如:/a{1,3}/不匹配"cndy"中任何但匹配 "candy,"中'a'"caandy," 中前面两个'a'和"caaaaaaandy"中前面 3个'a'注意:即使"caaaaaaandy" 中有很多个'a'但只匹配前面 3
个'a'即"aaa"

[xyz]
意义:列表匹配列出中你可以通过连-指出范围
例如:[abcd]跟[a-c]它们匹配"brisket"中'b'和"ache"中'c'

[^xyz]
意义:补集也就是说它匹配除了列出所有东西 你可以使用连-指出范围
例如:[^abc]和[^a-c]等价它们最早匹配"brisket"中'r'和"chop."中'h'

[\b]
意义:匹配个空格(不要和\b混淆)

\b
意义:匹配个单词分界线比如个空格(不要和[\b]混淆)
例如:/\bn\w/匹配"noonday"中'no'/\wy\b/匹配"possibly yesterday."中'ly'

\B
意义:匹配个单词非分界线
例如:/\w\Bn/匹配"noonday"中'on'/y\B\w/匹配"possibly yesterday."中'ye'

\cX
意义:这里X是个控制匹配控制
例如:/\cM/匹配串中control-M

\d
意义:匹配个数字等价于[0-9]
例如:/\d/或/[0-9]/匹配"B2 is the suite number."中'2'

\D
意义:匹配任何非数字等价于[^0-9]
例如:/\D/或/[^0-9]/匹配"B2 is the suite number."中'B'

\f
意义:匹配个表单符

\n
意义:匹配个换行符

\r
意义:匹配个回车符

\s
意义:匹配个单个white空格符包括空格tabform feed换行符等价于[ \f\n\r\t\v]
例如:/\s\w*/匹配"foo bar."中' bar'

\S
意义:匹配除white空格符以外个单个等价于[^ \f\n\r\t\v]
例如:/\S/\w*匹配"foo bar."中'foo'

\t
意义:匹配个制表符

\v
意义:匹配个顶头制表符

\w
意义:匹配所有数字和字母以及下划线等价于[A-Za-z0-9_]
例如:/\w/匹配"apple,"中'a'"$5.28,"中'5'和"3D."中'3'

\W
意义:匹配除数字、字母外及下划线外其它等价于[^A-Za-z0-9_]
例如:/\W/或者/[^$A-Za-z0-9_]/匹配"50%."中'%'

\n
意义:这里n是个正整数匹配个正则表达式最后个子串n值(计数左圆括号)

例如:/apple(,)\sorange\1/匹配"apple, orange, cherry, peach."中'apple, orange'下面有个更加完整例子
注意:如果左圆括号中数字比\n指定数字还小则\n取下 8进制escape作为描述

\ooctal和\xhex
意义:这里\ooctal是个 8进制escape值而\xhex是个十 6进制escape值允许在个正则表达式中嵌入ASCII码

源:u/meil/archives/2007/323.html

0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: