正则表达式不允许撇号


regex unable to allow apostrophe

我遇到了一个以前使用过的正则表达式的奇怪问题。目标是允许用户在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