Regex 在HTML中替换品牌的正则表达式
我希望在HTML中替换一个品牌名称,但我希望避免破坏可能是CSS类一部分的品牌提及。我决定尝试只允许匹配前面有空格或逗号,但后面可以有破折号、下划线或点以外的任何东西。但是因为一个尾随的点可能是合法的匹配,我想允许它,如果t后面跟一个空格 到目前为止,我的正则表达式如下所示:Regex 在HTML中替换品牌的正则表达式,regex,Regex,我希望在HTML中替换一个品牌名称,但我希望避免破坏可能是CSS类一部分的品牌提及。我决定尝试只允许匹配前面有空格或逗号,但后面可以有破折号、下划线或点以外的任何东西。但是因为一个尾随的点可能是合法的匹配,我想允许它,如果t后面跟一个空格 到目前为止,我的正则表达式如下所示: ([ ,])(brandname|brand name)(?![-_]) 但是我被困在如何负匹配尾随。但允许拖尾。\s Editing to give a few examples: true: brand nam
([ ,])(brandname|brand name)(?![-_])
但是我被困在如何负匹配尾随。但允许拖尾。\s
Editing to give a few examples:
true: brand name. something
false: brandname.something
true: ,brand name. something
false: .brandname
true: brandname something
true: brandname,something
false: brand name-something
我想这就是你想要的
[,]品牌[]?名称(?:(?![-)|(?=\.])
这是什么意思。但是允许拖尾。\s?如果您提供了一个要修改的字符串示例,并提供了一个该字符串在修改后的外观示例,我真的认为您将有更好的机会得到回答replacing@NiettheDarkAbsol-为什么要将此链接作为dup链接到该html帖子?@KamilJanowski抱歉,我已经在原始帖子中添加了它们。@maxt8r是的,我同意。我可以做我想做的事。我不需要有人告诉我我可以做什么。应用程序脚本中没有DOM,因此没有解析它的选项。谢谢你的解决方案。这正是我所需要的。
[ ,] # space or comma
brand [ ]? name # brand name
(?: # Check ahead assertion
(?! [-_.] ) # Not dash, underscore or dot
| (?= \. [ ] ) # Or, dot is ok if followed by space
)