이 코드 ^[a-zA-Z]+$가 있고 그 목적은 문자만 분리하는 것이며 +$를 추가한 후에만 작동하고 A33과 같은 것도 계산합니다. 내 질문은 +$의 역할/의미가 무엇입니까?
답변1
안에확장 정규식(예: shell 에서 지원하는 유형 bash
) 은 +
이전 표현식( [a-zA-Z]
자체적으로 주어진 세트의 단일 문자와 일치함)의 수정자이며, 표현식이 적어도 한 번 일치해야 하지만 여러 번 일치할 수도 있습니다. 은 "줄 끝 앵커"입니다. 즉, $
범위 또는 에서 비어 있지 않은 문자열 뒤에는 줄 끝 외에 다른 내용이 있을 수 없음을 의미합니다.a-z
A-Z
마찬가지로 ^
(표현식에 사용된 대로)는 선 시작 부분의 기준점입니다.
이 표현식은 행 끝에 비트를 허용하지 않기 A33
때문에 문자열과 일치하지 않습니다 . 33
그렇지 않은 경우 전체 표현식이 시작 하위 문자열 $
과 일치하므로 표현식은 문자열과 일치합니다 . A
아니요 +
(하지만 있습니다 $
). 그럴 것입니다.아니요AAA
표현식에는 단일 문자만 허용되므로 문자열과 일치합니다 .