javascript - 匹配正则表达式条件

标签 javascript regex

我有一个字符串,我想使用正则表达式将该字符串中的##@@##@@ 替换为回车换行符。

我一直在努力,但运气不佳。我的表达式显示完整的文本。

表达式: /^.*(##@@##@@).*$/g

字符串:这是我的名字##@@##@@ ##@@##@@和身份

代码:str = str.replace(/^.(##@@##@@).$/g, '\r\n');

我怎样才能实现我想做的事情?

最佳答案

你太辛苦了。 :-) 丢失 ^.*.*$:

var str = "This is my name ##@@##@@ ##@@##@@ and identity";
str = str.replace(/##@@##@@/g, '\r\n');
console.log(str);

str.replace(/##@@##@/g, '\r\n') 表示“替换字符串 ##@@##@@str 中全局使用 \r\n”。在该示例中,您最终得到了两个 替换(中间有一个空格),因为它出现了两次。

如果你想忽略事件之间的空格并用 ##@@##@@ ##@@##@@ 替换类似 one \r\n,那么我们需要稍微调整一下:

var str = "This is my name ##@@##@@ ##@@##@@ and identity";
str = str.replace(/(?:##@@##@@\s*)+/g, '\r\n');
console.log(str);

.replace(/(?:##@@##@@\s*)+/, '\r\n') 说:“替换一次或多次出现的 ##@@##@@ 后跟可选的空格(\s = 空格,* = 可选)和 \r\n。” (?:...) 将它组合在一起,以便 +(“一个或多个最后一件事”)可以应用于整个事情。这是一个非捕获组。

关于javascript - 匹配正则表达式条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37745819/

相关文章:

javascript - 如何使用正则表达式获取@等电子邮件域前后的内容

Javascript Discord Bot 在运行时给出代码引用错误

javascript - Firefox 中的 HTML5 拖放文件夹检测。有可能吗?

java - 拆分后如何访问每个元素

regex - 使用 Perl 验证年份范围

java - 替换字符串中最后一次出现的模式的最快方法

javascript - 在提示符中输入石头、布或剪刀后,控制台中未定义

javascript - 这在普通 JavaScript 中的等价物是什么?

javascript - 由于 webpack 模块解析器而导致 ReactJS 测试文件问题 'cannot find module'

javascript - 使用 JavaScript 正则表达式去除包含括号的子字符串