#delimiters之间的正则表达式匹配

时间:2014-05-12 17:14:47

标签: php regex

我有一个字符串,完全如图所示,我试图匹配分隔符之间的内容。

# a
This is what should be matched/returned
# \a

# a# \a是分隔符。

不匹配的PHP / Regex:

$str = <<<EOD

# a
this is what should be returned
# \a

EOD;

preg_match("/#\sa\n(.*)\n#\s\\a/m", $str, $matches);

/*
Array
(
)
*/
print_r($matches);

我做错了什么?

1 个答案:

答案 0 :(得分:3)

有几种方法可以做到:

  1. s修饰符,.匹配换行符
  2. \\\\以逃避\
  3. 可能只有\r\n而非\n所以我使用了\s

  4.  preg_match("/#\sa\s(.*)\s#\s\\\\a/s", $str, $matches);
    

    为什么世界各地都使用{1}