由于下面显示的正则表达式文字中有些缺乏可读性,我想将其分成几行。我该如何做到这一点以及需要更改/转义什么?
regex = /\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/i;
谢谢
最佳答案
JavaScript 不支持多行正则表达式。不过,您可以从字符串构造正则表达式:
r = new RegExp(
"\\b" +
"(" +
"(?:[a-z][\\w-]+:(?:/{1,3}|[a-z0-9%])|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}/)" +
"(?:[^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\))+" +
"(?:\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:'\".,<>?«»“”‘’])" +
")", "i")
(我希望我的字符串构建语法正确 - 我不是 JavaScript 人员,所以如果这不起作用,请告诉我)
关于javascript - javascript 中的正则表达式换行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12349184/