Регулярное выражение, чтобы найти именно данную строку - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь найти регулярное выражение, соответствующее заданному шаблону строки.Строка «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 голосов
/ 29 мая 2018

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]+
  • ^: - не уверен, что вы думаете, что это должно делать, но поскольку это не в начале регулярного выражения, ^ не имеет никакого специального значения, поэтому он будет соответствовать только строке "^:".
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...