Помощь в построении регулярных выражений


Мне нужно знать, соответствует ли строка ряду различных критериев. Я пытаюсь решить эту проблему с помощью регулярного выражения, а затем посмотреть, соответствует ли оно (в Java: str.совпадения (myRegex);), но я не могу сделать это правильно.

Критерии следующие:

  • строка для соответствия состоит из 4 букв, [A-Z]
  • ему может предшествовать (но не обязательно) один из" -", " + "или"VC"
  • он должен соответствовать только строкам, содержащим ровно 4 буквы (и возможно предшествующие символы)

Примеры:

  • "SHSN" - > совпадение
  • "+SHRA " - > матч
  • "VCSHRA" - > матч
  • " CAVOK "- > нет совпадения
  • " - +SHSN "- > нет совпадения

Возможно ли это сделать в одном регулярном выражении? Или это должно быть сделано в коде или комбинации двух?

Спасибо,

Линус

1 4

1 ответ:

Попробуйте следующее регулярное выражение:

^([+-]|VC)?[A-Z]{4}$