正則表達式中的原字符
文件number
1
5
10
50
100
500
1000
5000
12 34 #一個空格
12 34 #兩個空格
12 34 #三個空格
1. *: 匹配它前面字符的零個或多個出現, 如,
grep "[15]0*" number
=>
1
5
10
50
100
500
1000
5000
grep "[15]00*" number
=>
10
50
100
500
1000
5000
grep " *" number #兩個空格*來匹配“一個或多個空格”
=>
12 34
12 34
12 34
再例:
I can do it
I can not do it
I cannot do it
I can't do it
I cant do it
grep "can[ no']*t" cando
=>
I can not do it
I cannot do it
I can't do it
I cant do it
2. . : 匹配任何單個字符
I can do
I can not do it
I cannot do it
I can't do it
I cant do it
grep "can.*t" cando #匹配can與t之間至少一個字符的行
=>
I can not do it
I cannot do it
I can't do it
I cant do it
3. + : 匹配前面字符的一次或者多次出現
空格空格* == 空格+, 但注意的是在grep中,如果使用+爲正則表達式,要加/
grep " /+" number
=>
12 34
12 34
12 34
4. ? : 匹配零次或者一次出現, 不過在grep中使用,也要加 /
grep "10 /?" number #相當於 grep "10 *" number
=>
10
100
1000
5. .* : 將字符. 和 * 連接起來使用,可以匹配任意字符的零次或者多次出現
例:
book
booky
booklish
bookworm
grep "book.*" bookword
=>
book
booky
booklish
bookworm