3 回答
TA贡献1841条经验 获得超3个赞
您购买RegexBuddy并使用其内置的调试功能。如果你一年两次使用正则表达式,你就可以及时将这笔钱及时存起来。RegexBuddy还将帮助您创建简单和复杂的正则表达式,甚至可以为您生成各种语言的代码。
此外,根据开发人员的说法,当与WINE一起使用时,这个工具在Linux上几乎完美运行。
TA贡献2003条经验 获得超2个赞
使用Perl 5.10 , use re 'debug';. (或者debugcolor,我无法在Stack Overflow上正确格式化输出。)
$ perl -Mre = debug -e'“foobar”=〜/(。)\ 1 /'
编译REx“(。)\ 1”
最终计划:
1:OPEN1(3)
3:REG_ANY(4)
4:关闭1(6)
6:REF1(8)
8:结束(0)
明娜1
将REx“(。)\ 1”与“foobar”匹配
0 <> <foobar> | 1:OPEN1(3)
0 <> <foobar> | 3:REG_ANY(4)
1 <f> <oobar> | 4:CLOSE1(6)
1 <f> <oobar> | 6:REF1(8)
失败...
1 <f> <oobar> | 1:OPEN1(3)
1 <f> <oobar> | 3:REG_ANY(4)
2 <fo> <obar> | 4:CLOSE1(6)
2 <fo> <obar> | 6:REF1(8)
3 <foo> <bar> | 8:END(0)
匹配成功!
释放REx:“(。)\ 1”
此外,您可以向正则表达式添加空格和注释,以使它们更具可读性。在Perl中,这是使用/x修饰符完成的。有pcre,有PCRE_EXTENDED旗帜。
"foobar" =~ /
(.) # any character, followed by a
\1 # repeat of previously matched character
/x;
pcre *pat = pcre_compile("(.) # any character, followed by a\n"
"\\1 # repeat of previously matched character\n",
PCRE_EXTENDED,
...);
pcre_exec(pat, NULL, "foobar", ...);
TA贡献1863条经验 获得超2个赞
我使用Kodos - Python正则表达式调试器:
Kodos是一个Python GUI实用程序,用于为Python编程语言创建,测试和调试正则表达式。Kodos应该帮助任何开发人员高效,轻松地在Python中开发正则表达式。由于Python的正则表达式实现基于PCRE标准,因此Kodos应该使其他编程语言的开发人员受益,这些编程语言也遵循PCRE标准(Perl,PHP等...)。
(......)
在Linux,Unix,Windows,Mac上运行。
- 3 回答
- 0 关注
- 506 浏览
添加回答
举报