正規表示式

2022-09-07 00:45:25 字數 1323 閱讀 4083

說一下正規表示式的用法,我們先從簡單的開始。假設你要搜尋乙個包含字元「cat」的字串,搜尋用的正規表示式就是「cat」。如果搜尋對大小寫不敏感,單詞「catalog」、「catherine」、「sophisticated」都可以匹配,那當然有寫特殊用法

1.句點符號

假設你在玩英文拼字遊戲,想要找出三個字母的單詞,而且這些單詞必須以「t」字母開頭,以「n」字母結束。你可以使用乙個萬用字元——句點符號「.」。這樣,完整的表示式就是「t.n」,它匹配「tan」、「ten」、「tin」和「ton」,還匹配「t#n」、「tpn」甚至「t n」,還有其他許多無意義的組合。這是因為句點符號匹配所有字元,包括空格、tab字元甚至換行符

2.方括號符號

句點優點是通用,同時缺點也是通用 為了解決句點符號匹配範圍過於廣泛這一問題,你可以在方括號(「」)裡面指定看來有意義的字元。此時,只有方括號裡面指定的字元才參與匹配。也就是說,正規表示式「t[aeio]n」只匹配「tan」、「ten」、「tin」和「ton」。但「toon」不匹配,因為在方括號之內你只能匹配單個字元 .方括號表示可能出現的單個字元

3.或」符號

句點和方括號只匹配單個字元,如果要匹配多個字元就要看」或」運算子了 如果除了上面匹配的所有單詞之外,你還想要匹配「toon」,那麼,你可以使用「|」操作符。「|」操作符的基本意義就是「或」運算。要匹配「toon」,使用「t(a|e|i|o|oo)n」正規表示式。這裡不能使用方擴號,因為方括號只允許匹配單個字元;這裡必須使用圓括號「()」。

4.1表示匹配次數的符號

遇到單個字元的重複問題,以下是一些特殊符號,顯示了表示匹配次數的符號,這些符號用來確定緊靠該符號左邊的符號出現的次數:

*(0次貨多次) +(1次或多次) ?(0次或多次) 恰好n次       從n次到m次 

5否符號

「^」符號稱為「否」符號。如果用在方括號內,「^」表示不想要匹配的字元。例如[^x] [a-z]+正規表示式匹配所有單詞,但以「x」字母開頭的單詞除外。

6.其他符號

為簡便起見,你可以使用一些為常見正規表示式建立的快捷符號

\d  [0-9]

\d  [^0-9]

\w  [a-z0-9]

\w  [^a-z0-9]

\s   [\t\n\r\f]

\s   [^\t\n\r\f]

總結以下:

句點.表示單個字元

方括號表示可能出現字符集裡的單個字元

括號()可表示多個字元,還有分組功能

大括號{}表示次數

轉義字元「\」

一般正規表示式是由萬用字元和固定字元組成

^」符號稱為「否」符號

\d \d \w \w \s \s等快捷符號

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

非負整數 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...

正規表示式 表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...

Linux正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...