JAVA 正則注意點

2021-08-15 22:30:59 字數 1469 閱讀 1092

1.貪婪與非貪婪模

非貪婪模式

:匹配字元越少越好

,修飾匹配次數的特殊符號後再加上乙個

"?"號

a\d+?b:匹配整個表示式後,再進行非貪婪模式

\d+?:直接試非貪婪模式

貪婪模式:預設,\d+:至少匹配一次

非貪婪模式:\d+?:最少匹配次數,即1次

2.方向引用

方向引用(\nnn)

每一對()會分配乙個編號,使用()的捕獲根據左括號的順序從1開始自動編號

通過反向引用,可對分組已捕獲的字串進行引用

([a-z])\1

第乙個分組所捕獲的字串重複一遍

(([a-z])ing)\1:第一組:(([a-z])ing),第二組:([a-z])

匹配標籤的內容

23424

awerwf

使用反向引用來引用捕獲的字串

.+3.預搜尋(零寬斷言)

這個位置應該符合某個條件。判斷當前位置的前後字元,是否符合指定的條件,但不匹配前後的字元。是對位置的匹配。

(?=exp)

斷言自身出現的位置的後面能匹配表示式exp

(?<=exp)

斷言自身出現的位置的前面能匹配表示式exp

(?!exp)

斷言此位置的後面不能匹配表示式exp

(?斷言此位置的前面不能匹配表示式exp

例如:going eatingswing sleeping speaking go

正則:[a-

z]+(?=ing)

可匹配帶

ing的單詞

(?<=_)[a-z]+

可以匹配

_hhuihsfds

4.模式修改符

可以不用

模式修改符

,可以用簡單的方法

,如下可以用後面的代替前面的寫法

模式修改符

:(?i)(?-i)

5.\b

\b:匹配乙個單詞邊界

,而且匹配的不是字元

,而是位置

,可理解為位置的左右

2邊不全匹配

\wboy\b

不匹配boy_,boy12,boyddd

\bboy\b

匹配boy

6.利用正則完成:

7.利用正則的替換,實現去除字串收尾空格的功能。

java包裝類注意點

integer one new integer 100 integer two new integer 100 integer three 100 integer fore 100 integer five 200 integer six 200 one two 兩個integer物件,結果為fal...

java程式應注意點 經驗積累

一.日誌部分 1.log4j日誌info.warn.error應該在各方法中有效的運用,一些錯誤日誌必須打上error日誌,一些重要的方法必須加上info日誌,以便以後定位問題的查詢 2.log4j應該輪循刪除前15天之前的日誌,以防磁碟滿 二.分層 分模組 甚至分工程 乙個專案分多個機器部署不通網...

java之Integer類的注意點。

突然間發現微軟字型的簡體和繁體的更改和eclipse的format的快捷鍵一樣。難受的一批。你上面這幾句話,最後編譯後其實是這樣的。integer i integer.valueof 12338 integer j integer.valueof 12338 你可以看一下jdk原始碼,方法如下。pu...