Regex 在HTML中替换品牌的正则表达式

Regex 在HTML中替换品牌的正则表达式,regex,Regex,我希望在HTML中替换一个品牌名称,但我希望避免破坏可能是CSS类一部分的品牌提及。我决定尝试只允许匹配前面有空格或逗号,但后面可以有破折号、下划线或点以外的任何东西。但是因为一个尾随的点可能是合法的匹配,我想允许它,如果t后面跟一个空格 到目前为止,我的正则表达式如下所示: ([ ,])(brandname|brand name)(?![-_]) 但是我被困在如何负匹配尾随。但允许拖尾。\s Editing to give a few examples: true: brand nam

我希望在HTML中替换一个品牌名称,但我希望避免破坏可能是CSS类一部分的品牌提及。我决定尝试只允许匹配前面有空格或逗号,但后面可以有破折号、下划线或点以外的任何东西。但是因为一个尾随的点可能是合法的匹配,我想允许它,如果t后面跟一个空格

到目前为止,我的正则表达式如下所示:

([ ,])(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
 )