正規表示式

2022-08-22 11:54:13 字數 2829 閱讀 1005

正規表示式是一種基礎的模式匹配技術。大多數文字處理工具都支援正規表示式。借助適合的正規表示式,我們可以對文字檔案執行過濾、剝離(strip)、替換、搜尋等操作。 

1、查詢abc開頭的行

[root@linux test_shell]# grep "^abc" << end

> abc123

> 123abc

> end

abc123

2、查詢abc結尾的行

[root@linux test_shell]# grep "abc$" << end

> abc123

> 123abc

> end

123abc

1、查詢包含abc的行

[root@linux test_shell]# grep "abc" << end

> abc123

> 123abc

> end

abc123

123abc

2、匹配任意乙個字元

[root@linux test_shell]# grep "abc." << end

> abc

> abc1

> abc22

> end

abc1

abc22

3、匹配 [ ] 內的任意乙個字元

[root@linux test_shell]# grep

"abc[0-9]

"<>aaa

>abcd

>abc333

>end

abc333

4、匹配不在 [ ] 內的任意乙個字元

[root@linux test_shell]# grep

"abc[^0-9]

"<>abc3

>abcd

> abc%

>end

abcd

abc%

1、?匹配之前的項1次或0次。注意:? 要用轉義字元轉義

[root@linux test_shell]# grep

"ab\?c

"<>ac

>abc

>abbc

>end

acabc

2、+匹配之前的項1次或多次。注意:+ 要用轉義字元轉義

[root@linux test_shell]# grep

"ab\+c

"<>ac

>abc

>abbc

>end

abcabbc

3、*匹配之前的項0次或多次

[root@linux test_shell]# grep

"ab*c

"<>ac

>abc

>abbc

>end

acabc

abbc

4、匹配之前的項n次。注意: 要用轉義字元轉義

[root@linux test_shell]# grep

"ab\c

"<>ac

>abc

>abbbc

>end

abbbc

5、之前的項至少需要匹配n次

[root@linux test_shell]# grep

"ab\c

"<>abc

>abbc

>abbbc

>end

abbc

abbbc

6、之前的項所必須匹配的 最小次數 - 最大次數

驗證工號

[root@linux test_shell]# grep -w

"^a[0-9]\

"<>a123

>a1234

>a123456

>a12345678

>end

a1234

a123456

備註:grep -w ---> 精準匹配

驗證qq郵箱

[root@linux test_shell]# grep -w "

^[1-9][0-9]\@qq\.com

"<> 1234

@qq.com

> 12345678

@qq.com

> 123456789123456

@qq.com

> 12345678

@qq.cn

> 12345678

@oo.com

> end

[email protected]

1、()將括號中的內容視為乙個整體。注意:() 要用轉義字元轉義

[root@linux test_shell]# grep

"abc\(123\)\+

"<>abc

>abc123

>abc123123

>end

abc123

abc123123

2、|指定了一種選擇結構,可以匹配 | 兩邊的任意一項。注意:| 要用轉義字元轉義

[root@linux test_shell]# grep

"a\(b\|c\)

"<>ab

>ac

>abc

>end

abac

abc

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

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

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