You could use Unicode character properties to describe the characters:
/^[\p{L}-]*$/u
\p{L}
describes the class of Unicode letter characters.
More Related Contents:
- Matching Unicode letter characters in PCRE/PHP
- PHP regular expressions: No ending delimiter ‘^’ found in
- php regex to match outside of html tags
- “vertical” regex matching in an ASCII “image”
- Match a^n b^n c^n (e.g. “aaabbbccc”) using regular expressions (PCRE)
- PHP Regex: How to match \r and \n without using [\r\n]?
- Extra backslash needed in PHP regexp pattern
- What literal characters should be escaped in a regex?
- Tilde operator in Regular expressions
- RegEx BackReference to Match Different Values
- php regex word boundary matching in utf-8
- How to extract img src, title and alt from html using php? [duplicate]
- Remove multiple whitespaces
- Variable-length lookbehind-assertion alternatives for regular expressions
- PHP Regular expression to match keyword outside HTML tag
- How to check if string is a valid XML element name?
- Multibyte trim in PHP?
- Php – regular expression to check if the string has chinese chars
- How long can a TLD possibly be?
- Extracting all values between curly braces regex php
- PHP regex delimiter, what’s the point?
- Function to return only alpha-numeric characters from string?
- PHP using preg_replace : “Delimiter must not be alphanumeric or backslash” error
- Get repeated matches with preg_match_all()
- PHP – Add link to a URL in a string
- Regex to strip comments and multi-line comments and empty lines
- Issue with Laravel Rules & Regex (OR) operator
- UTF-8 in PHP regular expressions [duplicate]
- Get non-numeric characters then number on each line of a block of texf
- Validate date format in php