排除任何单词,然后是 @ Regex



我正在尝试在vb.net中使用regex.replace函数,我想排除任何在其之后具有 @符号的单词。目前,我使用的模式为"/b"&学期&"/b"(其中术语是我想替换的任何单词(。

谢谢。

您可以尝试以下方法:

b(?<!@)[^@s]+(?!@)b

REGEX DEMO

解释

  1. [^@s]+这将排除任何具有"@"或公正的单词之后。以 ^开头的字符类[ ^]表示否定字符类中的任何内容。因此, ^内部[]并不意味着启动字符串。
  2. 在许多风味中,边界 b一词包括 @作为边界值。因此,您需要确保b不将 @视为边界。因此,已经引入了lookahead和lookbehind在这里。
  3. 第一个b(?<!@)确保单词边界,但不能 @
  4. 最后一个(?!@)b确保单词界限,但不能 @

相关内容

最新更新