文字查詢的需要:
grep egrep fgrep
grep: 根據模式,搜尋文字,並將符合模式的文字行顯示出來
pattern(模式):文字字元和正規表示式的元字元組合而成的匹配條件
grep [option] pattern [file...]
grep 'root' /etc/passwd
-i 忽略字元大小寫
--color 加顏色
-v 反向查詢(顯示沒有被模式匹配的行)
-o 只顯示被模式匹配到的字串
* 任意長度的任意字元
? 任意單個字元
:指定範圍內
[^]:指定範圍外
正規表示式:regular expression,regexp
元字元:
. 匹配任意單個字元
:匹配指定範圍內的任意單個字元
[^]:匹配指定範圍外的任意單個字元
[:digit:] [:lower:]
[:punct:]標點符號 ---字元集合
[:upper:] [:space:] [:alpha:] [:alnum:]
字元次數(貪婪模式):
* :匹配其前面的字元任意次數
a b ab aab acb adb amnb
a*b a出現任意次跟乙個b
a.*b ab中間任意字元
.* :任意長度的任意字元
grep 'a\?b' test.txt
\? :匹配其前面的字元1次或0次
\:匹配其前面的字元至少m次,至多n次\\
grep 'a.\' test.txt
位置錨定:
^:錨定行首,此字元後面的任意內容必須出現在行首
$:錨定行尾,此字元後面的任意內容必須出現在行尾
grep '^r..t' test.txt
^$:空白行
grep '[[:digit:]]$' /etc/inittab
\《或者\b:其後面的任意字元必須作為單詞首部出現 錨定詞首
\>或者\b:其前面的任意字元必須作為單詞的尾部出現 錨定詞尾
\grep 'root\>' test.txt 以root作為詞尾
grep '\
分組:\(\)
\(ab\)* *修飾的乙個ab乙個整體
後向引用
\1:第乙個左括號以及與之對應的右括號所包括的所有內容
\2:\3:
he love his lover
she like her liker.
he like his lover
grep '\(l..e\).*\1' test3.txt
grep '\([0-9]\).*\1$' /etc/inittab
巢狀括號時RegExp 1的指向問題
找tofixed 四捨五入不正確的解決方法時看見有大神重寫了,其中有正則匹配如下 if new regexp d d d test s 有點好奇是什麼意思就研究了一番 regexp.1代表第乙個匹配項 即正負號。regexp.2代表第二個匹配項 d d 注意其中還包含了乙個括號,n表示要保留的小數字...
RegExp正規表示式 1 初學
基本語法 var expression pattern flags 每個正規表示式可帶0個及以上標誌 flags 標誌分為三個 g,i,m g global 遍歷全部字串,在遇到匹配項時不停止 i case insensitive 忽略模式與字串的大小寫 m multiline 表示多行模式 不清楚...
JS學習筆記 正規表示式及RegExp物件
一 正規表示式 所謂的正規表示式就是定義字串的組成規則。1.正規表示式修飾符 修飾符可用於大小寫不敏感的更全域性的搜素 修飾符描述 i執行對大小寫不敏感的匹配。g執行全域性匹配 查詢所有匹配而非在找到第乙個匹配後停止 m執行多行匹配。2.正規表示式模式 括號用於查詢一定範圍的字串 表示式描述 abc...