【发布时间】:2017-08-23 16:33:48
【问题描述】:
我正在尝试匹配一个单词,后跟一个空格或制表符和 5 个数字。例如
some noise text off 12345 some noise text again.
另一个例子是:
Some noise text off 12345.
正则表达式应匹配“off 12345”。 数字后面可以跟标点符号。 模式应该匹配单词“off”而不是数字后面的任何其他单词。
谢谢
【问题讨论】:
我正在尝试匹配一个单词,后跟一个空格或制表符和 5 个数字。例如
some noise text off 12345 some noise text again.
另一个例子是:
Some noise text off 12345.
正则表达式应匹配“off 12345”。 数字后面可以跟标点符号。 模式应该匹配单词“off”而不是数字后面的任何其他单词。
谢谢
【问题讨论】:
为了更通用,你可以使用
\b\w+\s\d{5}\b
这里\b 匹配边界。如果你不使用它,你可能会错误匹配类似的东西
123off 12345
off 1234567
【讨论】:
\s+。 2. \b 中的反斜杠没有转义,而是匹配了一个退格字符。在 Java 中,正则表达式字符串应该是 "\\b\\w+\\s\\d{5}\\b"。这篇文章可能对你有用。 stackoverflow.com/questions/8777982/issue-with-java-regex-b