Php 如何在非字母/非破折号上预存拆分()?
我需要拆分既不是Php 如何在非字母/非破折号上预存拆分()?,php,regex,pcre,Php,Regex,Pcre,我需要拆分既不是\p{L}也不是-的字符。我有点困惑\P{L}|[^-]显然不起作用,因为所有内容都将匹配[^-]。我不知道如何将Unicode类放入[]中。向前看/向后看将锁定上一个/下一个字符 换句话说,我需要拆分foo-bar;dásh转换为['foo-bar','dásh']只需同时使用一个: $res = preg_split('/[^\pL-]+/u', $str); 这将在+一个或多个既不是\pL也不是破折号的字符上拆分- 请参阅,两种方法都使用一种: $res = preg_s
\p{L}
也不是-
的字符。我有点困惑<代码>\P{L}|[^-]显然不起作用,因为所有内容都将匹配[^-]
。我不知道如何将Unicode类放入[]
中。向前看/向后看将锁定上一个/下一个字符
换句话说,我需要拆分foo-bar;dásh
转换为['foo-bar','dásh']
只需同时使用一个:
$res = preg_split('/[^\pL-]+/u', $str);
这将在+
一个或多个既不是\pL
也不是破折号的字符上拆分-
请参阅,两种方法都使用一种:
$res = preg_split('/[^\pL-]+/u', $str);
这将在+
一个或多个既不是\pL
也不是破折号的字符上拆分-
请参见,您实际上可以在以下位置进行拆分:
/[^\p{L}-]/u
它将匹配任何非unicode字母和破折号的字符
您可以实际拆分:
/[^\p{L}-]/u
它将匹配任何非unicode字母和破折号的字符
啊!甚至没有提到Unicode这个词,而且那页也没有提到字符类。。。我现在把它转到字符类页面,如果我们愿意,我们可以在Unicode页面上记录。哈!甚至没有提到Unicode这个词,而且那页也没有提到字符类。。。我现在把它转到字符类页面,如果我们愿意,我们可以在Unicode页面上创建文档。