正規表示式是一種基礎的模式匹配技術。大多數文字處理工具都支援正規表示式。借助適合的正規表示式,我們可以對文字檔案執行過濾、剝離(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
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正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...