Javascript字符串替换-RegEx用于非字母数字字符,如Backslash、Greater Than等

Javascript String Replace - RegEx for Non-Alphanumeric Characters Like Backslash, Greater Than, etc

本文关键字:Backslash Greater Than 数字字符 替换 字符串 -RegEx 用于 Javascript      更新时间:2023-09-26

我有一个从DOM世界序列化的字符串,我想在该字符串中找到一些结束标记,并用新字符串替换它们。我永远不知道原始字符串的长度,所以字符计数等在这里不起作用。示例场景:

var onetext = "</content><tag>A whole bunch of stuff</tag></message>"
var twotext = "</content><tag>A whole bunch of new, unrelated stuff</tag></message>"
var threetext = onetext.replace(/['/<]/''/content>.+</message>/,"</content>"+twotext+"</message>");

很明显,我没有正则表达式来查找这些反斜杠实例,大于或小于。我欢迎任何人的帮助,让它正确运行。谢谢

显然,有一种方法可以用单行实现这一点

您可以在替换字符串中使用分组标识符,如下所示:

'<foo>Some data</foo>'.replace(/(<foo>)(.+)(<'/foo>)/,'<bar>$2</bar>')

然而,在一天结束时,如果你只想替换结束标记,只需替换它们,不要担心其他内容,除非你也需要通过它。如果你只是看着。。。那么这就是你需要的表达式:

/<'/content>.+<'/message>/

如果您想捕获所有不允许的字符,那么就为此编写表达式。

这里有一个表达式(保留数字、字母和空格,拒绝其他所有内容):(?![a-zA-Z0-9])。

如果你正在寻找特定于HTML标签的东西,你想要(捕获打开和关闭的标签):

([''<]|[/>])