2015-11-16 2 views
1

Здравствуйте, я использую проверки соответствия Yii и мне нужен ввод метки принимать английский и арабские буквы разделены запятыми:Regex: Раздельная теги принять арабский или английский

должны принимать на английском или арабском языке:

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

или просто арабский:

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

и обратите внимание, что мне нужно запятая на английском и арабском языках ,، рабочий

и вот мое регулярное выражение я пытался использовать .. но это не работает:

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

Попытка добавить 'u' флаг для обработки utf8 строк. –

ответ

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

Вы можете использовать this.See демо.

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); 
+0

безукоризненное спасибо и/mu требуется почему? – Abudayah

+1

@Abudayah 'u' для юникода, а' m' для 'multiline'. – vks

Смежные вопросы