Как использовать арабские буквы с английскими буквами и цифрами в регулярном выражении

Я использую код ниже, чтобы иметь что-то вроде этого: «محمد 125 hasan». с лимитом от 3 до 25 символов.
но это не работает

(^[ \d\p{Arabic}a-zA-Z0-9 ]{3,25}$)

2

Решение

Легко и просто:

^[\d\p{L}\h]{3,25}$
# match the start (^), digits or any letter
# and horizontal space three to 25 times
# end of the string/line ($)

В PHP это было бы:

$string = 'محمد125 hasan ';
$regex = '~^[\d\p{L}\h]{3,25}$~';
if (preg_match($regex, $string, $match) {
// do sth. useful here
}

Увидеть демо на regex101.com.

2

Другие решения

Просто используйте \ w с u модификатор, который означает Unicode

/^[ \d\p\wa-zA-Z0-9 ]{3,25}$/u

https://regex101.com/r/mC5uT3/1

0

По вопросам рекламы [email protected]