정규식 대소 문자를 구분하지 않는 방법은 무엇입니까?

저는 Drupal Commerce 배송 규칙을 작성 중이며 우편 번호와 구매자 주소를 아래와 같이 비교하려면 정규식이 필요합니다.

/^AB37|^AB38|^AB41/ 

이 코드는 대소 문자를 구분하고 소문자 또는 혼합을 허용하는 좀 더 완화되어야합니다.

“i”가 필요하다는 것을 읽었습니다. 플래그를 사용했지만 어떻게 적용해야하는지 잘 모르겠습니다.

누군가에게 예제를 제공해 주시겠습니까?

댓글

  • 예, '이 (가) 있습니다. i 플래그를 사용합니다 : /^AB37|^AB38|^AB41/i
  • 제안 해 주셔서 감사합니다. 질문이 상당히 일반적 일 수 있지만 특히 commerce_shipping의 일반적인 사용 사례에 관한 것이므로 주제에서 벗어난 것이 아니라고 주장합니다.
  • @Clive 성공하지 않고 제안을 시도했습니다. I ' 안타깝습니다. 규칙이 전혀 실행되지 않습니다. 필드 도움말 텍스트는 다음과 같습니다. ' 정규 표현식 (" / (35 | 38) [0-9] {3} / ") 또는 쉼표로 구분 된 목록 (범위 포함) (" 98, 100 : 200 " ) '
  • i 플래그가 끝에 있습니다. 다음 도구를 사용하여 규칙을 테스트 할 수 있습니다. regexr.com -그렇지 않으면 ' 여기서 DC가 잘못되었다고 주장합니다. ' 유효한 정규식을 허용하지 않습니다.
  • @Kevin DC는 ' 쉼표로 구분 된 것을 허용하지 않는 것 같습니다. 우편 번호 목록도 있습니다. 따라서 정규식으로 시도하십시오. 버그 일 수 있습니다.

답변

대소 문자를 구분하지 않는 것은 일반적으로 구분자 막대 뒤에 “i”문자를 추가하는 것입니다. 다음과 같습니다. / ^ AB37 | ^ AB38 | ^ AB41 / i

하지만 변경할 수있는 경우에 따라 다릅니다. 예를 들어 JS에서 새 매개 변수 (var re = new RegExp(myVar,"ig"))를 추가하거나 PHP에서 preg_match("[expression]i", $text, $matches);

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다