正規表示式是一種文字處理方法。基本正規表示式是最早制訂的正則表達規範;
#! /bin/bash
#表示通過ls 命令列出 /etc 目錄中的檔案,然後將執行結果傳遞給 grep 命令,
#通過 grep 命令篩選出以字元 po 開頭的檔案;
str=`ls /etc | grep "^po"`
echo
"$str"
#! /bin/bash
#列出 /etc 目錄中以 conf 結尾的檔名
str=`ls /etc | grep "conf$"`
echo
"$str"
#! /bin/bash
#列出包含字串 test 以及另外乙個字元的檔名
str=`ls /etc | grep "test."`
echo
"$str"
#! /bin/bash
#篩選以字元 l 開頭,緊跟著 1 個字元 i,任意個字元 n 的檔名
str=`ls /etc | grep "^lin*"`
echo
"$str"
#! /bin/bash
#篩選出以字元 l 開頭,緊跟著 1 個字元 i,接著 1 個字元為小寫字母的文字行
str=`ls /etc | grep "^li[a-z]"`
echo
"$str"
#! /bin/bash
#篩選出以字元 l 開頭,緊跟著 1 個字元 i,接著 1 個字元為不小寫字母的文字行
str=`ls /etc | grep "^li[^a-z]"`
echo
"$str"
擴充套件正規表示式支援基本正規表示式的元字元,但是在它的基礎上進行擴充套件,即除了支援基本正規表示式的元字元外,還會支援其他元字元;
#! /bin/bash
#篩選以字元 l 開頭,緊跟著 1 個字元 i,至少出現 1 個字元 n 的檔名
str=`ls /etc | grep "^lin+"`
echo
"$str"
#! /bin/bash
#篩選以字元 l 開頭,緊跟著 1 個字元 i,最多出現 1 個字元 n 的檔名
str=`ls /etc | grep "^lin?"`
echo
"$str"
#! /bin/bash
#篩選含有字元 lin、linux 或 study 的文字行
str=`ls /etc | grep "(lin|linux|study)"`
echo
"$str"
posix字符集是乙個形如[:…:]的特殊元序列,他可以用於匹配特定的字元範圍;
正規表示式
描述示例
[:alnum:]
匹配任意乙個字母或數字字元
[[:alnum:]]+
[:alpha:]
匹配任意乙個字母字元(包括大小寫字母)
[[:alpha:]]
[:blank:]
空格與製表符(橫向和縱向)
[[:blank:]]*
[:digit:]
匹配任意乙個數字字元
[[:digit:]]?
[:lower:]
匹配小寫字母
[[:lower:]]
[:upper:]
匹配大寫字母
([[:upper:]]+)?
[:punct:]
匹配標點符號
[[:punct:]]
[:space:]
匹配乙個包括換行符、回車等在內的所有空白符
[[:space:]]+
[:graph:]
匹配任何乙個可以看得見的且可以列印的字元
[[:graph:]]
[:xdigit:]
任何乙個十六進製制數(即:0-9,a-f,a-f)
[[:xdigit:]]+
[:cntrl:]
任何乙個控制字元(ascii字符集中的前32個字元)
[[:cntrl:]]
[:print:]
任何乙個可以列印的字元
[[:print:]]
正規表示式 正規表示式 總結
非負整數 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正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...