Регулярное выражение, чтобы соответствовать ровно одной альфа-строке с точками, разрешенными внутри $ {} - PullRequest
0 голосов
/ 30 апреля 2020

Как видно из заголовка, я пытаюсь написать регулярное выражение, которое гарантирует, что строка содержит точно что-то, следующее за этим шаблоном: $ {one.two.three.four}, где может быть любое число, после которого следует, а затем другим. Итак,

  • Вся строка должна быть заключена в $ {}
  • Содержимое внутри $ {} должно начинаться с альфа-строки, за которой следует
  • Любая альфа-строка, которая имеет. после него должна следовать еще одна альфа-строка.

Я использую его для написания почти неконтролируемого выражения SPEL, но только для получения свойств. Таким образом, это может быть что-то вроде $ {user.name} или $ {user.name.first} и т. Д. c.

1 Ответ

1 голос
/ 30 апреля 2020

Попробуйте: ^\${(?:[A-z]+\.?)+}$

Улучшено до: ^\${[A-z]+(?:\.[A-z]+)*}$, что предотвратит совпадение $ {one.}

А вот ссылка на regex101, которая объясняет регулярное выражение и показывает его соответствие тестовые строки, которые вы дали

https://regex101.com/r/YnYP7P/4

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