Жадный квантификатор:
Давайте сначала посмотрим, соответствует ли вся строка. Если совпадение не найдено, он удаляет последний символ в последней строке и снова пытается. Если совпадение не найдено, затем снова удалите последнюю строку, и процесс будет повторяться до тех пор, пока не будет найдено совпадение или в строке не останется символов. Простые квантификаторы - все жадные квантификаторы.
Ленивый квантификатор:
Давайте сначала посмотрим, соответствует ли первая буква в строке. Если совпадение не найдено, ленивый квантификатор продолжает добавлять символы из строки, пока не будет найдено совпадение, или вся строка не будет проверена, и нет никакого совпадения. Ленивые квантификаторы работают точно наоборот.
Доминирующие квантификаторы:
Попробуйте соответствовать всей строке. Если вся строка не создает совпадения, дальнейшая попытка не предпринимается.
Жадные квантификаторы ленивые квантификаторы доминируют в описании квантификатора
------------------------------------------------------ -----------------------------------
??
* *+ может появиться в любое время или нет
+ + ++ появляется один или более раз, но хотя бы один раз
{n} {n}?
{n, m} {n, m}?
{n,} {n,}?
1. Жадные слова измерения
Кода -копия выглядит следующим образом:
var regexp = /.*bbb/g;
var a = str.match (regexp);
оповещение (A.Length); // Вывод: 1
оповещение (A [0]);
Рабочий процесс жадных квантификаторов может быть выражен таким образом:
а) AbbbaabbbbaabbB1234
б) AbbaabbbaabbB123
в) Abbbbbaabbaaabbbbb12
г) Abbbbbaabbaaabbbb1
e) Abbbbbaabbaaabbb // true
Вы можете видеть, что жадный квантификатор перестанет работать после получения матча, хотя мы добавили «G» (Global Match)
2. Ленивые измеренные слова
Кода -копия выглядит следующим образом:
var regexp = /.*?bbb/g;
var a = str.match (regexp);
оповещение (A.Length); // Вывод: 3
оповещение (A [0]); // Выход: ABBB
оповещение (A [1]); // Вывод: AABBB
оповещение (A [2]); // Выход: AAABBB
Рабочий процесс ленивых квантификаторов может быть выражен таким образом:
а) а
б) ab
в) ABB
г) ABBB // Сохраните результат и запустите снова из следующего места
е) а
е) аа
г) AAB
h) aabb
J) AABBB // Сохраните результат и начинайте с следующего места
е) а
е) аа
д) ааа
е) аааб
д) ааабб
e) AAABBB // Сохранить результат и начинать с следующей позиции.
Кода -копия выглядит следующим образом:
String string = "abbbaabbbbaaabbbbb1234";
Шаблон p = pattern.compile (".*+Bbb");
Matchter m = p.matcher (string);
System.out.println (m.find ());
Потому что доминирующие квантификаторы применяют метод сопоставления с одним размером, например:
а) Абббаббааббаааббббб1234 // Неверно
Вышеуказанное - все содержание этой статьи.
Пожалуйста, найдите время, чтобы поделиться статьей со своими друзьями или оставить комментарий. Мы искренне благодарим вас за вашу поддержку!