Javascript字符串替换-RegEx用于非字母数字字符,如Backslash、Greater Than等
Javascript String Replace - RegEx for Non-Alphanumeric Characters Like Backslash, Greater Than, etc
我有一个从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标签的东西,你想要(捕获打开和关闭的标签):
([''<]|[/>])