作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试编写一个正则表达式来识别 if 语句。我遇到的唯一问题是让它捕获 if 括号中带有括号的语句。例如:
if (condition_function(params)) {
statements;
}
if\s*\(([^\(\)]|\s)*\)\s*{(.|\s)*?}
最佳答案
这对于正则表达式是不可能的,因为正则表达式只能匹配正则语言,而您尝试解析的语言是上下文无关的而不是正则的(感谢 dirkgently 和 dmckee)。
看看WP: Formal language theory你有兴趣吗...
顺便提一句。如果正确([[][]]
是正确的,但 []][
不是),您甚至无法检查仅由括号组成的表达式,这是您上面给出的一个“子问题”。
关于regex - 用于识别 If 语句的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/651455/
我是一名优秀的程序员,十分优秀!