用于匹配数字标记的正则表达式,但前提是不是另一个单词的一部分

Regex to match a numeric token, but only if not part of another word

使用 C# Regex 我正在尝试匹配包含 @ 符号的标记。例如:

Your salary is @1 for this month.

我不能使用像 \b@1\b 这样的模式,因为 \b 匹配单词的开头和结尾,而 @1 没有被正确识别为单词。

我可以使用什么模式来匹配这样的标记,即 @1@2 等?

您可以使用环视 (?<!\w)(=之前不允许使用单词字符)和 (?!\w)(=之后不允许使用单词字符)。

(?<!\w)@\d+(?!\w)

regex demo

请注意 \d+ 匹配 1 个或多个数字。