不工作這正則表達式:正則表達式,在JS工作在PHP
/^admin$|^[А-Яа-я]{2,20}\s[А-Яа-я]{2,20}\s[А-Яа-я]{2,20}$/
應符合這個字符串:
Пупкин Василий Иванович
它確實匹配的JS(在Firebug控制檯進行測試),並不會在PHP,我不明白爲什麼。
不工作這正則表達式:正則表達式,在JS工作在PHP
/^admin$|^[А-Яа-я]{2,20}\s[А-Яа-я]{2,20}\s[А-Яа-я]{2,20}$/
應符合這個字符串:
Пупкин Василий Иванович
它確實匹配的JS(在Firebug控制檯進行測試),並不會在PHP,我不明白爲什麼。
在JavaScript中,字符串總是UTF-8。然而,在PHP中,它們是一系列字節。爲了允許PHP的正則表達式引擎處理UTF-8字符串,請將u
修飾符添加到正則表達式中。
您還可以通過刪除所有大寫字母範圍並使用i
修飾符來簡化您的正則表達式,但這可能與語言環境有關,因此請務必對其進行測試!
有關修飾符的更多信息,請檢查docs!
通俗地說:在PHP中添加一個「u」到你的正則表達式的末尾。爲unicode *和*不區分大小寫添加'ui'。 – h2ooooooo
是的,這是工作。謝謝! – paperstreet7
您是否逃過反斜槓? – Biffen
嗯,它似乎工作。見[this](http://regex101.com/r/mT0wD0) – Kamehameha
@Biffen,現在我試着用反斜槓逃脫,結果相同。 – paperstreet7