Чтобы основываться на ответе Стивкросса, обратите внимание, что предлагаемое выражение довольно мягкое. Например, это будет соответствовать этому:
String xyz =" ID: VERSION: "
Вы можете быть более строгими в своем соответствии, если это необходимо. Скажем, если вам нужно обеспечить непустые слова, используйте + вместо * вот так:
assertThat(xyz).matches("[A-Za-z]+ +ID: [0-9]+ +VERSION: [0-9]+");
И если вам нужно ровно три пробела между парами ключ-значение, добавьте {3}
к классу символов, включающему только пробел ([ ]
), например:
assertThat(xyz).matches("[A-Za-z]*[ ]{3}ID: [0-9]*[ ]{3}VERSION: [0-9]*");
Я нахожу полезными оценщиков в Интернете. Смотрите, например, этот: https://regex101.com/