Regex (?:[,\\. ]*(&|and) ?) не соответствует ", and ".Но когда я изменяю сопоставление на (?:[,\\.] ?(&|and) ?), шаблон ", and " сопоставляется.Что вызывает pblm?
(?:[,\\. ]*(&|and) ?)
", and "
(?:[,\\.] ?(&|and) ?)
Когда я удаляю пробел из [,\\. ]*, он кажется работающим.Я просто не понимаю.
[,\\. ]*
Я могу найти совпадение даже с пробелом. Было бы полезно, если вы можете опубликовать точный код.
Pattern p = Pattern.compile("(?:[,\\. ]*(&|and) ?)"); Matcher matcher = p.matcher(", and "); System.out.println("Match? " + matcher.find());