Regex: отдельные теги принимают арабский или английский

1

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

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

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

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

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

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

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

/^[\w\s,]+$/ (working on english only )
/^[\w\s\p{Arabic}(,|،)]+$/ ( not working )
  • 0
    Попробуйте добавить флаг u для обработки строк utf8.
Теги:
yii
arabic

1 ответ

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
    идеальное спасибо и / мю требуется почему?
  • 1
    @ Abudayah u для юникода, а m для multiline .

Ещё вопросы

Сообщество Overcoder
Наверх
Меню