Шаблон, соответствующий строке - PullRequest
1 голос
/ 01 марта 2011

Мне нужно проверить, что строка имеет следующий формат / последовательность

LGaaaaaaaaaaYYMMDDnnnnn

Чтобы строка была действительной, она должна начинаться с символов «LG», за которыми следуют 10 символов, за которыми следуетдата в формате (ГГММДД), следующая за 5 цифрами.

Вот что я придумала

String patter = ^LG{1}[a-z][A-Z]{10}[0-9]{6}[0-9]{5}
  • Как я могу проверить, что строка начинается с "LG"
  • Как мне проверить, чтодесять символов после «LG» действительно после символов «LG»
  • Как проверить, что YYMMDD является действительной датой
  • Как проверить, что цифры в конце строки являютсяровно 5 цифр.

- Я мог бы использовать Simpledateformat, чтобы проверить строку как дату, я думаю.

Спасибо

Ответы [ 2 ]

2 голосов
/ 01 марта 2011

Зависит от того, как вы его используете.Если вы используете метод Mather.matches , то символ ^ на самом деле не нужен, так как он будет соответствовать всей строке.Если вместо этого вы используете метод find (), то ^ будет иметь значение

1 голос
/ 01 марта 2011
  1. Я думаю, что ваше регулярное выражение должно быть больше похоже на: LG[a-zA-Z]{10}[0-9]{6}[0-9]{5}
  2. Если строка соответствует шаблону, используйте подстроку, чтобы вытащить дату и проанализировать ее с помощью SimpleDateFormat, чтобы убедиться, что это действительно хорошая дата.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...