регулярное выражение для французских символов - PullRequest
9 голосов
/ 17 декабря 2009

Мне нужна функция или регулярное выражение для проверки строк, которые содержат буквенные символы (включая французские), знак минус (-), точку (.) И пробел (исключая все остальное)

Спасибо

Ответы [ 8 ]

18 голосов
/ 17 декабря 2009
/^[a-zàâçéèêëîïôûùüÿñæœ .-]*$/i

Использование /i для учета регистра, чтобы упростить задачу. Если вы не хотите разрешать пустые строки, измените * на +.

5 голосов
/ 17 декабря 2009

Попробуйте:

/^[\p{L}-. ]*$/u

Это говорит:

^         Start of the string
[ ... ]*  Zero or more of the following:
  \p{L}     Unicode letter characters
  -         dashes
  .         periods
            spaces
$         End of the string
/u        Enable Unicode mode in PHP
4 голосов
/ 19 июня 2017

Упрощенное решение:

/^[a-zA-ZÀ-ÿ-. ]*$/

Пояснение:

^ Start of the string [ ... ]* Zero or more of the following: a-z lowercase alphabets A-Z Uppercase alphabets À-ÿ Accepts lowercase and uppercase characters including letters with an umlaut - dashes . periods spaces $ End of the string

1 голос
/ 22 февраля 2019

Класс персонажа, который я использовал, следующий:

[\wÀ-Üà-øoù-ÿŒœ]. Это охватывает немного больший набор символов, чем только французский, но исключает большую часть восточноевропейских и скандинавских диакритических знаков и букв, не относящихся к французскому языку. Я считаю это достойным компромиссом между краткостью и исключительностью.

Для сопоставления / проверки правильности полных предложений я использую это выражение: [\w\s.,!?:;&#%’'"()«»À-Üà-øoù-ÿŒœ], включая знаки пунктуации и кавычки во французском стиле.

1 голос
/ 17 декабря 2009

[\w .-] должно быть достаточно, но вам нужно будет \w рассмотреть локаль и / или перевести ее в режим Unicode, поэтому \w соответствует тому, что Unicode определяет как буквенно-цифровые символы. Как сделать это в PHP, вероятно, просто Google.

0 голосов
/ 16 августа 2014

Эта строка регулярного выражения проходит через весь французский текст Cirano de Bergerac: (вам нужно будет удалить символы языка разметки http://www.gutenberg.org/files/1256/1256-8.txt

^([0-9A-Za-z\u00C0-\u017F\ ,.\;'\-()\s\:\!\?\"])+
0 голосов
/ 17 декабря 2009

/[A-Za-z-\.\s]/u должно работать .. / U переключатель для кодировки UTF-8

0 голосов
/ 17 декабря 2009

Это может подойти:

/^[ a-zA-Z\xBF-\xFF\.-]+$/

Это позволяет добавить несколько дополнительных символов, например, ÷, но обрабатывает довольно много акцентированных символов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...