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