求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

元字符檢視原始碼討論檢視歷史

事實揭露 揭密真相
前往: 導覽搜尋
  元字符

正則表達式語言由兩種基本字符類型組成:原義(正常)文本字符和元字符。元字符使正則表達式具有處理能力。所謂元字符就是指那些在正則表達式中具有特殊意義的專用字符,可以用來規定其前導字符(即位於元字符前面的字符)在目標對象中的出現模式。

簡介

元字符是一個或一組代替一個或多個字符的字符。聽起來有點拗口,但舉一個例子也許你就明白了:元字符*用來匹配0個或多個的前一字符;而元字符.用來匹配一個任意的一個字符(除換行符外)。較為常用的元字符包括: 「+」, 「*」,以及 「?」。其中,「+」元字符規定其前導字符必須在目標對象中連續出現一次或多次,「*」元字符規定其前導字符必須在目標對象中出現零次或連續多次,而「?」元字符規定其前導對象必須在目標對象中連續出現零次或一次。下面,就讓我們來看一下正則表達式元字符的具體應用。/fo+/因為上述正則表達式中包含「+」元字符,表示可以與目標對象中的 「fo」, 「foo」, 或者 「fooo」 等在字母f後面連續出現一個或多個字母o的字符串相匹配。/eg*/因為上述正則表達式中包含「*」元字符,表示可以與目標對象中的 「e」, 「eg」 或者 「egg」 等在字母e後面連續出現零個或多個字母g的字符串相匹配。/Wi?/因為上述正則表達式中包含「?」元字符,表示可以與目標對象中的 「W」, 或者 「Wi」,等在字母i後面連續出現零個或一個字母 i 的字符串相匹配。除了元字符之外,用戶還可以精確指定模式在匹配對象中出現的頻率。例如,/jim{2,6}y/上述正則表達式規定字符m可以在匹配對象中連續出現2-6次,因此,上述正則表達式可以同jimmy或jimmmmmy等字符串相匹配。

評價

\ba\w*\b匹配以字母a開頭的單詞——先是某個單詞開始處(\b),然後是字母a,然後是任意數量的字母或數字(\w*),最後是單詞結束處(\b)。好吧,我們說說正則表達式里的單詞是什麼意思吧:就是不少於一個的連續的\w。不錯,這與學習英文時要背的成千上萬個同名的東西的確關係不大 :)\d+匹配1個或更多連續的數字。這裡的+是和*類似的元字符,不同的是*匹配重複任意次(可能是0次),而+則匹配重複1次或更多次。\b\w{6}\b 匹配剛好6個字符的單詞。元字符^(和數字6在同一個鍵位上的符號)和$都匹配一個位置,這和\b有點類似。^匹配你要用來查找的字符串的開頭,$匹配結尾。這兩個代碼在驗證輸入的內容時非常有用,比如一個網站如果要求你填寫的QQ號必須為5位到12位數字時,可以使用:^\d{5,12}$。這裡的{5,12}和前面介紹過的{2}是類似的,只不過{2}匹配只能不多不少重複2次,{5,12}則是重複的次數不能少於5次,不能多於12次,否則都不匹配。因為使用了^和$,所以輸入的整個字符串都要用來和\d{5,12}來匹配,也就是說整個輸入必須是5到12個數字,因此如果輸入的QQ號能匹配這個正則表達式的話,那就符合要求了。和忽略大小寫的選項類似,有些正則表達式處理工具還有一個處理多行的選項。如果選中了這個選項,^和$的意義就變成了匹配行的開始處和結束處。[1]

參考文獻

  1. 元字符搜狗