正则表达式:分隔标签接受阿拉伯语或英语

时间:2015-11-16 09:47:09

标签: php regex yii arabic

你好我正在使用Yii匹配验证,我需要输入标签,用逗号分隔英文和阿拉伯字母:

应该接受英语或阿拉伯语:

tag1, tag2, tag3, وسم4, tag4

或只是阿拉伯语:

وسم1، وسم2، وسم3

请注意我需要使用英文逗号,和阿拉伯语،

这是我尝试使用的正则表达式..但它不起作用:

/^[\w\s,]+$/ (working on english only )
/^[\w\s\p{Arabic}(,|،)]+$/ ( not working )

1 个答案:

答案 0 :(得分:2)

^[\w\s]+(?:(?:,|،)[\w\s]+)*$

你可以使用它。参见演示。

https://regex101.com/r/hE4jH0/5

$re = "/^[\\w\\s]+(?:(?:,|،)[\\w\\s]+)*$/mu"; 
$str = "tag1, tag2, tag3, وسم4, tag4\nوسم1، وسم2، وسم3"; 

preg_match_all($re, $str, $matches);