用工具理解你的正则表达式

像 

/\b0x(?:[0-9A-Fa-f]{6}|0-9A-Fa-f]{8})\b/g

 这样一个正则表达式除非一个单元一个单元的读下去,很难有什么办法快速理解,当然,你也可以开启Verbose添加额外的注释。

1.RegExr

http://gskinner.com/RegExr/ 提供了一个方便的开发工具,可以很方便的测试正则表达式是否有效。

  • 表达式单元拆分
  • 内容实时匹配
  • 多模式

2.REGEXPER

http://www.regexper.com/ 提供了一个将正则表达式拆解为DFM并且以图形的方式展示。

  • 表达式单元拆分
  • 可视化展示

3.Regexpal

http://regexpal.com/ 类似 RegExr 不过相比提供的内容更少,不过是通过Javascript实现。

  • 表达式单元拆分(简单色彩高亮)
  • 结果匹配拆分(色彩区分匹配的完整单元)

4.Debuggex

http://www.debuggex.com/ 提供更为丰富的正则执行流可视化。

Conclusion

一般在我开发的时候碰到无法直接通过的表达式会在*RegExr*调试,如果结果匹配较模糊,就会切换到*Regexpal*。
选择适合你的工具吧。

原文:http://huangx.in/29/with-the-tools-to-understand-your-regular-expression

Comment are closed.