【拔刀吧少年】之正则表达式
序言
正則表達(dá)式
通常用于判斷語句中,用于檢查某一字符串是否滿足某一格式
正則表達(dá)式是由普通字符與元字符組成
普通字符包括大小寫字母、數(shù)字、標(biāo)點(diǎn)符號及一些其他符號
元字符是指在正則表達(dá)式中具有特殊意義的專用字符,可以用來規(guī)定其前導(dǎo)字符(即位于元字符前面的字符)在目標(biāo)對象中的出現(xiàn)模式
正則
- 序言
- 1、基礎(chǔ)正則表達(dá)式(BRE)常見元字符(支持工具:egrep、awk、grep、sed)
- 2、擴(kuò)展正則表達(dá)式(ERE)元字符(支持工具:egrep、awk)
- 3、示例
1、基礎(chǔ)正則表達(dá)式(BRE)常見元字符(支持工具:egrep、awk、grep、sed)
元字符 說明
\ 轉(zhuǎn)義字符,用于取消特殊符號的含義,例: !、\n、$等
^ 匹配字符串開始的位置,例: ^a、 ^the、 #、[a-z]
$ 匹配字符串結(jié)束的位置,例: wordKaTeX parse error: Expected group after ‘^’ at position 3: 、 ^?匹配空行
. 匹配除\n之外的任意的一個(gè)字符,例: go.d、 g…d
- 匹配前面子表達(dá)式0次或者多次,例: goo*d、 go.*d
[list] 匹配list列表中的一個(gè)字符,例: go[ola]d, [abc]、 [a-z]、 [a-z0-9]、 [0-9]匹配任意一位數(shù)字
[^list] 匹配任意非list列表中的一個(gè)字符,例: [^0-9]、 [^A-Z0-9]、 [^a-z]匹配任意一位非小寫字母
{n} 匹配前面的子表達(dá)式n次,例: go{2}d、 '[0-9]{2} '匹配兩位數(shù)字
{n,} 匹配前而的子表達(dá)式不少于n次,例: go{2, }d、’[0-9]{2, }'匹配兩位及兩位以上數(shù)字
{n,m} 匹配前面的子表達(dá)式n到m次,例: go{2,3}d、 ’ [0-9]{2,3}'匹配兩位到三位數(shù)字
注:egrep、 awk使用{n}、{n,}、{n, m}匹配時(shí)“{}”前不用加“\”
2、擴(kuò)展正則表達(dá)式(ERE)元字符(支持工具:egrep、awk)
元字符 說明
+匹配前面子表達(dá)式1次以上,例: go+d, 將匹配至少一個(gè)o, 如god、 good、 goood等
? 匹配前面子表達(dá)式0次或者1次,例: go?d, 將匹配gd或god
() 將括號中的字符串作為h一個(gè)整體,例1: g(oo)+d," 將匹配oo整體1次以上,如good、gooood等
| 以或的方式匹配字條串,例: g (oo|la)d," 將匹配good或者glad
3、示例
①、首先顯示文件中以025和(025)開頭的手機(jī)號碼,然后顯示區(qū)域座機(jī)號碼
②、顯示郵件,用戶名要求字母開頭,顯示zhangsan,lisi
總結(jié)
以上是生活随笔為你收集整理的【拔刀吧少年】之正则表达式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【拔刀吧少年】之shell数组
- 下一篇: 【拔刀吧少年】之sed编辑器