已关闭。此问题需要更多focused。目前不接受回答。
**要改进此问题吗?**更新此问题,使其仅针对editing this post的一个问题。
昨天就关门了。
Improve this question的
我正在使用一个正则表达式来提取类JS函数的原始字符串,其中我想提取 * 方法/函数 * 名称和 * 参数/自变量 * 到方法/函数:
- .replace(“hello”,“world”).trim().replace(“chicken”,“fried”). upper()* 替换(“你好”,“世界”).修剪().替换(“鸡”,“油炸”).上一个()*
正则表达式:\.(\w+)\((.*?)\)
这适用于上面的字符串...但如果()
周围有括号,则它不完全匹配。
我一直在与积极和消极的前瞻/落后作斗争,不知道这是否可能发生在这样的事情?
下面是一个不起作用的示例:
- .替换(/(测试)/g,“”).trim().替换(“",““).upper()*
1条答案
按热度按时间eoigrqb61#
正如Wiktor所说,专用解析器始终是此类处理的最佳选择。
但是,如果你仍然想使用正则表达式,你可以简单地添加一个积极的前瞻,寻找一个点,一个分号或字符串的结尾。
字符串
你可以在这里测试更多的情况:https://regex101.com/r/QJ1h59/1
但这并不完美。如果调用中的正则表达式在括号后面使用了一个点,正则表达式将无法匹配正确的字符串。总会有这样的情况,你最好使用专用的解析器。