>

다음 두 단어가 포함 된 모든 문장을 일치 시키려고합니다

알파와 베타

내가 사용한 정규식은

(?=.*ALPHA)(?=.*BETA)

이것은 ALPHA와 BETA가 주어진 문자열에 있는지 확인하기 위해 어떤 숫자가 나오는 문자를 미리 찾는다는 것을 이해합니다.

위 코드를 다음과 같이 변경하면 어떤 결과가 나올지 누군가에게 말해 줄 수 있습니까?

(?=.*?ALPHA)(?=.*?BETA)

이 추가 물음표는 무엇을합니까?

입력 문자열은 "ALPHA | checkagainst | (BETA_val)"과 같습니다. 내가 쓴 정규 표현식은 ALPHA와 BETA 단어가 모두 존재하므로 위의 입력에 대해 true를 반환해야합니다.


  • 답변 # 1

    그것은 탐욕스럽고 탐욕스럽지 않은 정량 자와 관련이있다. 물음표는 일치하는 항목이 욕심이없고 가능한 적은 문자와 일치 함을 나타냅니다.

    참조 : 수량 자 속임수

  • 답변 # 2

    여러분 :

    ([^.]*ALPHA[^.]*)([^.]*BETA[^.]*)
    
    

    데모

관련 자료

  • 이전 Selenium IDE에서 Java 소스 코드를 생성하는 방법 (IDE 코드는 HTML 확장자 임)
  • 다음 node.js - 포트 3000에서 평균 스택 앱이 열리지 않음