【发布时间】:2012-08-20 03:47:45
【问题描述】:
我想检查 if 语句是在一行还是在下一行没有大括号:
if (blah === blah)
do something
或:
if (foo === foo) do something
我目前的正则表达式是
/\)(?!.*\{)/
但不起作用。有人有什么想法吗?
详细说明此正则表达式不会提取的唯一 If 语句如下:
if (foo === bar)
{
【问题讨论】:
-
\r和\n都有各自的用途。 -
How to replace different newline styles in PHP the smartest way? 和 PCRE and newlines - 您可能正在寻找一些修饰符,以便
.也匹配换行符:PCRE_DOTALL(s)。 -
我尝试了以下方法,但似乎不起作用:/(if[()\w=]+)^(\r|\n|\r\n)/
-
@CarlMarkham:只需使用
s修饰符,请参阅:stackoverflow.com/a/12111990/367456 -
我也使用了“s”修饰符,但它也变得正常 If 语句,如“ifs”中的换行符,然后是花括号