我应该使用哪个正则表达式?

时间:2011-07-29 10:51:01

标签: php regex split

如果这是我的字符串:“blablabla(blablabla)”。 我应该使用哪个正则表达式来分割字符串,以便返回:

  1. “blablabla”
  2. “(blablabla)”
  3. 顺便说一句,我想使用函数mb_split。

    修改 该字符串也可以是“blablabla blablabla blablabla(blablabla)”。 由于这个原因,explode()不起作用。

    编辑,这就是我现在使用的:

    例如,$ name =“blabla blabla blabla blabla(blabla)”;

    $name = explode(' ', $name);
    $last = array_pop($name);
    $sentence = null; 
    foreach ($name as $names) {
    $sentence .= $names.' ';
    }
    $sentence = mb_substr($title, 0, -1, 'UTF-8');
    

5 个答案:

答案 0 :(得分:9)

实际上,你不需要正则表达式来完成像空格分割两个单词这样简单的任务。请改用explode()

$string = "blablabla (blablaba)";
explode(" ", $string);

答案 1 :(得分:7)

根本没有正则表达式,只需使用explode

$mystring = "blablabla (blablaba)";
$mywords = explode(" ", $mystring);

你正在做的就是寻找一个空间!

答案 2 :(得分:1)

explode(" ", $string);

你不需要写正则表达式。

对于EXPLODE

第一个参数将是你要将字符串导出到数组的neddle ...第二个参数必须是字符串..

答案 3 :(得分:1)

我会使用explode,因为这里不需要正则表达式。如果你仍然需要mb_split,你可以拆分任何假定为空格的内容(换行符,换行符,空格,制表符等):mb_split("\s", "hello world")

看看docs。 (我实际上贴了这个例子:))

答案 4 :(得分:1)

如果你在一个后跟'('的空格上匹配,那么要分割的模式可以是:

\s(?=\()