preg_match_all不支持\ n

时间:2014-03-25 23:22:06

标签: php regex preg-match-all

我在preg_match_all和\ n

方面遇到了小问题

MY reqular表达:

/\s*DEF\s+FUNC\s+(\w+\d*)\((\w*[,\s\w]*|)\)\s*{\s*(.*)\s*};/

适用于文字:

DEF FUNC test() 
{
    test1
};

但这不适用于文字:

DEF FUNC test() 
{
    test1
    test1
};

我和这个3小时的战斗; / 有人可以帮帮我吗?

由于

2 个答案:

答案 0 :(得分:2)

根据这个:http://php.net/manual/en/reference.pcre.pattern.modifiers.php

你必须使用s(PCRE_DOTALL)标志

答案 1 :(得分:1)

默认情况下,通配符.与换行符不匹配。

如果你想要它,你必须添加标志s(PCRE_DOTALL):

preg_match_all($regex, $in, $out, PCRE_DOTALL)