Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我之前已经使用过的正则表达式遇到了一个奇怪的问题。目标是允许用户输入他的姓名,如果需要,可以在 php 表单中使用字母、连字符和撇号。我的正则表达式是:
"/^[\w\s'àáâãäåçèéêëìíîïðòóôõöùúûüýÿ-]+$/i"
但是……除了撇号之外,一切都是允许的。逃避它不会改变。为什么?
要处理 unicode 字符,您可以执行以下操作:
/^[\pN\pL\pP\pZ]+$/
在哪里:
\pN stands for any number \pL stands for any letter \pP stands for any punctuation \pZ stands for any space
它匹配如下名称:
d'Alembert d’Alembert (note the different apos from above) Jean-François O'Connors