정규식은 두 단어 중 하나와 일치합니다.


301

난 단지 2 값을 가질 수 입력이 apple또는 banana. 두 단어 중 하나가 제출되도록하기 위해 어떤 정규식을 사용할 수 있습니까?


2
이 정규식은 어떤 언어 / 환경에서 구현됩니까? 많은 상황에서 정규식은 불필요한 오버 헤드처럼 보입니다.
mickmackusa

답변:


467

이것은 할 것이다 :

/^(apple|banana)$/

하는 제외 캡처 한 문자열 (예에서 $1, $2) :

(?:apple|banana)

43
일부의 경우이를 캡처하지 않는 그룹으로 사용하는 것이 유용합니다. 사용 (?:apple|banna)중 하나와 일치하지만, 촬영 된 문자열 목록에 추가되지 않습니다 (예를 들어 $1, $2... $N).
doub1ejack

빠른 질문입니다. 사과 바나나가 맞지 않게하려면 어떻게해야합니까?
그로버 레예스

위의 정규식은 사과 및 바나나와 일치하지만 사과 바나나와 일치하지 않습니다.
phlogratos

99

다른 정규식 엔진이 있지만 대부분이 엔진에서 작동한다고 생각합니다.

apple|banana

55
정규식에 더 많이 넣으려면 다음과 같이 단어 주위에 괄호를 넣어야합니다 (apple|banana).
Brian J

그러나 대소 문자를 구분하지 않는 방법은 무엇입니까?
Nitish

re.IGNORECASE플래그로 설정되었습니다 . 예 :re.compile("(apple|banana)", re.IGNORECASE)
Trond Ynddal

-8

/.txt|.tif/.txt 또는 .tif로 끝나는 두 가지 유형의 파일을 검색 할 때 SiteScope에서 정규식을 사용하여 디렉토리 모니터의 '파일 이름 일치'를 찾을 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.