java正規表示式

2021-07-24 23:25:57 字數 721 閱讀 8352

提到正則我們都不陌生,今天參加乙個考試,裡面提到讓提取到乙個規定長字串中重複的(不相鄰)單詞,重複的數字。拿到題的第一反應就是正則。可在動手發現我們常用的是 查詢匹配 分解 替換。可對於重複不相鄰等問題確實心有餘而力不足。於是乎當時一臉懵逼。。。。。。

在這裡我們跳過正則的一些常用基礎知識。重點說一下 分組  後向引用 零寬斷言 

分組:在正規表示式裡我們我們可以使用小括號來對去分組例如(\d\.)\d這是乙個簡單的ip位址匹配格式

後向引用:在判斷是否重複時我們可以使用反向引用。那麼什麼是後向引用呢?就是用於重複搜尋前面某個分組匹配的文字,這裡就用到了分組,在分好組後。系統會預設的為每個組分配好編號從左往右一次為1,2,3(注意0代表整個字串)。我們可以通過\n(n代表數字)的這種寫法來匹配前後都出現的字串。如(pdd)\\1我們可以匹配到pddpdd這樣的字元

零寬斷言「

我們說倆個常用的

(?=exp)也叫零寬度正**先行斷言,它斷言自身出現的位置的後面能匹配表示式exp。比如\b\w+(?=ing\b),匹配以ing結尾的單詞的前面部分(除了ing以外的部分),如查詢i'm singing while you're dancing.時,它會匹配sing和danc。

(?<=exp)也叫零寬度正回顧後發斷言,它斷言自身出現的位置的前面能匹配表示式exp。比如(?<=\bre)\w+\b會匹配以re開頭的單詞的後半部分(除了re以外的部分),例如在查詢reading a book時,它匹配ading

Java正規表示式

正規表示式結構簡介 字元 x 字元 x 反斜槓 0n 十進位制數 0 n 7 0nn 十進位制數 0nn 0 n 7 0mnn 十進位制數 0mnn 0 m 3,0 n 7 xhh 十六進製制數 0xhh uhhhh 十六進製制數 0xhhhh t 製表符 u0009 n 換行符 u000a r 回...

Java正規表示式

方便查詢的東西 基本語法 轉義字元 in d d d 數字0 9 多少到多少 d 非數字 0 9 非 w 單詞字元 a za z0 9 a3 w 非單詞字元 w s 空白 如 n t 0 1次 1 n次 0 n次 必須是n次 大於等於n次 n demo 中文 u0391 uffe5 英文 a za ...

Java正規表示式

舉例說明 the 開頭一定要有 the 字串 of despair 結尾一定要有 of despair 的字串 那麼,abc 就是要求以abc開頭和以abc結尾的字串,實際上是只有abc匹配。notice 匹配包含notice的字串。你可以看見如果你沒有用我們提到的兩個字元 最後乙個例子 就是說 模...