我已经试过“米”修饰符,但不工作:如何在PHP中启用正则表达式的空白不敏感模式?
$reg = '/...
/m';
preg_match($reg,...,$match);
编辑
或者,也许我需要修改,可以忽略空格像ENTER,TAB等。 因为当我删除我的正则表达式中的空白时,它就起作用了。
再次编辑:
我需要修改,这样的正则表达式
"/aaaa b/",
"/aaaa
b/"
是一样的,也就是说,它只是忽略正则表达式本身的空白。
我已经试过“米”修饰符,但不工作:如何在PHP中启用正则表达式的空白不敏感模式?
$reg = '/...
/m';
preg_match($reg,...,$match);
编辑
或者,也许我需要修改,可以忽略空格像ENTER,TAB等。 因为当我删除我的正则表达式中的空白时,它就起作用了。
再次编辑:
我需要修改,这样的正则表达式
"/aaaa b/",
"/aaaa
b/"
是一样的,也就是说,它只是忽略正则表达式本身的空白。
在正则表达式中,您可能有点不匹配新行的问题。你可以使用s修改器,它会使点匹配所有东西甚至是新线。
希望这有助于
它会给
/aaaaaaa.+b/ms
,因为这取决于你的编辑器(UNIX或Windows)换行可能是不同的字符,CR也将是一个更好的做法是使用\ N + LF或仅LF ...因此您的代码将不可移植。
,或者确实忽略了reg前
function formatRegEx($reg){
return preg_replace('/(\s+)/m', '\s+', $reg);
}
我需要在正则表达式中使用RETURN,因为它很长。否则它很难看到它在做什么。无论如何,以某种方式,有这样的要求。但是如何启用这种模式? – omg 2009-09-16 06:39:16
你能否详细说明您的情况有更多的上下文信息的空白? – Eimantas 2009-09-16 06:22:47
是的,知道你的正则表达式会有帮助。如果需要,默认情况下不匹配新行。以真正匹配任何使用s修饰符... – RageZ 2009-09-16 06:24:55
其他部分都可以,但我需要正则表达式分析器忽略正则表达式中的空格,如何? – omg 2009-09-16 06:26:36