regex - 通过不在匹配括号内的未注释逗号分割成单词

标签 regex perl

考虑以下字符串:

blah, foo(a,b), bar(c,d), yo

我想提取字符串列表:

blah
foo(a,b)
bar(c,d)
yo

在我看来,我应该能够在这里使用引号,但我正在努力使用正则表达式。有人可以帮我吗?

最佳答案

Perl 有一个小东西 regex recursion ,因此您也许可以查找:

  • 诸如 blah 之类的不带括号的裸词 (\w+)

  • “调用”,例如 \w+\((?R)(, *(?R))*\)

总的正则表达式为 (\w+(\((?R)(, ?(?R))*\))?),其中 seems to work .

关于regex - 通过不在匹配括号内的未注释逗号分割成单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31337848/

相关文章:

java - Android 正则表达式 - 返回匹配的字符串

java - Spring Integration 不允许负面回顾

regex - 获取所有 perl 正则表达式捕获组的值

perl - 如何使用 Dancer/Starman 或 Mojolicious/Daemon 验证 https 客户端证书?

Python正则表达式在任何地方匹配多个单词

python 的 re : replace regex to regex

regex - 使用正则表达式查找行开始

perl - 文件::统计返回 "No such file or directory"

mysql - 如何在带有变量的mysql perl中创建子例程

perl - Devel::Cover 合并 Perl 脚本和模块的覆盖率数据