正则表达式无法允许撇号

时间:2013-06-10 23:55:59

标签: php regex

我遇到了一个我以前用过的正则表达式的奇怪问题。 目标是允许用户输入他的名字,如果需要在php表单中输入字母,连字符和撇号。 我的正则表达是:

 "/^[\w\s'àáâãäåçèéêëìíîïðòóôõöùúûüýÿ-]+$/i"

但......一切都被允许但是撇号。逃避它不会改变。为什么呢?

1 个答案:

答案 0 :(得分:3)

要处理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