-5

如果逗号在 || 中出现多次,我需要正则表达式来搜索逗号 和 || 并返回 || 之间的字符串 和||。例如。考虑这个字符串:

$str = "http://www.test.com||abd-asd,asf,asfdsf[asf[s]asf,http://www.test1.com||asfsaf";

所以在上面的字符串上运行正则表达式后,它应该返回:

abd-asd,asf,asfdsf[asf[s]asf,http://www.test1.com

不包括 || 和||。我必须在我的 PHP 代码中使用它。

4

1 回答 1

1
if (preg_match(
    '/(?<=\|\|) # Assert starting position directly after ||<
    [^,|]*,     # Match any number of characters except , or |; then a ,
    [^,|]*,     # twice (so we have matched at least two commas)
    [^|]*       # Then match anything except | characters
    (?=\|\|)    # until we are right before ||
    /x', 
    $subject, $regs)) {
    $result = $regs[0];
} else {
    $result = "";
}
于 2012-07-17T17:34:57.550 回答