使用单词边界,如何匹配一串数字,除非数字前有句点?

Using a word boundary, how to match a string of numbers unless there is a period before the numbers?

我正在尝试匹配一组引用项目的数字。 这些项目可以用换行符、逗号、冒号、破折号或 space 分隔。 这些项目不会用句点或 @ 符号分隔。

我们使用 \b 来表示项目的开始,但发现这可以捕获各种不需要的匹配项,例如 reallythisurl@6001999reallythis.6001999

我们尝试了否定前瞻:\b(?!\.)(601999) \b(?!\@)(601999)

但这并没有停止匹配句号或 @

之后的数字

只需添加负向回顾:(?<![@.])\b\d+

(?<![@.]) - 确保前面的内容不是 @.

\b - 字界

\d+ - 一位或多位数字

Demo