정규식 이해에 도움

정규식 이해에 도움

나는이 정규 표현식을 가지고 있습니다 \\..\\{3\\}$

이 표현식이 문자열과 어떻게 일치하는지 알고 싶습니다. 내 생각에는 줄 끝의 8개 문자와 일치한다는 것입니다. 이 표현이 그런 뜻인가요?

그렇다면 다음과 같은 문자열이 일치할 것이라고 생각합니다.

rs.efg$tu

답변1

"일반적인" 정규식을 가정하면(불행히도 도구마다 약간 다른 정규식을 처리하고 GNU 및 POSIX 버전도 다르기 때문에 버전 드리프트가 있습니다...) 이는 [유니코드 필요 -Art 마크 필요..]로 구문 분석됩니다.

\.  . \{3\} $
 ▲  ▲   ▲   ▲
 │  │   │   │
 │  │   │   └─ End of line
 │  │   └─ Preceding exactly 3 times (the '\' makes '{' special...)
 │  └─ Any character (except '\n')
 └─ A literal '.' ('.' is special, '\' makes it un-special)

즉, 줄이 끝나기 전에 점과 임의의 문자 3개가 있다는 의미입니다.

*or(마지막 문자가 지원되는 경우)와 같은 구성은 \{3\}마지막 문자나 마지막 괄호(아마도 \( ... \)이지만 다시 정규식 방언에 따라 다름)에서 작동합니다. 매뉴얼을 확인하세요사용하고 있는 정확한 도구의 경우.

관련 정보