正则表达式找到确切的给定字符串

时间:2018-05-29 16:34:21

标签: java regex

我正在尝试找到匹配给定字符串模式的正则表达式。字符串是     “ABC OK:123 XYZ OK:789” 包含以下内容的任何其他字符串:在这些字符串之后可以认为不匹配。 我尝试了以下正则表达式,但似乎没有任何效果:

"[ABC OK:][a-zA-Z_0-9\\s][XYZ OK:][a-zA-Z_0-9\\s]^:"
"ABC OK:[a-zA-Z_0-9\\s]XYZ OK:[a-zA-Z_0-9\\s]^:"

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

ABC OK: 123 XYZ OK: 789是一个有效的正则表达式,可以找到该字符串; - )

在您的第一个示例"[ABC OK:][a-zA-Z_0-9\\s][XYZ OK:][a-zA-Z_0-9\\s]^:"中,这里几乎没有问题:

  • [ABC OK:]表示:匹配单个字符,且必须是'A', 'B', 'C', ' ', 'O', 'K',':'
  • 之一
  • [a-zA-Z_0-9\\s] - 这也仅匹配单个字符。如果您需要多个,请在+
  • 之后使用[a-zA-Z_0-9\\s]+
  • ^: - 不确定您认为应该做什么,但由于它不在正则表达式的开头,^没有任何特殊含义,所以它只会匹配"^:"字符串。