Home >Backend Development >PHP Tutorial >正则:分组问题

正则:分组问题

WBOY
WBOYOriginal
2016-06-06 20:46:251022browse

数据

<code><li><a href="/html/zjly/">走进临沂</a></li>
<li><a href="/html/csmp/">城市名片</a></li>
<li><a href="/html/tzys/">投资优势</a></li>
<li><a href="/html/zzcy/">支柱产业</a></li>
<li><a href="/html/xyjj/">县域经济</a></li>
<li><a href="/html/tzfw/">投资服务</a></li>
</code>

正则1:

<code>(?</code>

匹配结果
正则:分组问题


正则2:

<code>(?</code>

匹配结果
正则:分组问题

问题
正则1和正则2只有中间的(\1)\"',按我的理解,此时的分组结果:\1要吗是"或',此时的正则表达式2((?)应该能够正常匹配url才对,而结果却不是这样的(如第2图所示)

回复内容:

数据

<code><li><a href="/html/zjly/">走进临沂</a></li>
<li><a href="/html/csmp/">城市名片</a></li>
<li><a href="/html/tzys/">投资优势</a></li>
<li><a href="/html/zzcy/">支柱产业</a></li>
<li><a href="/html/xyjj/">县域经济</a></li>
<li><a href="/html/tzfw/">投资服务</a></li>
</code>

正则1:

<code>(?</code>

匹配结果
正则:分组问题


正则2:

<code>(?</code>

匹配结果
正则:分组问题

问题
正则1和正则2只有中间的(\1)\"',按我的理解,此时的分组结果:\1要吗是"或',此时的正则表达式2((?)应该能够正常匹配url才对,而结果却不是这样的(如第2图所示)

([^(\1)]*)的问题在于方括号里面不能使用编号...

------------------

补充: \1在方括号是没有后向引用的作用的. \1在方括号中代表的意思是ctrl-a,16进制的\x01.就如\11匹配的是tab.
参考:Escape sequences

还有, \1如果有反向引用的作用,就有可能与 []是针对字符集里的单个字符为单位进行匹配这个规则冲突.所以,\1[]没有反向引用的作用.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn