Regex 如何通过正则表达式查找字符串中的特殊单词
我想通过正则表达式在字符串中查找foo,除了foo之外,它位于alt标记中,如下面的alt=“foo”;例如,这是我的字符串:Regex 如何通过正则表达式查找字符串中的特殊单词,regex,Regex,我想通过正则表达式在字符串中查找foo,除了foo之外,它位于alt标记中,如下面的alt=“foo”;例如,这是我的字符串: 这是一个foo和foo alt=“foo”的示例 我想在这个字符串中找到所有的foo,除了这一部分中的foo:alt=“foo”,因此正则表达式应该只找到下面粗体的两个foo: 这是一个示例foo和fooalt=“foo” 如果alt=部分始终位于要匹配的单词之后,则可以使用以下正则表达式: (?<!alt=")\b(\w+)\b(?=.*alt="\1")
这是一个foo和foo alt=“foo”的示例
我想在这个字符串中找到所有的foo,除了这一部分中的foo:alt=“foo”
,因此正则表达式应该只找到下面粗体的两个foo:
这是一个示例foo和fooalt=“foo”
如果
alt=
部分始终位于要匹配的单词之后,则可以使用以下正则表达式:
(?<!alt=")\b(\w+)\b(?=.*alt="\1")
(?其中$token
应替换为先前匹配的值
找到所有没有引用的内容,这就是你想要的吗?不。我的意思是所有不是这样的foo:alt=“foo”@Atefeh然后更改(?!@Atefeh,这听起来像是一个非常模糊的规范。因此,任何foo,只要前面没有alt=,后面没有“?”,根据该规范,你可以在:bar“foo”bar alt中找到foo=“foobar”,但可能是故意的…@MarounMaroun这很好,但它不会匹配字符串,如foo”
在中失败,这是一个例子foo和foo alt=“foo”foo和foo alt=“foo”
@rock321987谢谢,添加了一个负面查找来修复这个问题