1

我对 RegEx 和 WhiteSpaces 有疑问。

我想在标有 (....) 的数组中拆分文本

preg_match_all("/\([a-z0-9\s]+\)/i", $str,$a);

为了抓住空格,我尝试使用 [\040] [\s] 但对我没有任何帮助!

有没有可能说 [ANY Character DIGIT and WHITESPACES and special character] ?

问候

通量

4

2 回答 2

1

你也可以说“任何字符,但不是一个)

用你的例子:

preg_match_all("/\([^\)]+\)/i", $str, $a);

于 2013-01-10T10:51:56.020 回答
0

您可以使用惰性搜索using .*?(与贪婪相比,它将尽快停止匹配,.*它将尽可能匹配)。

正则表达式:\((.*?)\)

在代码中:

preg_match_all("#\((.*?)\)#", $str, $a);
于 2013-01-10T10:54:35.247 回答