Я реализую запрос RESTful с спецификацией JPA. Хотелось бы, чтобы обрабатывать URL с несколькими критериями, который выглядит следующим образом:Почему это соответствие шаблону регулярного выражения не работает
http://localhost:8080/samples?search=lastName:doe,age>25
Строка поиска будет соответствовать шаблону (\\w+?)(:|<|>)(\\w+?)
отделенный «».
Поэтому я написал следующий код для получения Matcher из строки:
static Matcher getMatcherFromString(String str) {
Pattern pattern = Pattern.compile("(\\w+?)(:|<|>)(\\w+?),");
Matcher matcher = pattern.matcher(str + ",");
return matcher;
}
Этот метод затем вызывается контроллером для разбора URL.
Однако, когда я протестировал метод со строкой analysisId:fdebfd6e-d046-4192-8b97-ac9f65dc2009
, он возвращает null. Почему я ошибался для соответствия шаблону?
Я бы сказал, потому что '\ w' не соответствует' -' – Fallenhero
@Fallenhero '\ w' для слов. Что я должен использовать вместо этого? – ddd
Я не знаю, что вам нравится, но, может быть, '[0-9a-zA-Z _-]'? – Fallenhero