国产探花免费观看_亚洲丰满少妇自慰呻吟_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>

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

 

注:相關教程知識閱讀請移步到正則表達式頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武义县| 汤原县| 佛教| 宁武县| 桐乡市| 兴城市| 通城县| 杨浦区| 沧州市| 敖汉旗| 宣城市| 大埔县| 漾濞| 曲靖市| 金沙县| 武定县| 威海市| 萨迦县| 洪泽县| 长海县| 阳东县| 增城市| 宕昌县| 全椒县| 津南区| 略阳县| 库伦旗| 吐鲁番市| 富平县| 聂荣县| 乌什县| 武清区| 汾阳市| 收藏| 资兴市| 湾仔区| 卢氏县| 大竹县| 和顺县| 阿合奇县| 合水县|