>Java >java지도 시간 >정규식 앵커 '^' 및 '$'는 패턴 일치를 어떻게 제어합니까?

정규식 앵커 '^' 및 '$'는 패턴 일치를 어떻게 제어합니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-29 20:32:10300검색

How Do Regular Expression Anchors '^' and '$' Control Pattern Matching?

정규식 앵커 이해: ^ 및 $

정규식 영역에서 '^' 및 '$'는 상당한 힘을 발휘합니다. 이는 경계 표시 역할을 하며 패턴 일치를 문자열의 특정 영역으로 제한합니다.

'^'(문자열 앵커 시작)

'^' 앵커는 문자열의 시작. 이는 패턴이 모든 일치의 최전선에 있도록 보장합니다. 예를 들어보세요.

^\w+@\w+[.]\w+

이 패턴은 "john@example.com"과 같은 이메일 주소와 일치하지만 "john@example.com.office"와는 일치하지 않습니다. '^'가 없으면 정규식은 긴 문자열 내에서 "ohn@example.com"과 일치할 수 있지만 이는 의도하지 않은 일입니다.

'$'(문자열 앵커 끝)

반대로 '$' 앵커는 문자열의 끝과 일치합니다. 패턴 매칭을 끝까지 제한합니다. 예를 들면 다음과 같습니다.

\w+@\w+[.]\w+$

이 패턴은 이메일 주소가 더 큰 문자열 내의 하위 문자열이 아니라 격리된 일치임을 보장합니다.

앵커 조합

'^' 및 '$' 앵커를 결합하면 완전한 문자열 일치가 적용됩니다. 예를 들어보세요.

^\w+@\w+[.]\w+$

이 패턴은 입력 문자열의 모든 문자가 패턴의 문자와 일치하는지 확인합니다. 문자열의 일부가 패턴을 벗어나면 일치 항목이 발견되지 않습니다.

추가 고려 사항

  • 일부 구현에서는 앵커가 암시적으로 존재합니다. 문자열의 시작과 끝(예: Java의 match() 메서드).
  • (?m) 플래그 또는 Pattern.MULTILINE 상수를 사용하면 '^' 및 '$'가 줄 바꿈과 일치하여 여러 줄 문자열 내에서 유연하게 일치할 수 있습니다.

위 내용은 정규식 앵커 '^' 및 '$'는 패턴 일치를 어떻게 제어합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.