一、子表达式用(和)括起来,把子表达式当做一个独立元素来使用。
如:把 连续两次或多次的重复出现找出来。
要匹配的文本:
hello,my name is ben forta,and I am the author of books on SQL, ColdFusion,wap,windows 2000,and other subjects.
正则表达式:( ){2,}
注:( ) 是一个子表达式,它将被视为一个独立元素,而紧跟在它后面的{2,},将作用于这个子表达式。
二、回溯引用:前后一致匹配
(1)、回溯引用匹配:回溯引用允许正则表达式模式引用前面的匹配结果
回溯引用指的是模式的后半部分引用在前半部分中定义的子表达式。
如:找出这段文本里连续重复出现的单词
要匹配的文本:
this is a block of of text, several words are are repeated, and and they should not be.
正则表达式:[ ]+(\w+)[ ]+\1
注:[ ]+匹配一个或多个规则、\w+ 匹配一个或多个字母数字字符、[ ]+ 匹配一个或多个规则、/1 这是一个回溯引用,而它引用的正是前面划分出来的那个子表达式。
如:
要匹配的文本:
<body>
<H1>Welcome to my Homepage</H1>
Content is divide into two sections<BR/>
<H2>ColdFusion</H2>
information about macromedia ColdFusion
<H2>Wireless</H2>
information about Bluetooth,802.11,and more
<h2>this is not valid HTML</h3>
</body>
正则表达式:<[hH]([1-6])>.*?</[hH]\1>
(2)、用来进行大小写转换的元字符
\E 结束\U或\L转换
\I 把下一个字符转化为小写
\L 把\L到\E之间的字符全部转化为小写
\u 把下一个字符转化为大写
\U 把\U到\E之间的字符全部转化为大写
如:把 连续两次或多次的重复出现找出来。
要匹配的文本:
hello,my name is ben forta,and I am the author of books on SQL, ColdFusion,wap,windows 2000,and other subjects.
正则表达式:( ){2,}
注:( ) 是一个子表达式,它将被视为一个独立元素,而紧跟在它后面的{2,},将作用于这个子表达式。
二、回溯引用:前后一致匹配
(1)、回溯引用匹配:回溯引用允许正则表达式模式引用前面的匹配结果
回溯引用指的是模式的后半部分引用在前半部分中定义的子表达式。
如:找出这段文本里连续重复出现的单词
要匹配的文本:
this is a block of of text, several words are are repeated, and and they should not be.
正则表达式:[ ]+(\w+)[ ]+\1
注:[ ]+匹配一个或多个规则、\w+ 匹配一个或多个字母数字字符、[ ]+ 匹配一个或多个规则、/1 这是一个回溯引用,而它引用的正是前面划分出来的那个子表达式。
如:
要匹配的文本:
<body>
<H1>Welcome to my Homepage</H1>
Content is divide into two sections<BR/>
<H2>ColdFusion</H2>
information about macromedia ColdFusion
<H2>Wireless</H2>
information about Bluetooth,802.11,and more
<h2>this is not valid HTML</h3>
</body>
正则表达式:<[hH]([1-6])>.*?</[hH]\1>
(2)、用来进行大小写转换的元字符
\E 结束\U或\L转换
\I 把下一个字符转化为小写
\L 把\L到\E之间的字符全部转化为小写
\u 把下一个字符转化为大写
\U 把\U到\E之间的字符全部转化为大写