我在PHP脚本中使用了以下模式:
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 :(得分:1)
试试这个:
|^['0-9\p{L}\\\/\[\]\(\)\=\>\,\'\~\-\^\@\$\%\*\&\?\:\;\_\.\€\+\|\^\@\%\s" . '"' . "]{0,50}$|u