그리디 모드는 최대 일치라고도 합니다. X?, /tr>abb", 예상한 결과는 "
그리디 모드(Greedy):
수량 표시는 별도로 지정하지 않는 한 기본적으로 그리디 모드로 설정됩니다. Greedy 모드 표현식은 일치하는 항목이 없을 때까지 계속해서 일치합니다. 표현식 일치 결과가 예상과 다르다면 이는 표현식이 처음 몇 문자만 일치할 것이라고 생각했지만 실제로는 탐욕스러운 패턴이므로 계속 일치하기 때문일 가능성이 높습니다.
탐욕스러운 것과 탐욕스럽지 않은 것, 그리고 ?는 탐욕스럽지 않다는 것을 의미합니다.
var s = '1023000'.match(/(\d+)(0*)/); s ["1023000", "1023000", ""] var s = '1023000'.match(/^(\d+)(0*)$/); s ["1023000", "1023000", ""] var s = '1023000'.match(/^(\d+?)(0*)$/); s ["1023000", "1023", "000"] var s = '1023000'.match(/(\d+?)(0*)/); s ["10", "1", "0"]
public void test51(){ String str = "aaa\"bbb\"ccc\"ddd\"eee"; System.out.println(str); str = str.replaceAll("\"(.*)\"", "@"); System.out.println(str); }
출력:
aaa"bbb"ccc"ddd"eee aaa@eee
예제 2:
@Test public void test52(){ String str = "aaa\"bbb\"ccc\"ddd\"eee"; System.out.println(str); str = str.replaceAll("\"(.*?)\"", "@"); System.out.println(str); }
출력:
aaa"bbb"ccc"ddd"eee aaa@ccc@eee
The 위는 Java 프로그램에서 정규식의 그리디 패턴 매칭 내용을 분석한 예입니다. 더 많은 관련 내용은 PHP 중국어 웹사이트(www.php.cn)를 참고하세요!