正規表示式

2021-07-23 03:51:58 字數 1427 閱讀 1888

正規表示式:

regular expression

正規表示式:

basic 

regexp

:基本

extended regexp

:擴充套件

基本的正規表示式:

元字元:

.  匹配任意單個字元 :

匹配指定範圍內的任意單個字元

[^]:匹配範圍範圍外的任意單個字元

[:digit:],[:lower:],[:upper:],[:punct:],[:space:],[:alpha:],[:alnum:]

,這只是字元集合

如果是範圍內的任意單個字元[[digit]],好好理解一下

字元個數(貪婪模式:盡可能多的去匹配):

*匹配其前面的字元0-n

任意次

a*b  a

出現任意次後面跟著b

a.*b顯示a

打頭的,

b結尾的字元 .*

任意長度的任意字元 \?

匹配其前面的字元

0次或者

1次,記得轉義\?

a?b有

ab或者

b的行就可以

\ :匹配前面的那個字元至少

m次,至多n次

:至少三次 :

0-3次

位置錨定:

^:錨定行首,此字元後面的字元必須出現在行首 $

:錨定行尾,此字元前面的字元必須出現在行尾 ^$

:空白行

grep '^$' /etc/inittab | wc -l

\《或\b

:其後面的任意字元必須作為單詞首部出現

\>或\b

:其後面的任意字元必須作為單詞尾部出現 \:

必須出現

root

這個單詞

分組:\(\)

整體,後面可以使用字元再次使用後項引用

\(ab\)*

ab整體出現0到

n次\1 :

第乙個左括號以及與之對應的右括號所包含的所有內容

grep '\(l..e\).*\1' test3.txt

擴充套件的正規表示式:不需要反斜槓進行轉義

字元匹配:

.:匹配單個字元

:匹配括號裡面的字元

[^]:匹配括號內以外的字元

次數匹配:

* :任意次

? :0次或者一次

+ :其前至少一次

位置錨定

^:行開頭

$:行結尾

\<:單詞頭部

\>:單詞尾部

分組()\1,

\2,\3

或者a|b

兩者有其一即可

c|cat匹配c

或者cat

grep -e '(c|c)at'

匹配cat

或cat

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

非負整數 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正規表示式 編寫正規表示式

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