【问题标题】:Debugging regular expressions in JavaScript在 JavaScript 中调试正则表达式
【发布时间】:2015-12-19 14:30:18
【问题描述】:

在 Python 中,有一个特殊的 re.DEBUG flag 会显示正则表达式解析树:

>>> import re
>>>
>>> data = "myid_01234"
>>> re.match(r"^myid_(\d+)$", data, re.DEBUG)
at at_beginning
literal 109
literal 121
literal 105
literal 100
literal 95
subpattern 1
  max_repeat 1 4294967295
    in
      category category_digit
at at_end
<_sre.SRE_Match object at 0x104ffe7b0>

是否有可能通过 JavaScript 中的解析树获得类似的调试信息?

> var re = /^myid_(\d+)$/;
> var data = "myid_01234"
> data.match(re)
["myid_01234", "01234"]

【问题讨论】:

    标签: javascript python regex


    【解决方案1】:

    JavaScript 不提供此功能。

    但您可以使用在线服务或软件对其进行调试。 示例:https://regex101.com/r/vY0iK9/1

    【讨论】:

    • debuggex.com 也是手动推进匹配尝试的好工具
    • 我用 debuggex 很长时间了,绘图功能非常简洁。这些网站的功能几乎相同,所以我想这是一个见仁见智的问题。
    猜你喜欢
    • 2016-10-21
    • 2013-04-04
    • 2012-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多