regex 正则表达式:查找括号之间的所有内容-包括括号是否存在于[关闭]中

piok6c0g  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(145)

已关闭。此问题需要更多focused。目前不接受回答。
**要改进此问题吗?**更新此问题,使其仅针对editing this post的一个问题。

昨天就关门了。
Improve this question
我正在使用一个正则表达式来提取类JS函数的原始字符串,其中我想提取 * 方法/函数 * 名称和 * 参数/自变量 * 到方法/函数:

  • .replace(“hello”,“world”).trim().replace(“chicken”,“fried”). upper()* 替换(“你好”,“世界”).修剪().替换(“鸡”,“油炸”).上一个()*

正则表达式:\.(\w+)\((.*?)\)
这适用于上面的字符串...但如果()周围有括号,则它不完全匹配。
我一直在与积极和消极的前瞻/落后作斗争,不知道这是否可能发生在这样的事情?
下面是一个不起作用的示例:

  • .替换(/(测试)/g,“”).trim().替换(“",““).upper()*
eoigrqb6

eoigrqb61#

正如Wiktor所说,专用解析器始终是此类处理的最佳选择。
但是,如果你仍然想使用正则表达式,你可以简单地添加一个积极的前瞻,寻找一个点,一个分号或字符串的结尾。

\.(\w+)\((.*?)\)(?=\.|$|;)

字符串
你可以在这里测试更多的情况:https://regex101.com/r/QJ1h59/1
但这并不完美。如果调用中的正则表达式在括号后面使用了一个点,正则表达式将无法匹配正确的字符串。总会有这样的情况,你最好使用专用的解析器。

相关问题