我试图想出一个小程序来扫描代码库中的几个模式,我们主要对下面的两个模式感兴趣。
Function("Hello World")
Function("Hello World", "Max 10 Chars")我尝试过使用正向回溯,但无法找出我的错误所在,下面的链接不需要回溯就能工作。
当将模式更改为Function\("([\w\s\d]+)"(?<=[\,\s"]+)([\w\s\d]+")\)时,它将停止工作,
我是regEx这一边的新手,任何线索都会有帮助
发布于 2020-02-27 13:48:41
试一试
Function\("([\w\s\d]+)"(?:\s*,\s*"([\w\s\d]+)")*\)由于函数的任何附加参数都有一个, char作为分隔器,所以可以使用非捕获组(?: )*正则表达式来捕获这种模式的0-n次出现。
发布于 2020-02-27 13:58:07
此RegEx将任何函数与名称“function”和任意数量的字符串文字参数匹配:
Function\("([\w\s\d]+)"(\s*\,\s*"[\w\s\d]+")*\)这个函数将只匹配名称'Function‘和一个或两个字符串文字参数的函数:
Function\("([\w\s\d]+)"(\s*\,\s*"[\w\s\d]+")?\)https://stackoverflow.com/questions/60434581
复制相似问题