JavaScript 正则表达式格式化为多行

标签 javascript regex

我有一个非常复杂的 JavaScript 替换正则表达式函数,我想知道是否有一种方法可以在多行上格式化正则表达式代码,如下所示:

/
(
    ([0-9]{1,2})
    (\/|\.)
    ([0-9]{1,2})
    (\/|\.)
    ([0-9]{2,4})\s
)?
([0-9]{1,2})
:
([0-9]{1,2})
(
    (:|\s)
    ([0-9]{1,2})
)?
/ig

另外我想问是否有另一种方法来格式化正则表达式,以便更容易阅读。

最佳答案

JavaScript 不支持 /x 标志(允许空格和注释),但您可以使用字符串将表达式拆分为多行。例如:

var re = new RegExp(
     "foo" +
     "bar" +
     "baz",
     "ig");

当然,这具有正则表达式的常规字符串引用(双重转义)的缺点。

您还可以使用 XRegExp及其 (?x) 标志,但您仍然受到常规 JS 字符串引用的限制。

关于JavaScript 正则表达式格式化为多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16363353/

相关文章:

java string.split() 正则表达式帮助

javascript - KendoUI网格: Add fields to Datasource dynamically

javascript - 触发附加元素上的现有事件

python - 编码为 ascii 时丢失引号

java - 正则表达式非单词边界和空格

javascript - 正则表达式匹配美元符号加空格后的任何内容

javascript - 弹出窗口触发操作后 View 不刷新

php - 在网页中单击按钮时,如何显示列表中的随机短语?

javascript - 忘记密码 php 中的代码不起作用

javascript - 如何在jquery中使用替换和正则表达式在大写字符之前插入空格