Регулярное выражение на поиск всех букв

Рейтинг: 4Ответов: 1Опубликовано: 31.01.2011

На многоязычном сайте нужно проверять одно поле на корректность введенных данных. Строка должна состоять только из букв. Как регулярным выражением захватить русский, немецкий, французский, английский и испанский?

/^[^\W]+$/i - не работает.

Кодировка UTF-8.

PHP5

Ответы

▲ 5Принят
  1. Нужен модификатор u
  2. /^(?>\pL\pM*)+$/u

  • \pL совпадёт с любой буквой: ц, w, á
  • \pM* совпадёт с любым числом модификаторов — это нужно, поскольку буква á может быть записана как один символ, а может быть записана как два: á.