gpt4 book ai didi

regex - 用于识别 If 语句的正则表达式

转载 作者:行者123 更新时间:2023-12-04 16:17:51 25 4
gpt4 key购买 nike

我正在尝试编写一个正则表达式来识别 if 语句。我遇到的唯一问题是让它捕获 if 括号中带有括号的语句。例如:

if (condition_function(params)) {
statements;
}

我捕获除这些以​​外的所有 if 语句的表达式是:
 if\s*\(([^\(\)]|\s)*\)\s*{(.|\s)*?}

有谁知道怎么写?

最佳答案

这对于正则表达式是不可能的,因为正则表达式只能匹配正则语言,而您尝试解析的语言是上下文无关的而不是正则的(感谢 dirkgently 和 dmckee)。

看看WP: Formal language theory你有兴趣吗...

顺便提一句。如果正确([[][]] 是正确的,但 []][ 不是),您甚至无法检查仅由括号组成的表达式,这是您上面给出的一个“子问题”。

关于regex - 用于识别 If 语句的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/651455/

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