2015-09-16 3 views
1

У меня есть ниже шаблон в сценарии PHP, который работает великим:Regex модели, чтобы иностранный язык символы с помощью UTF-8

define("PATTERN", "|^['0-9a-zA-Z\\\/\[\]\(\)\=\>\,\'\~\-\^\@\$\%\*\&\?\:\;\_\.\€\+\|\^\@\%\s" . '"' . "]{0,50}$|"); 

Я пытаюсь разрешить акцентированные символы на других языках, используя опцию \p{L} но любые строки все еще не работают.

define("PATTERN", "|^['0-9\p{L}\\\/\[\]\(\)\=\>\,\'\~\-\^\@\$\%\*\&\?\:\;\_\.\€\+\|\^\@\%\s" . '"' . "]{0,50}$|"); 

Любой онлайн тестер регулярных выражений я использую говорит что-то вдоль линий: были извлечены

Ни один матч группы.

Это означает, что ваш шаблон совпадает, но в нем не было (захвата (группы)), которое соответствовало чему-либо в строке темы.

Интернет Пример: https://regex101.com/r/nV4yC5/1

Есть ли способ, чтобы иностранный язык символов с помощью UTF-8?

+0

Можете ли вы показать код, не соответствующий какой-либо строки? – anubhava

+2

Добавьте флаг 'u' (' | u') в конце. –

+0

@anubhava Извините, строка 'spółka' – llanato

ответ

1

попробовать с этим:

|^['0-9\p{L}\\\/\[\]\(\)\=\>\,\'\~\-\^\@\$\%\*\&\?\:\;\_\.\€\+\|\^\@\%\s" . '"' . "]{0,50}$|u 
Смежные вопросы