正規表示式

2021-10-02 03:00:30 字數 1264 閱讀 7311

元字元

正規表示式是一種字元模式

例如

^[0

-9]+$

1、元字元

shell中也叫萬用字元

而正則中是由各種執行匹配模式操作的程式來解析,比如vi grep sed awk python

grep 『abc*』 * 表示前面的字元也就是c出現0次到多次

<[tt]om>代表乙個單詞,前後不能有字母,可以有符號

分為兩類:基本元字元和擴充套件元字元

基本元字元:

^       行首定位符                ^love          這個字元就是要在行首,也可能是列

$ 行尾定位符 love$ 這個字元就是要在行尾

. 匹配單個字元 l..e

* 匹配前導符0到多次 ab*love

.* 任意多個字元 相當於查詢所有 r.*t 就是rt中間不管啥都能匹配上

匹配指定範圍內的乙個字元 [ll]ove

[-] 匹配指定範圍內的乙個字元 [a-z0-9]ove

[^] 匹配不在指定組內的乙個字元 [^a-z0-9]ove 除了a-z0-9,全除去 正則裡區分大小寫

\ 轉義元字元 love\. 轉義放在元字元身上,它們將失去作用,回到原意

\< 詞首定位符 \\> 詞尾定位符 love\>

\(..\) 匹配稍後使用的字元的標籤 :%s/\(172.\)\(16.\)\(130.\)1/\1\2\35/ 後面這\1\2\3代表前面3個括號

x\ 字元x重複出現m次

x\ 字元x重複出現m次以上

x\ 字元x重複出現m到n次

擴充套件元字元 需要用egrep才能使用 * ? + {}都不是給自己活著的,都是給別人活著的

? 匹配0個或1個前導字元

a|b 匹配a或b

() 組字元 (ov)+一起匹配就加() 把裡面的看做整體

(…)(…)\1\2 標籤匹配字元

/^$/ 空行

grep實戰:

grep 『^root』 /etc/passed /etc/shadow 後面可跟多個目錄

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

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

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