使用单词边界,如何匹配一串数字,除非数字前有句点?
Using a word boundary, how to match a string of numbers unless there is a period before the numbers?
我正在尝试匹配一组引用项目的数字。
这些项目可以用换行符、逗号、冒号、破折号或 space 分隔。
这些项目不会用句点或 @ 符号分隔。
我们使用 \b
来表示项目的开始,但发现这可以捕获各种不需要的匹配项,例如 reallythisurl@6001999
和 reallythis.6001999
我们尝试了否定前瞻:\b(?!\.)(601999)
\b(?!\@)(601999)
但这并没有停止匹配句号或 @
之后的数字
只需添加负向回顾:(?<![@.])\b\d+
(?<![@.])
- 确保前面的内容不是 @
或 .
\b
- 字界
\d+
- 一位或多位数字
我正在尝试匹配一组引用项目的数字。 这些项目可以用换行符、逗号、冒号、破折号或 space 分隔。 这些项目不会用句点或 @ 符号分隔。
我们使用 \b
来表示项目的开始,但发现这可以捕获各种不需要的匹配项,例如 reallythisurl@6001999
和 reallythis.6001999
我们尝试了否定前瞻:\b(?!\.)(601999)
\b(?!\@)(601999)
但这并没有停止匹配句号或 @
只需添加负向回顾:(?<![@.])\b\d+
(?<![@.])
- 确保前面的内容不是 @
或 .
\b
- 字界
\d+
- 一位或多位数字