Мне нужен ваш опыт работы с регулярным выражением для решения одной из моих проблем.
Предложение where для запроса будет выводиться из полезной нагрузки запроса службы REST. Я хочу сначала проверить и проанализировать с помощью Java Parser.
Я пробовал до некоторой степени. Я новичок в REGEX. Я написал код, чтобы проверить это. Но частично работает. Может кто-нибудь предложить правильный REGEX и, если возможно, объяснить, как он работает. Это очень полезно.
Я вставляю свой фрагмент кода.
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class DummyTester {
public DummyTester() {
super();
}
public static void main(String[] args) {
String text = "productName co Jam and (expiryDate gt 2020-02-06T00:00:00.000Z or Quantity gt 500)";
checkRegex(text);
checkRegex("userName eq bjensen");
checkRegex("familyName co O'Malley");
checkRegex("userName eq bjensen and familyName co O'Malley");
checkRegex("userName eq bjensen or familyName co O'Malley");
checkRegex("(userName eq bjensen and familyName co O'Malley) OR (userName eq bjensen or familyName co O'Malley");
//So many such combinations may exist.
//System.out.println(text);
}
static String checkRegex(String tester) {
String regex ="(\\w[\\w\\d]* \\s*(?:co|eq|gt)\\s* \\w[\\w\\d\\-\\:]*)* ?(?:and|or|AND|OR)?";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(tester);
boolean b = m.matches();
System.out.println("matcher is : "+ b);
return null;
}
}