我正在尝试在vb.net中使用regex.replace函数,我想排除任何在其之后具有 @符号的单词。目前,我使用的模式为"/b"&学期&"/b"(其中术语是我想替换的任何单词(。
谢谢。
您可以尝试以下方法:
b(?<!@)[^@s]+(?!@)b
REGEX DEMO
解释
-
[^@s]+
这将排除任何具有"@"或公正的单词之后。以 ^开头的字符类[ ^]表示否定字符类中的任何内容。因此, ^内部[]并不意味着启动字符串。 - 在许多风味中,边界
b
一词包括 @作为边界值。因此,您需要确保b
不将 @视为边界。因此,已经引入了lookahead和lookbehind在这里。 - 第一个
b(?<!@)
确保单词边界,但不能 @ - 最后一个
(?!@)b
确保单词界限,但不能 @