Я пытаюсь соответствовать ключевое слово с следующей строкойJava шаблон регулярного выражения целое слово матч
«АБВ PQR (1), хуг»
Это будет успешным матч, если все одно слово соответствует, например, дл «par» или «abc» или «xyz»
Может ли кто-нибудь помочь мне в создании регулярного выражения для этого матча?
String text = "hello, hellos(1),bye";
String keyword = "account";
String patternString = "["+ keyword + "]";
Pattern pattern = Pattern.compile(patternString, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(text);
boolean matches = matcher.matches();
System.out.println("matches = " + matches);
есть некоторые очень полезно ресурсы в сети. Подобно [regex testers] (https://regex101.com/), которые дают вам объяснения при написании вашего регулярного выражения. Довольно приятно, когда вы хотите научиться его использовать. – jhamon
Вы можете попробовать заменить '" ["+ keyword +"] "' на '" \\ b "+ keyword +" \\ b "', и это должно сработать. –
@ Андревин прав, но имейте в виду, что: A) он также найдет слова в круглой скобке B), если между запятыми допустимы составные слова, то любая из них может соответствовать C), если в словах есть дефисы, они также будут рассматриваться как слово барьеры ('\ b'). –