官方文檔如圖:
上圖是官方文檔的介紹,總結(jié)一下講了兩個(gè)知識(shí)點(diǎn):
(學(xué)習(xí)視頻推薦:java視頻教程)
1、是否獲取匹配并保存匹配的值;
2、正向預(yù)查和反向預(yù)查。
一、解釋是否獲取匹配并保存匹配的值
1、()表示捕獲分組,獲取匹配,()把每個(gè)分組里的匹配的值保存起來;
2、(?:)表示非捕獲分組,獲取匹配,非捕獲分組匹配的值不會(huì)保存起來,可以提高程序執(zhí)行速度;
3、(?=?!?
舉例說明:
// 是否獲取匹配測(cè)試文本 abxoxcd ..(xox).. 匹配 abxoxcd ..(?:xox).. 匹配 abxoxcd ..(?=xox).. 匹配 abxo 獲取匹配,一般匹配到了字符之后,該字符就被消耗、輸出。不獲取匹配,不會(huì)消耗字符。 // 是否保存匹配的值測(cè)試文本 AAABBCaaA E666FF (A)\\1* 匹配 AAA、A (\\w)\\1+ 匹配 AAA、BB、aa、666、FF (?:A)(B)\\1* 匹配 ABB
因?yàn)榉遣东@分組不保存匹配的值,所以 (?:A)(B)\\1* 匹配 ABB 第一個(gè)\\1表示(B)這個(gè)捕獲組捕獲到的值。
“注意:反向引用表示捕獲到的值,而不是再次使用正則表達(dá)式”
二、解釋正向預(yù)查和反向預(yù)查
// 前瞻: exp1(?=exp2) 查找exp2前面的exp1 // 后顧: (?<=exp2)exp1 查找exp2后面的exp1 // 負(fù)前瞻: exp1(?!exp2) 查找后面不是exp2的exp1 // 負(fù)后顧: (?<!exp2)exp1 查找前面不是exp2的exp1
舉例說明:
// 正向預(yù)查和反向預(yù)查 測(cè)試文本 abxoxcd ..(?=xox) 匹配 ab ..(?=oxo) 匹配不到 (?=xox).. 匹配xo (?<=xox).. 匹配 cd
預(yù)查只需要記?。?/p>
1、環(huán)顧全局定位到非捕獲組;
2、不獲取匹配(不消耗字符),不保存匹配的值(不能使用反向引用)。
相關(guān)文章教程推薦:java快速入門
? ??? Java ?? ??? ?? ???:,?=,?!? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

JDBC ????? ???? ????? ?? ?? ?? ??? ?? ?? ??? ?? ? ?? ??? ?? ?? ?? ??? ???????. 1. ????? ????? Conn.SetAutoCommit (False)?? ??????. 2. ??? ? ????? ?? ?? SQL ??? ?????. 3. ?? ??? ??? ?? Conn.commit ()?? ???? ??? ???? ???? ?? ??? ???? Conn.Rollback ()?? ??????. ???, ? ??? ???? ????, ??? ???? ????, ?? ??? ??? ?? ??? ??? ???? ? ???????. ?? ?? ?? ???? ????? ??? ???? ?? ?? ???? ???? ??? ????? ?? ??? ??? ? ?? ???? ?? ????.

Pre-FormancetArtUptimeMoryUsage, Quarkusandmicronautleadduetocompile-timeprocessingandgraalvsupport, withquarkusoftenperforminglightbetterine serverless sinarios.2.thyvelopecosyste,

GO? HTTP ?? ????? ?? ??, ??, ????? IP ? ?? ??? ?? ? ? ????. 1. http.handlerfunc? ???? ????? ????, 2. ??? ???? ?? ?? ??? ?? ??? ??????. ?? ?? ??? ???? ??? ?????? ??? ????? ???? ? ?????. ?? ???? ?? ?? ??, JSON ?? ?? ? ?? ID ??? ?????.

Java 's Garbage Collection (GC)? ???? ???? ???? ??????, ?? ? ??? ??? ? ??? ??? ??? ??? ????. 1.GC? ?? ?? (? : ?? ??, ?? ???, ?? ?? ?)?? ??? ???? ????, ?? ? ??? ??? ???? ?????. 2. ?? ???? ????? ????, ?? ?? ??? ??? ???? ?? ??? ??????. 3. ?? ?? ?? ?? : ??? ?? (Eden, S0, S1)? ?? ????? ?????. ??? ??? ?? ? MajorGC? ???? ? ??? ? ????. Metaspace? ??? ?? ???? ?????. 4. JVM? ??? GC ??? ?????. SerialGC? ??? ?? ????? ?????. ParallelGC? ???? ??????. CMS? ?? ???

GradleisBetTerChoiceFormostNewProjectSduetoitssuperiorflexible, Performance, and ModernToolingsupport.1.Gradle'Sgroovy/kotlindslismoreConcisENDEXPRESSIVETHANMAVEN'SVOSEXML.2.GradleOutsMaveninbuildweedweedweedweedweedweedweedweedweedweedweedweedweedweede

??? htmlinput ??? ???? ??? ???? ????? ??? ??? ?? ??? ???? ???? ? ????. 1. ???, ???, ??, ?? ? ??? ?? ??? ??? ?? ?? ?? ??? ???? ???? ??? ? ???? ??? ? ????. 2. HTML5? ?????? ??? ? ?? ?? ??? ?? ? ??? URL, ??, ?? ? ??? ?? ??? ??? ??????. 3. ?? ?? ? ? ??? ??? ???? ?? ??? ???? ???? ?? ???? ?? ???? ???? ?? ? ? ??? ?? ???????.

OpenCSV ????? ??? CSV ??? ?? ? ?? ??? ?????. ??? ??? ?? ? ? ??? ?? ??? ?????. 2. ??? CSV ??? ?? SPRING ???? ?? ? Java? ?? ??? ??? ??? ? ????. 3. ? ??? ?? ??? ????? Apache ?? ??? ??? ?? Apache Commonscsv? ??? ? ????. OpenCSV? ?? ?????? CSV ??? ???? ???, ??? ? ??? ?????.

? ??? ?? ??? ??? ??? ?? ??? ?????? ???? ??? ??? ???? ?? ???? ????. 1. Java? ?? ???? ???? ????? ??? ???? ?? ?????? ???? ?????. 2. ?? ?? ??? ?? ??? ?????? ???? ???, ??? ??? ??? ???? ??? ?? ? ? ?? ????? ????. 3. ??? ???? ?? ???? ????? ?? Lambda ??? ?? ??? ? ????. 4. GUI ?? Javabean ????? ?? PropertyChangelistener? ??? ? ????. ??? ??? ????? ??-??, ????? ?? ?? Java? ??? ?? ??? ????? ??? ???????.
