2019-05-27 高級文本處理(二)

1 正則表達(dá)式(Regular Expression)

1.1 概念理解

正則表達(dá)式獨立于特定的語言。用事先定義的特定字符、以及這些特定字符的組合,組成一個“規(guī)則字符串”,用來描述匹配一個字符串的模式。這是一個處理字符串的強(qiáng)大工具。

1.2 作用

  • 測試字符串內(nèi)的模式
  • 識別/替換文本
  • 提取文本

2 java的正則表達(dá)式

java.util.regex包中:

  • Pattern類
  • Matcher類

常用的正則表達(dá)式

正則表達(dá)式 匹配 實例
x 指定字符x Java匹配Java
. 任意單個字符 Java匹配J..a
(ab|cd) ab或cd ten匹配t(en|im)
[abc] a、b或c Java匹配Ja[uvwx]a
[^abc] 除開a、b或c之外的任意字符 Java匹配Ja[^ars]a
[a-z] a到z Java匹配[A-Z]av[a-d]
[^a-z] 除開a到z的任意字符 Java匹配Jav[^b-d]
[a-e[m-p]] a到e或m到p Java匹配[A-G[I-M]av[a-d]
a-e&&[c-p]] a到e和c到p的交集 Java匹配[A-P]&&[I-M]]av[a-d]
下面這個\d還是\\d呢?
\d 個位數(shù),等同于[0-9] Java2匹配"Java[\\d]"
\D 一位非數(shù)字 $Java匹配"[\\D][\\D]ava"
\w 單詞字符 Java1匹配"[\\w]ava[\\w]
\W 非單詞字符 $Java匹配"[\\W][\\w]ava"
\s 空白字符 "Java 2"匹配"Java\\s2"
\S 非空白字符 Java匹配"[\\S]Java"
量詞符
p* 模式p的0或多次出現(xiàn) aaaabb匹配"abb"
ababab匹配"(ab)
"
p+ 模式p的1或多次出現(xiàn) a匹配"a+b"
able匹配"(ab)+.
"
p? 模式p的0或1次出現(xiàn) Java匹配"J?Java"
Java匹配"J?ava"
p{n} 模式p的正好n次出現(xiàn) Java匹配"Ja{1}"
Java不匹配".{2}"
p{n,} 模式p的至少n次出現(xiàn) aaaa匹配"a{1,}"
a不匹配"a{2,}"
p{n,m} 模式p的在n到m次之間的出現(xiàn)次數(shù) aaaa匹配"a{1,9}"
abb不匹配"a{2,9}bb)*"
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容