как мне вернуться после первого совпадения регулярного выражения?(метод Matcher.find () делает это?)
говорит, что у меня есть строка "abcdefgeee".Я хочу попросить, чтобы регулярное выражение остановило двигатель сразу после того, как он обнаружит первое совпадение, например, "e".Я пишу метод для возврата true / false, если шаблон найден, и я не хочу найти всю строку для «e».(Я ищу решение для регулярных выражений)
Другой вопрос, иногда, когда я использую match (), он не возвращается правильно.Например, если я скомпилирую свой шаблон как «[az]».а затем использовать match (), это не совпадает.Но когда я компилирую шаблон как ".*[a-z].*"
, он совпадает ... это то, что поведение метода match () класса Matcher?
Edit, вот что я на самом деле хочу сделать.Например, я хочу найти знак $ И знак @ в строке.Так что я бы определил 2 скомпилированных шаблона (так как я не могу найти логическое И для регулярных выражений, так как знаю основы).
pattern1 = Pattern.compiled("$");
pattern2 = Pattern.compiled("@");
тогда я просто использовал бы
if ( match1.find() && match2.find() ){
return true;
}
в моем методе.
Я только хочу, чтобы сопоставители искали строку для первого вхождения и возврата.
спасибо