gpt4 book ai didi

php - 正则表达式检查新行

转载 作者:可可西里 更新时间:2023-11-01 13:43:22 26 4
gpt4 key购买 nike

我想检查 if 语句是在一行还是下一行而没有像这样的大括号:

if (blah === blah)
do something

或:

if (foo === foo) do something

我目前的正则表达式是

/\)(?!.*\{)/

但不起作用。有人有什么想法吗?

详细说明唯一不会被此正则表达式提取的 If 语句如下:

if (foo === bar)
{

最佳答案

新行可以是 \n (UNIX)、\r\n (Windows)、\r(为了更好的衡量标准)。广泛匹配新行的表达式是:

/\r\n|\r|\n/

要检查表达式是否在一行中,您可以这样做:

if( preg_match( '/\r\n|\r|\n/', $string ) ) {
// on more than one line
...
} else {
// on one line
...
}

要进一步开发它以应用于您的 if ... do 语句的特定示例,您可以这样做:

if( preg_match( '/if *\([^\)]+\) *(\r\n|\r|\n) *do /', $string ) ) {
// on more than one line
...
} elseif( preg_match( '/if *\([^\)]+\) *do /', $string ) ) {
// on one line
...
}

关于php - 正则表达式检查新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12111776/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com