Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在非字母/非破折号上预存拆分()?_Php_Regex_Pcre - Fatal编程技术网

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页面上创建文档。