请帮我提供模式。我的字符串带有逗号,例如:
-Xmx___m
我需要将其用逗号分隔并得到:
12v some, Item, which contains comma, Another item
逗号不分割str后小写字母怎么用规则?
我正在使用[\ s,] [] [A-Z0-9] +,但会修剪一些文本
答案 0 :(得分:2)
您可以使用基于前瞻性的解决方案,例如
preg_split('~\s*,(?!\s*\p{Ll})\s*~', $s)
请参见regex demo
详细信息
\s*
-超过0个空格,
-逗号(?!\s*\p{Ll})
-如果在当前位置的右侧紧邻有0+个空格(\s*
)后跟Unicode小写字母({{1} })\p{Ll}
-超过0个空格。\s*
输出:
$s = "12v some, Item, which contains comma, Another item";
$res = preg_split('~\s*,(?!\s*\p{Ll})\s*~', $s);
print_r($res);