国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Regex > 正文

除捕獲組的語法外,其它的(?...)語法都不是捕獲組的驗證

2020-03-16 20:54:30
字體:
來源:轉載
供稿:網友

在一篇正則表達式技術文檔中看到下面內容:

“外需要說明的一點是,除(Expression)和(?<name>Expression)語法外,其它的(?...)語法都不是捕獲組。”
這個內容是好理解的,但疑惑的是,該文章作者在另一篇相關正則的技術文章中,其中一個這樣的實例,著實讓我迷惑了一番:

文本內容

<td>a</td><td>b</td> 

正則表達式

(?is)<td>(?:(?!</td>).)*</td> 

注意上面正則表達式的代碼,他對“(?!</td>).”進行“強制非捕獲組”,我在短信中告訴他,可以這樣寫:(?is)<td>((?!</td>).)*</td>
兩天仍未見他回復,于是在回過頭來研究一下他代碼,起初我將重點放在“(?!</td>)”這個括號算不算捕獲組。但是在看一次上面技術文章的代碼我才反應過來。他不是針對(?!</td>)強制為非捕獲組,而是將(?!</td>).強制為非捕獲組,于是我就做了下面的測試:

文本內容

<td>a</td><td>a</td>

正則表達式

<td>((?!</td>).)*</td><td>(/1)*</td>

匹配結果

<td>a</td><td>a</td>

這就證明,如果不對“(?!</td>).”進行強制為非捕獲組,它是會捕獲的,而這個捕獲,我根本不需要它。
下面,我在測試一下,除了(Expression)和(?<name>Expression)語法外,其它的,如環視,它算不算捕獲組。

文本內容

<td>a</td><td>a</td> 

正則表達式

<td>((?!</td>).)*</td><td>(/2.)*</td>

匹配結果:不匹配
如有不同見解,歡迎討論。

 

注:相關教程知識閱讀請移步到正則表達式頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 射阳县| 米易县| 五大连池市| 修文县| 仁怀市| 永修县| 和平区| 湖北省| 全州县| 遂川县| 建昌县| 阳春市| 逊克县| 陇南市| 塔城市| 苏尼特右旗| 特克斯县| 屯昌县| 佛教| 河北省| 邵阳市| 广宁县| 平乐县| 土默特右旗| 保康县| 乐亭县| 南开区| 铁力市| 康定县| 曲周县| 介休市| 平昌县| 家居| 淅川县| 祁阳县| 扎兰屯市| 南汇区| 荣昌县| 四平市| 武宁县| 巫溪县|