욕심 많은 정량기 :
먼저 전체 문자열이 일치하는지 봅시다. 일치가 발견되지 않으면 마지막 문자열에서 마지막 문자를 제거하고 다시 시도합니다. 일치가 발견되지 않으면 마지막 문자열을 다시 제거하면 경기가 발견되거나 문자열에 문자가 남지 않을 때까지 프로세스가 반복됩니다. 간단한 정량자는 모두 욕심 많은 정량 자입니다.
게으른 양자 :
먼저 문자열의 첫 문자가 일치하는지 확인하십시오. 일치가 발견되지 않으면, 게으른 Quantifier는 일치가 발견되거나 전체 문자열이 점검 될 때까지 문자열에서 문자를 계속 추가하고 일치하지 않습니다. 게으른 정량기는 정확히 반대 방식으로 작동합니다.
지배적 수량 자 :
전체 문자열 만 일치시켜보십시오. 전체 문자열이 일치하지 않으면 더 이상 시도하지 않습니다.
욕심 많은 정량기 Lazy Quantifier는 정량기 설명을 지배합니다
--------------------------------------------------------- --------------------------------------
??+는 0 또는 1 번
*? *+는 언제든지 할 수 있습니다
+ +? ++가 더 나타나지 만 적어도 한 번
{n} {n}?
{n, m} {n, m}?
{n,} {n,}+는 언제든지 ABBB, AABBB, ABBBAABBBAABBB1234 사이의 일치를 원합니다.
1. 욕심 많은 측정 단어
코드 사본은 다음과 같습니다.
var regexp = /.*bbb/g;
var a = str.match (regexp);
경고 (A.length); // 출력 : 1
경고 (a [0]);
욕심 많은 정량기의 작업 과정은 이러한 방식으로 표현 될 수 있습니다.
A) ABBBAABBBAABBBBB1234
b) ABBAABBBAABBBB123
c) Abbbabbaabbaaabbb12
d) Abbbabbaabbaaaabbb1
e) abbbabbaabbaaabbb // 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
게으른 정량기의 작업 과정은 이러한 방식으로 표현 될 수 있습니다.
a) a
b) AB
c) ABB
d) ABBB // 결과를 저장하고 다음 위치에서 다시 시작합니다.
e) a
f) aa
g) aab
h) aabb
j) aabbb // 결과를 저장하고 다음 위치에서 다시 시작합니다.
e) a
e) aa
e) AAA
e) AAAB
e) aaabb
e) aaabbb // 결과를 저장하고 다음 위치에서 시작합니다.
코드 사본은 다음과 같습니다.
문자열 string = "abbbaabbbaaabbbb1234";
패턴 p = pattern.compile ( ".*+bbb");
매치 자 m = p.matcher (문자열);
System.out.println (m.find ());
지배적 인 정량화자는 다음과 같은 한 가지 크기에 맞는 일치하는 방법을 채택하기 때문입니다.
a) Abbbabbaabbaaabbb1234 // false
위는이 기사의 전체 내용입니다. 나는 당신이 그것을 좋아하기를 바랍니다.
시간을내어 기사를 친구들과 공유하거나 의견을 남겨주세요. 귀하의 지원에 진심으로 감사드립니다!