我尝试过“m”修饰符,但不能正常工作:
$reg = '/...
/m';
preg_match($reg,...,$match);
修改
或许我需要一个可以忽略像ENTER,TAB等空格的修饰符。 因为当我删除正则表达式中的空格时,它可以正常工作。
再次编辑:
我需要一个修饰符,以便正则表达式
"/aaaa b/",
"/aaaa
b/"
是相同的,比如,它只是忽略了正则表达式本身的空白区域。
答案 0 :(得分:8)
您需要的修饰符为x
print_r(preg_match('/aaa
bbb/x', 'aaabbb'));
答案 1 :(得分:0)
您可能遇到点与正则表达式中的新行不匹配的问题。您可以使用s修饰符,它可以使点匹配所有内容甚至是新行。
希望这有帮助
它会给出
/aaaaaaa.+b/ms
使用\ n也是一种更好的做法,因为根据您的编辑器(Unix或Windows),换行符可能是不同的字符,CR + LF或只有LF ......因此您的代码将无法移植。
或者真的忽略了reg ex中的空白
function formatRegEx($reg){
return preg_replace('/(\s+)/m', '\s+', $reg);
}