UTF-8单词的正则表达式

时间:2013-07-03 08:28:14

标签: php regex

我正在创建一个购物车,我有正则表达式的问题。

我想做的是通过允许最终用户使用以下字符来验证产品标题:

单词空格:。 -

我现在的正则表达式是这个

/^[\w \-\.\:]+$/i

但是,当我尝试粘贴一些UTF-8字符(如希腊字母或汉字,俄语等)时,此正则表达式失败。

注意:我已经尝试过希腊字符使用α-ωΑ-Ω以及\ x { - {03FF}而没有运气。此teqnique也不支持其他语言字母

那么,有没有办法在一个正则表达式中匹配所有这些字符?

1 个答案:

答案 0 :(得分:1)

为Posix群组添加\p{L}\p{M}字母并组合变音标记。不应忘记零宽度标记,重音符号,因为é可以写为一个字母,但也可以写为letter-e + combining accent-acute。有些字母对一个字母有不止一个重音。

正如@MeriaonosNikos评论的那样,不要忘记正则表达式/u末尾的Unicode开关。