3 回答

TA貢獻(xiàn)1878條經(jīng)驗 獲得超4個贊
您可以使用以下兩個變體中的任何一個:
/^[A-Z]+$/i
/^[A-Za-z]+$/
匹配ASCII字母的輸入字符串。
[A-Za-z] 將匹配所有字母(小寫和大寫)。
^并$確保除了這些字母外,什么都不會匹配。
碼:
preg_match('/^[A-Z]+$/i', "abcAbc^Xyz", $m);
var_dump($m);
輸出:
array(0) {
}
測試用例用于OP的評論,即只有輸入中存在1個或多個字母時,他才想匹配。如您所見,在測試用例中,匹配失敗,因為^輸入字符串中存在abcAbc^Xyz。
注意:請注意,以上答案僅匹配ASCII字母,不匹配Unicode字符。如果要匹配unicode字母,請使用:
/^\p{L}+$/u

TA貢獻(xiàn)1858條經(jīng)驗 獲得超8個贊
如果您需要包含非ASCII字母字符,并且您的正則表達(dá)式支持Unicode,則
\A\pL+\z
將是正確的正則表達(dá)式。
一些正則表達(dá)式引擎不支持此Unicode語法,但允許\w字母數(shù)字速記也可以匹配非ASCII字符。在這種情況下,可以通過減去以下數(shù)字和下劃線來獲得所有字母\w:
\A[^\W\d_]+\z
\A在字符串的開頭,字符串\z的末尾匹配(^并且$在某些語言(例如Ruby)中,或者在設(shè)置了某些正則表達(dá)式選項的情況下,也匹配在行的開頭/結(jié)尾)。

TA貢獻(xiàn)1873條經(jīng)驗 獲得超9個贊
這將匹配一個或多個字母字符:
/^[a-z]+$/
您可以使用以下命令使其不區(qū)分大小寫:
/^[a-z]+$/i
要么:
/^[a-zA-Z]+$/
- 3 回答
- 0 關(guān)注
- 1307 瀏覽
添加回答
舉報