* 匹配包含前乙個字元任意個數的字串(0個或多個)
如"1133*"將匹配包含113且在113後有若干個3的字串。因此它會匹配113,51133,11345等
如"113*"將匹配包含11且在11後有若干個3的字串,因些它會匹配11,1145,11345 等
. 匹配除了換行符之外的任意乙個字元(1個)。
如"13."匹配包含13且13後有任意乙個字元的情況。因些它會匹配134,13135,等。
但不匹配13。
^ 1。匹配行首字符集 2。否定
是這兩種中的哪種需根據上下文來定。
如^comp匹配行首為comp的字串
如"[^b-d]" 匹配除了從b到d範圍內所有的字元. (這裡的^就表示了否定)
$ 匹配行尾。
"^$"匹配空行
匹配中的任意乙個字元。
如"[xyz]" 匹配字元x, y, 或z.
如"[c-n]" 匹配從字元c到n之間的任意乙個字元.
如"[b-pk-y]" 匹配從b到p 或從k到y的任意乙個字元.
如"[a-z0-9]" 匹配任意小寫字母或數字.
如"[^b-d]" 匹配除了從b到d範圍內所有的字元. (這裡的^就表示了否定)
/ 轉義字元,將緊跟其後的字元表達為字面意思。
/精確匹配乙個單詞,如/將精確匹配love這個單詞
x/匹配n個x字元。
如a/表匹配aaaa.
如[0-9]/表匹配5個數字。
x/同上,但x個數最少是n個
如a/表匹配4個或4個以上的a.
x/同上,但x個數介於n與m這間。
如a/表匹配2個,3個,或4個a.
經常使用的正規表示式舉例
^ 行首
$ 行尾
^the 以the開頭的行
[nn][oo] no,no,no,no
^oneword$ 只有oneword乙個單詞的行
^$ 空行
^.*$ 任意行
^......$ 只有6個字元的行
[^0-9/$] 非數字或$
^/^q 以^q開始的行
[0-9]/-[0-9]/-[0-9]/ 日期格式dd-mm-yyyy
[0-9]//.[0-9]//.[0-9]//.[0-9]/ ip位址
還有一種posix character classes,格式為[:class:]
如:· [:alnum:] matches alphabetic or numeric characters. this is equivalent to a?za?z0?9.
· [:alpha:] matches alphabetic characters. this is equivalent to a?za?z.
· [:blank:] matches a space or a tab.
· [:cntrl:] matches control characters.
· [:digit:] matches (decimal) digits. this is equivalent to 0?9.
· [:graph:] (graphic printable characters). matches characters in the range of ascii 33 ? 126. this
is the same as [:print:], below, but excluding the space character.
·· [:lower:] matches lowercase alphabetic characters. this is equivalent to a?z.
· [:print:] (printable characters). matches characters in the range of ascii 32 -126. this is the
same as [:graph:], above, but adding the space character.
· [:space:] matches whitespace characters (space and horizontal tab).
· [:upper:] matches uppercase alphabetic characters. this is equivalent to a?z.
· [:xdigit:] matches hexadecimal digits. this is equivalent to 0?9a?fa?f.
正規表示式 正規表示式 總結
非負整數 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正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...