Heim > Web-Frontend > js-Tutorial > Mit Ausnahme der Syntax der einfangenden Gruppe dienen andere Syntaxen nicht zur Überprüfung des einfangenden Ausdrucks „group_regular'.

Mit Ausnahme der Syntax der einfangenden Gruppe dienen andere Syntaxen nicht zur Überprüfung des einfangenden Ausdrucks „group_regular'.

微波
Freigeben: 2017-06-28 13:41:44
Original
949 Leute haben es durchsucht

这篇文章主要介绍了除捕获组的语法外,其它的(?...)语法都不是捕获组的验证,需要的朋友可以参考下

在一篇正则表达式技术文档中看到下面内容:

“外需要说明的一点是,除(Expression)和(?Expression)语法外,其它的(?...)语法都不是捕获组。”
这个内容是好理解的,但疑惑的是,该文章作者在另一篇相关正则的技术文章中,其中一个这样的实例,着实让我迷惑了一番:

文本内容

<td>a</td><td>b</td>
Nach dem Login kopieren

正则表达式

(?is)<td>(?:(?!</td>).)*</td>
Nach dem Login kopieren

注意上面正则表达式的代码,他对“(?!).”进行“强制非捕获组”,我在短信中告诉他,可以这样写:(?is)((?!).)*
两天仍未见他回复,于是在回过头来研究一下他代码,起初我将重点放在“(?!)”这个括号算不算捕获组。但是在看一次上面技术文章的代码我才反应过来。他不是针对(?!)强制为非捕获组,而是将(?!).强制为非捕获组,于是我就做了下面的测试:

文本内容

<td>a</td><td>a</td>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

正则表达式

<td>((?!</td>).)*</td><td>(\1)*</td>
Nach dem Login kopieren

匹配结果

<td>a</td><td>a</td>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

这就证明,如果不对“(?!).”进行强制为非捕获组,它是会捕获的,而这个捕获,我根本不需要它。
下面,我在测试一下,除了(Expression)和(?Expression)语法外,其它的,如环视,它算不算捕获组。

文本内容

<td>a</td><td>a</td>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

正则表达式

<td>((?!</td>).)*</td><td>(\2.)*</td>
Nach dem Login kopieren

匹配结果:不匹配
如有不同见解,欢迎讨论。

Das obige ist der detaillierte Inhalt vonMit Ausnahme der Syntax der einfangenden Gruppe dienen andere Syntaxen nicht zur Überprüfung des einfangenden Ausdrucks „group_regular'.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage