정규식 : 대소 문자 구분 무시
다음 정규 표현식이 대소 문자 구분을 무시하도록하려면 어떻게해야합니까? 모든 올바른 문자와 일치해야하지만 소문자인지 대문자인지는 무시하십시오.
G[a-b].*
전체 정규 표현식이 대소 문자를 무시하기 를 원한다고 가정하면 i
플래그를 찾아야합니다 . 거의 모든 정규식 엔진이이를 지원합니다.
/G[a-b].*/i
string.match("G[a-b].*", "i")
언어 / 플랫폼 / 도구의 설명서를 확인하여 일치 모드를 지정하는 방법을 찾으십시오.
정규식의 일부만 대소 문자를 구분하지 않으려면 (원래 답변으로 가정) 두 가지 옵션이 있습니다.
(?i)
및 [선택적](?-i)
모드 수정자를 사용하십시오 .(?i)G[a-b](?-i).*
모든 변형 (소문자와 대문자)을 정규식에 넣으십시오-모드 수정자가 지원되지 않는 경우에 유용합니다.
[gG][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 페이지에서 설명합니다.
대소 문자 구분을 무시하고 'abc'를 확인하는 정규식
(?i)(abc)
i
플래그는 일반적으로 소문자 구분을 위해 사용됩니다. 여기에 언어를 제공하지 않지만 아마도 /G[ab].*/i
또는 같은 언어 일 것입니다 /(?i)G[ab].*/
.
완벽을 기하기 위해 유니 코드를 사용하여 C ++의 정규 표현식에 대한 솔루션을 추가하고 싶었습니다.
std::tr1::wregex pattern(szPattern, std::tr1::regex_constants::icase);
if (std::tr1::regex_match(szString, pattern))
{
...
}
이 비슷한 게시물 ( AWK의 경우 무시 ) 에서 알 수 있듯이 이전 버전의 awk (예 : 바닐라 Mac OS X)에서을 사용해야 할 수도 있습니다 'tolower($0) ~ /pattern/'
.
IGNORECASE
나 (?i)
또는 /pattern/i
중 오류가 발생하거나 모든 행에 대해 true를 반환합니다.
씨#
using System.Text.RegularExpressions;
...
Regex.Match(
input: "Check This String",
pattern: "Regex Pattern",
options: RegexOptions.IgnoreCase)
구체적으로 : 옵션 : RegexOptions.IgnoreCase
이미 받아 들여진 답변에 추가 :
그렙 사용법 :
에 대한 참고 grep
보내고 그것은 단순히 추가하는 것입니다 -i
수정. 예 : grep -rni regular_expression
이 'regular_expression' 'r'을 검색하기 위해 'i'n'nsensitive, 결과에 줄'n'umbers를 표시합니다.
또한 정규 표현식을 확인하는 데 유용한 도구가 있습니다. https://regex101.com/
예 :이 이미지의 표현 및 설명을 참조하십시오.
참고 문헌 :
- 매뉴얼 페이지 (
man grep
) - http://droptips.com/using-grep-and-ignoring-case-case-insensitive-grep
[gG] [aAbB]. * 패턴이 너무 복잡하거나 길지 않은 경우 솔루션을 간단하게 만들 수 있습니다.
자바에서 Regex
생성자는
Regex(String pattern, RegexOption option)
따라서 사례를 무시하려면
option = RegexOption.IGNORE_CASE
패턴 일치를 확인하려는 초기 문자열을 소문자로 연결할 수도 있습니다. 그리고 패턴 소문자 기호를 각각 사용하십시오.
참고 URL : https://stackoverflow.com/questions/9655164/regex-ignore-case-sensitivity
'development' 카테고리의 다른 글
DateTime "널"값 (0) | 2020.04.01 |
---|---|
두 날짜 사이의 일 수를 계산하는 방법은 무엇입니까? (0) | 2020.04.01 |
해결 실패 : com.google.firebase : firebase-core : 9.0.0 (0) | 2020.04.01 |
가장 좋은 3 방향 병합 도구는 무엇입니까? (0) | 2020.04.01 |
현재 체크 아웃 된 Git 브랜치를 프로그래밍 방식으로 결정하는 방법 (0) | 2020.04.01 |