導航:首頁 > 編程語言 > java正則反向引用

java正則反向引用

發布時間:2023-06-14 05:31:12

⑴ 正則表達式的後向引用可以解釋一下嗎

比如正則 ab(?=cd)
它只會匹配後面是cd的ab,如果後面不是cd,那些ab就不會匹配。
還有否定的情況,即匹配後面不是什麼的 內容
如 ab(?!cd) 和上面正好相反,它只會匹配後面不是cd的ab,如果後面是cd,這些ab就不匹配。
有些書上也把這種情況叫做 「環視結構」、「順序環視」、「零寬斷言」、「正向斷言」等。
還有判斷前面字元的情況,這叫「逆序環視」、「負向斷言」等
期望這是你要的解釋。還有一種和「引用」有關的是下面的情況
ab(cd)\1
這里的\1就涉及到引用【後面引用前面的】。\1代表前面的第一個括弧中的內容。
這里匹配的就是abcdcd
這里的括弧叫做「捕獲」,可以有多個括弧
\1也叫「反向引用」,如果有兩個括弧,\2可以引用第二個括弧中的內容。
後面的可能是你問的情況。
括弧和\1之間不一定挨著,中間有其他字元也是可以的。

java 正則表達式是什麼

不同情況下的正則表達式:

⑶ java正則表達式,反向匹配

你說的這些詞都是中文後面跟一個/n吧,用下面的正則就好了

([\u4e00-\u9fff]+)/n
這個問題是版java分類的,java就是權這樣寫
import java.util.regex.*;
Pattern p = Pattern.compile("([\\u4e00-\\u9fff]+)/n");

⑷ java正則表達式,捕獲組重命名怎麼搞

1. 捕獲組及其編號:
1) 捕獲組之前講過,就是匹配到的內容,按照()子表達式劃分成若干組;
2) 例如正則表達式:(ab)(cd(ef))就有三個捕獲組,沒出現一對()就是一個捕獲組
3) 捕獲組編號規則:
i. 引擎會對捕獲組進行編號,編號規則是左括弧(從左到右出現的順序,從1開始編號;
ii. 例如:

2. 反向引用:
1) 捕獲組的作用就是為了可以在正則表達式內部或者外部(Java方法)引用它;
2) 如何引用?當然是通過前面講的用捕獲組的編號來引用咯!
3) 正則表達式內部引用:
i. \X:X是一個十進制數,X的范圍必須落在捕獲組編號范圍之內,該表達式就匹配X號捕獲組所匹配到的內容;
ii. 從上面的描述可以看出,\X匹配的內容是必須X號捕獲組匹配成功之後才能確定的!
iii. 例如:([ab])\1,匹配aabbcc的結果是aa和bb,\1的內容必須要讓1號捕獲組捕獲後才能確定,如果1號捕獲的是a那麼\1就是a,1號捕獲到了b那麼\1就是b;
4) 正則表達式外部引用:就是用Matcher對象的start、end、group查詢匹配信息時,使用捕獲組編號對捕獲組引用(int group);

3. 捕獲組命名:
1) 如果捕獲組的數量非常多,那都用數字進行編號並引用將會非常混亂,並且難以記憶每個捕獲組的內容及意義,因此對捕獲組命名顯得尤為重要;
2) Java 7開始提供了對捕獲組命名的語法,並且可以通過捕獲組的名稱對捕獲組反向引用(內外都行);
i. 命名捕獲組的語法格式:(?<自定義名>expr)
ii. 例如:(?<year>\d{4})-(?<date>\d{2}-(?<day>\d{2}))
a. 有三個命名捕獲組year、date和day
b. 從左到右編號分別為1、2、3(編號同樣是有效的)
3) 命名捕獲組的反向引用:
i. 正則表達式內引用:\k<捕獲組名稱>
!例如:(?<year>\d{4})-\k<year>可以匹配1999-1999
ii. 外部引用:Matcher對象的start、end、group的String name參數指定要查詢的捕獲組的名稱;

閱讀全文

與java正則反向引用相關的資料

熱點內容
網路中常用的傳輸介質 瀏覽:518
文件如何使用 瀏覽:322
同步推密碼找回 瀏覽:865
樂高怎麼才能用電腦編程序 瀏覽:65
本機qq文件為什麼找不到 瀏覽:264
安卓qq空間免升級 瀏覽:490
linux如何刪除模塊驅動程序 瀏覽:193
at89c51c程序 瀏覽:329
怎麼創建word大綱文件 瀏覽:622
裊裊朗誦文件生成器 瀏覽:626
1054件文件是多少gb 瀏覽:371
高州禁養區內能養豬多少頭的文件 瀏覽:927
win8ico文件 瀏覽:949
仁和數控怎麼編程 瀏覽:381
項目文件夾圖片 瀏覽:87
怎麼在東芝電視安裝app 瀏覽:954
plc顯示數字怎麼編程 瀏覽:439
如何辨別假網站 瀏覽:711
寬頻用別人的賬號密碼 瀏覽:556
新app如何佔有市場 瀏覽:42

友情鏈接