首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正向回溯

正向回溯
EN

Stack Overflow用户
提问于 2020-02-27 13:40:21
回答 2查看 73关注 0票数 0

我试图想出一个小程序来扫描代码库中的几个模式,我们主要对下面的两个模式感兴趣。

代码语言:javascript
复制
Function("Hello World")
Function("Hello World", "Max 10 Chars")

我尝试过使用正向回溯,但无法找出我的错误所在,下面的链接不需要回溯就能工作。

https://regexr.com/4v7so

当将模式更改为Function\("([\w\s\d]+)"(?<=[\,\s"]+)([\w\s\d]+")\)时,它将停止工作,

我是regEx这一边的新手,任何线索都会有帮助

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-27 13:48:41

试一试

代码语言:javascript
复制
Function\("([\w\s\d]+)"(?:\s*,\s*"([\w\s\d]+)")*\)

由于函数的任何附加参数都有一个, char作为分隔器,所以可以使用非捕获组(?: )*正则表达式来捕获这种模式的0-n次出现。

票数 0
EN

Stack Overflow用户

发布于 2020-02-27 13:58:07

此RegEx将任何函数与名称“function”和任意数量的字符串文字参数匹配:

代码语言:javascript
复制
Function\("([\w\s\d]+)"(\s*\,\s*"[\w\s\d]+")*\)

这个函数将只匹配名称'Function‘和一个或两个字符串文字参数的函数:

代码语言:javascript
复制
Function\("([\w\s\d]+)"(\s*\,\s*"[\w\s\d]+")?\)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60434581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档