Javascript正则表达式匹配有界文本

标签 javascript regex

我有这样的文字:

....foo..bar....

foo 和 bar 可以是任何文本。

也可能是:

anypreamble....foo..bar....anypostamble

我试图仅匹配 foo 和 bar,但我一直匹配整个内容。

这是一些代码:

var s = "this....AAAAAAAAAA..BBBBCD....that";

console.log(s.replace(/\.{4}.+\.{2}(.+)\.{4}/g, 'X'));

我希望上面的内容能给我:thisAAAAAAAAAAXthat,相反它给出的是:thisXthat。

你能帮忙吗?

这是一个 fiddle :https://jsfiddle.net/vfkzdg9y/1/

最佳答案

如果你想得到用X分隔的两个字符串(foo和bar),你可以使用:

var s = "this....AAAAAAAAAA..BBBBCD....that";

console.log(s.replace(/[^\.]*\.{4}([^\.]+)\.{2}([^\.]+)\.{4}.*/g, '$1X$2'));

产量

AAAAAAAAAAXBBBBCD

您还可以使用:

console.log(s.replace(/[^\.]*\.{4}(.+)\.{2}(.+)\.{4}.*/g, '$1X$2'));

哪个产量

AAAAAAAAAAXBBBB.CD

第二个例子。

关于Javascript正则表达式匹配有界文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34913399/

相关文章:

JavaScript - 为什么 else 警报与 if 警报一起执行

javascript - 为什么 Chrome 调试器认为封闭的局部变量未定义?

javascript - 似乎无法设置表单的编码类型。 (JavaScript)

javascript - 我无法让我的文本输入将 <li> 附加到我的 html 中的空白 <ul>

PHP preg_match_all/preg_match

javascript - 仅使用正则表达式 javascript 中的一个字符

python - 在正则表达式中预测 Web 服务器日志?

regex - R Regex-提取5位数字

mysql - 在 MySQL 查询中用删除和空格重复单词

返回 "n"给定颜色的 JavaScript 函数(从深到浅)