>字符串解析
foo_and_bar_and_baz_or_doe
预期结果: foo, bar, baz 和 doe 以及 and, and or
我试过/(.*?)(_and_|_or_)/i
但它跳过了最后一个。
其实刺痛是
having_tag_slugs_and_having_category1_slug_and_having_category2_slug_or_having_category3_slug
放出来,我正在寻找的是
having_tag_slugs
having_category1_slug
having_category2_slug
having_category3_slug
_and_
_and_
_or_
''
你可以试试下面的正则表达式——
/(.*?)(_and_|_or_|$)/im
希望有帮助。让我知道它是怎么回事:)
$a="foo_and_bar_and_baz_or_doe";
$c=explode("_",$a);
print_r($c);
preg_split怎么样:
$str = 'having_tag_slugs_and_having_category1_slug_and_having_category2_slug_or_having_category3_slug';
$arr = preg_split('/(_and_|_or_)/', $str, -1, PREG_SPLIT_DELIM_CAPTURE);
print_r($arr);
输出:
Array
(
[0] => having_tag_slugs
[1] => _and_
[2] => having_category1_slug
[3] => _and_
[4] => having_category2_slug
[5] => _or_
[6] => having_category3_slug
)