正規表示式使用總結

2021-08-21 04:51:15 字數 2287 閱讀 6074

匹配年月日

^([0-9][1-9]|[0-9][1-9][0-9]|[0-9][1-9][0-9]|" + "[1-9][0-9])(((0[13578]|1[02])(0[1-9]|[12][0-9]|3[01]))|" + "((0[469]|11)(0[1-9]|[12][0-9]|30))|(02(0[1-9]|[1][0-9]|2[0-8])))$

匹配中文

[\u4e00-\u9fa5]

匹配雙位元組字元,包括中文

注意:在esline規範中正則不能使用控制字元,改為[^\x20-\xff]

[^\x00-\xff]

匹配<>裡的內容(包括<>)

匹配<>裡的內容(在safari瀏覽器會報錯)

(?<=)

匹配html標籤

]*>.*?|<.>

匹配||||,使用$1替換成||||

匹配0到6的正整數

^[0-6]$

匹配時間(時分),待完善

([下上中]午|晚上|半夜)([01][0-9]|2[01234]|十[一二三四五六七**]|二十[一二三])[::點]([一刻|半]|[0-5][0-9]分|([零一二三四五]十[一二三四五六七**]分)|([一二三四五六七**]分))

匹配出html中的所有內容

\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?

匹配tag的開始

匹配tag的結束

]*>

範圍描述符,表示在它裡面 包含的單個字元不限順序的出現

當需要在中匹配時可以使用\]轉義],而[不需要在字符集內轉義。

()組,主要應用在限制多選結構的範圍/分組/捕獲文字/環視/特殊模式處理。用於標記乙個子表示式的開始和結束位置,提取匹配字串供以後使用,表示式中有幾個()就有幾個相應的匹配字串。要匹配這些字元,請使用\(和\)

缺點:相關的匹配會被快取,可用?:放在第乙個()前來消除這個***

例:(abc|bcd|cde):表示是abc、bcd、cde三者之一,順序也必須一致;

$匹配輸入字串的結尾位置。如果設定了regexp物件的multiline屬性,則$也匹配\n或\r。匹配$字元,使用\$

^匹配輸入字串的開始位置,除非在方括號表示式中使用,此時它表示不接受該字元集合。匹配^字元,使用\^

限定符.

可以匹配除\n和\r之外的任意單個字元,要匹配包括\n和\r在內的任何字元,使用[\s\s]這樣的模式

.在中括號表示式時只會匹配.字元(等價於\.)

?匹配前面的子表示式0次或1次(等價於),或指明乙個非貪婪限定符。要匹配?字元,使用\?

*匹配前面的子表示式0次或多次(等價於)。要匹配*,使用\*

+匹配前面的子表示式1次或多次(等價於)。要匹配+,使用\+

*、+限定符都是貪婪的,因為它們會盡可能多的匹配文字,只有在它們的後面加上乙個?就可以實現非貪婪或最小匹配。

例:字串:

貪婪:/<.>/  ➡️

非貪婪:/<.>/    ➡️

其它://    ➡️

定位符非列印字元

\s匹配空格、換行、tab縮排等所有的空白,而\s剛好相反,這樣一正一反下來,就表示所有的字元。所有的組合都是相應的,有[\w\w]等意義完全相同

\w匹配字母或數字或下劃線或漢字(等價於[a-za-z0-9_])

\b匹配乙個字邊界,即字與空格間的位置

\b非字邊界匹配

非捕獲元之一

前景提要:

(pattern):匹配pattern並獲取這一匹配,所獲取的匹配可以從產生的matches集合得到,在vbscript中使用submatches集合,在jscript中則使用$0...$9屬性。

(?:pattern)

匹配pattern但不獲取匹配結果,也就是說這是乙個非獲取匹配,不進行儲存使用。

在使用或字元|來組合乙個模式的各個部分是很有用。例:

industr(?:y|ies)    是乙個比 industry|industries    更簡略的表示式

(?=pattern)

正向肯定預查(look ahead positive assert),在任何匹配pattern的字串開始處匹配查詢字串。這是乙個非獲取匹配,也就是說該匹配不需要獲取供以後使用。

例:windows(?=95|98|nt|2000)    能匹配windows2000中的    更簡略的表示式

預查不消耗字元,也就是說,在乙個匹配發生後,在最後一次匹配只夠立即開始下一次匹配的搜尋,而不是從包含預查的字元之後開始。

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式使用總結

b 並不匹配這些單詞分隔字元中的任何乙個,它只匹配乙個位置 匹配除了換行符以外的任意字元 前面的內容可以連續重複使用任意次 即0次或多次 前面的內容可以出現0次或1次 匹配任意數量的不包含換行的字元 前面的內容可以連續重複使用1次或多次 即1次或多次 匹配重複任意次,但盡可能少重複的字元 匹配重複1...

正規表示式 使用總結

1 匹配a標籤 2 正則匹配頁面所有a標籤或img標籤 public static arraylist cutstr string sstr,string patrn catch system.exception ex return al matchcollection物件取group的方法很好用。...