「^ [a-z] + $」vs「[^ a-z] + $」之間的區別是什麼?正則表達式克拉位置差
「^ [A-Z] + $」=這一個是什麼,用字母
「[^ A-Z] + $」 開頭=這一個是什麼,但信
誰能證實?如果我錯了,能有人給我「任何以字母開頭」和「什麼,但字母」正則表達式
編輯:
如何有關,如果我看到的組合正則表達式字母和數字,這是無效的。
[^一個-Z0-9] + $
或是
它[^ AZ] + [^ 0-9] + $
由於
「^ [a-z] + $」vs「[^ a-z] + $」之間的區別是什麼?正則表達式克拉位置差
「^ [A-Z] + $」=這一個是什麼,用字母
「[^ A-Z] + $」 開頭=這一個是什麼,但信
誰能證實?如果我錯了,能有人給我「任何以字母開頭」和「什麼,但字母」正則表達式
編輯:
如何有關,如果我看到的組合正則表達式字母和數字,這是無效的。
[^一個-Z0-9] + $
或是
它[^ AZ] + [^ 0-9] + $
由於
方括號在正則表達式中指定一個字符類 - 它匹配括號中的所有字符。
在字符類外,^
匹配字符串的開始或行的開始(取決於是否使用m
修飾符)。所以正則表達式^[a-z]+$
與完全是字母的行匹配。如果您刪除$
(與字符串/行的末尾匹配),您將得到一個匹配任何以字母開頭的正則表達式;在這種情況下,你也不需要+
量詞(任何以1或更多字母開頭的東西也以1個字母開頭)。
在字符類的開始處,^
反轉該類。與括號中的所有字符不匹配,它會匹配括號中的所有而不是的字符。所以[^a-z]+$
匹配以非字母結尾的任何內容,因爲$
匹配字符串/行的結尾。如上所述,您不需要+
,因爲任何以一個或多個非字母結尾的內容都以一個非字母結尾。匹配時一切是一個正則表達式一個非字母是:
^[^a-z]+$
匹配時,有該行的任何非字母將是一個正則表達式:
[^a-z]
即沒有^
或$
主播。
@MladenUzelac鏈接不起作用,你的意思是這一個http://www.regexr.com/。 – 2014-11-14 20:23:23
http://www.regexper.com/這是完全正確的鏈接 – 2014-11-14 20:59:34
「^ [A-ZA-Z] + $」=這一個是什麼,用字母開頭
「[^ A-ZA-Z] + $」=這一個是什麼,但信
如果你想包括上限和字母用於可視化正則表達式
是的,正確的:)「小寫字母」 – 2014-11-14 20:19:14
不要忘了「$」錨定終點。第一個不只是從小寫字母開始,它只是從頭到尾的小寫字母。第二個可以以任何字母開頭,但不能以字母開頭,但必須以至少一個非小寫字母結尾。 – jas 2014-11-14 20:26:29