아래 정규식이 대/소문자를 무시하도록 하려면 어떻게 해야 합니까? 모든 올바른 문자와 일치해야 하지만 소문자인지 대문자인지 여부는 무시합니다.
G[a-b].*
whole 정규식이 대소문자를 무시하도록 하려면 i
플래그을(를) 찾아야 합니다. 거의 모든 정규식 엔진에서 지원한다.
/G[a-b].*/i
string.match("G[a-b].*", "i")
일치하는 모드를 지정하는 방법을 찾으려면 해당 언어/플랫폼/툴의 설명서를 확인하십시오.
(원래 내 대답이 가정한 대로) 정규식의 *부분만 대소문자를 구분하도록 하려면 두 가지 옵션이 있습니다.
'(?i)' 및 [선택적으로] '(?i)' 모드 한정자를 사용합니다.
(?i)G[a-b](?i)*
모든 변형(예: 소문자 및 대문자)을 정규식에 넣습니다. 모드 한정자가 지원되지 않는 경우 유용합니다.
[G][a-ba-B]*
마지막으로, ASCII 외에 유니코드 문자를 다룰 경우 정규식 엔진이 제대로 지원하는지 확인하십시오.
구현에 따라 다름 하지만 나는
(?i)G[a-b].
변수:
(?i) case-insensitive mode ON
(?-i) case-insensitive mode OFF
현대의 정규식 맛에서는 정규식의 일부에만 수식어를 적용할 수 있습니다. 정규식 중간에 표현식(?im)을 삽입하는 경우 표현식은 정규식의 오른쪽 부분에만 적용됩니다. 이러한 맛을 사용하면 마이너스 기호(-i)로 앞에 표시하여 모드를 끌 수 있습니다.
설명은 다음 페이지에서 확인할 수 있습니다. https://www.regular-expressions.info/modifiers.html
그냥 제가 하고 싶은 정규 표현식에 대한 솔루션을 추가 생각해서라도 완성도 있는 c++컴파일러는 유니코드:
std::tr1::wregex pattern(szPattern, std::tr1::regex_constants::icase);
if (std::tr1::regex_match(szString, pattern))
{
...
}
As I 에서 발견된 이 유사물 게시물로의 (https://stackoverflow.com/questions/5228892/ignorecase-in-awk/) 에서 이전 버전의 awk (같은 바닐라 Mac OS X), & # 39 사용해야 할 수 있습니다 ~ /pattern/& 토로베르 ($0) ',' # 39.
(저) / i / 패턴화합니다 IGNORECASE '또는' '' 또는 '또는' 은 진정한 인컨텍스트 오류가 발생할 때 마다 복귀하십시오 할말이다
아니라 이미 수락됨 대답:
단, 이는 단순히 그렙 'ing' 에 추가된 '-i' 수정자의. 예: '-' 이 & # 39 를 그렙 라니 regular_expression 검색하겠습니다 regular_expression& # 39;; # 39, & # 39, & # 39 r& 아커사이블리, 케이스, # 39, & # 39 i& 젠시티베 n& 엄버 # 39, 결과, 선 보이고 있다.
또한 정규 표현식에 대한 검증 here& # 39 의 훌륭한 도구입니다. https://regex101.com/
예: 지켜보리니 표현식에서는 이 이미지 및 설명.