разделение строк и проверка с использованием apache freemarker - PullRequest
0 голосов
/ 01 августа 2020

У меня есть такой текст "please list TK 3-ASDFGVB".

Мне нужно проверить этот текст с помощью freemarker со следующим сценарием ios:

  • В тексте убедитесь, что после TK «3-ASDFGVB» должен присутствовать.
  • «3-ASDFGVB» должен содержать всего 9 символов.
  • «3-ASDFGVB» убедитесь, что «-» присутствует между 3 и ASDFGVB

Пробовал сценарий с приведенным ниже кодом.

TKNumberstr="please list TK 3-ASDFGVB"

{TKNumberstr.value?matches('.*([0-3]-[0-9]{9}).*')?then('match','nomatch')}

Все, что я хочу сделать, это одна строка, которая упоминается выше. Если проверка соответствует, я продолжу следующий процесс. Нужна помощь для проверки правила.

1 Ответ

1 голос
/ 01 сентября 2020
  1. Судя по предоставленной вами информации, похоже, что TKNumberstr - это строка. В таком случае вам не следует использовать .value.

  2. регулярное выражение . * ([0-3] - [0-9] {9}). * не проверяет описанный вами сценарий ios. Я рекомендую вам добавить тег регулярного выражения в свой вопрос.

Проверьте, помогает ли это вам:

[#assign TKNumberstr="please list TK 3-ASDFGVB" /]
${TKNumberstr?matches('.*([0-3]-[A-Z]{7}).*')?then('match','nomatch')}

Обратите внимание, что я изменил [0-9] {9} от до [AZ] {7} , поскольку {число} не включает часть [0-3] - и то, что идет после - в вашем примере являются прописными буквами.

Если это не помогло, сообщите нам о появившемся сообщении об ошибке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...