4 4學習筆記 REGEXP1 正規表示式

2021-09-20 16:51:32 字數 1372 閱讀 9130

文字查詢的需要:

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...