【发布时间】:2019-03-16 14:40:01
【问题描述】:
我有一个正则表达式,我一直在 notepad++ 中使用它来搜索和替换来操作一些文本,我想将它合并到我的 javascript 代码中。这是正则表达式:
搜索
(?-s)(.{150,250}\.(\[\d+\])*)\h+ 并替换为 \1\r\n\x20\x20\x20
本质上是为每 150-250 个单词创建新段落并缩进。
这是我在 JavaScript 中尝试过的。对于 HTML 中的文本区域 <textarea name="textarea1" id="textarea1"></textarea>。我有以下 JavaScript:
function rep1() {
var re1 = new RegExp('(?-s)(.{150,250}\.(\[\d+\])*)\h+');
var re2 = new RegExp('\1\r\n\x20\x20\x20');
var s = document.getElementById("textarea1").value;
s = string.replace(re1, re2);
document.getElementById("textarea1").value = s;
}
我也尝试将正则表达式直接作为string.replace() 的参数,但这也不起作用。任何想法我做错了什么?
【问题讨论】:
-
(?-s)在 JS 引擎中无效test here -
你的函数在哪里执行?
标签: javascript regex