Regular Expressions                
            앵커 캐릭터 : 캐럿 (^)
        
        
            
    수색…
비고
술어
캐럿 (^) 문자는 다음 용어로도 참조됩니다.
- 모자
 - 제어
 - 업로 우드
 - 쉐브론
 - 곡절 악센트
 
용법
정규식에는 두 가지 용도가 있습니다.
- 행의 시작을 나타 내기 위해
 -  대괄호 ( 
[^) 바로 뒤에 사용하면 허용되는 문자 집합을 무효화합니다 (즉,[123]은 문자 1, 2 또는 3이 허용됨을 의미하고[^123]은 1 이외의 문자를 의미합니다 , 2 또는 3이 허용됩니다. 
문자 이스케이프
 특수한 의미가없는 캐럿을 표현하려면 캐럿 앞에 백 슬래시를 붙여서 이스케이프해야합니다. ie \^ . 
라인의 시작
 때 멀티 라인 (?m) 수정이 꺼져 ^ 단지 입력 문자열의 시작과 일치 : 
정규식의 경우
^He
 다음 입력 문자열은 다음과 일치합니다.
-  
Hedgehog\nFirst line\nLast line -  
Help me, please -  
He 
다음 입력 문자열이 일치하지 않습니다 .
-  
First line\nHedgehog\nLast line -  
IHedgehog -  
Hedgehog(공백 때문에)) 
 여러 줄 때 (?m) 수정이 켜져, ^ 모든 라인의 시작과 일치 : 
^He
  위는 He 시작하는 행을 포함하는 입력 문자열과 일치합니다. 
 줄 바꿈 문자로 \n 을 고려하면 다음 줄이 일치합니다. 
-  
Hello -  
First line\nHedgehog\nLast line(두 번째 줄만) -  
My\nText\nIs\nHere(마지막 행만) 
다음 입력 문자열이 일치하지 않습니다 .
-  
Camden Hells Brewery -  
Helmet(공백 때문에) 
 ^ 사용하여 빈 줄 일치 ^ 
캐럿의 다른 일반적인 사용 예는 빈 행 (또는 여러 줄 수정자가 꺼져있는 경우 빈 문자열)을 일치시키는 것입니다.
 빈 줄 (multi-line on )과 일치시키기 위해 줄 끝의 위치를 나타내는 다른 앵커 문자 인 $ 옆에 캐럿이 사용됩니다 ( Anchor Characters : Dollar ($) ). 따라서 다음 정규식은 빈 행과 일치합니다. 
 ^$
        캐럿 문자를 이스케이프 처리합니다.
 문자 클래스 ( 문자 클래스 )에서 ^ 문자를 사용해야하는 경우 클래스의 시작 부분이 아닌 다른 곳에 넣으십시오. 
[12^3]
  또는 백 슬래시 \ 사용하여 ^ 를 이스케이프 처리하십시오. 
[\^123]
 문자 클래스 밖에서 캐럿 문자 자체를 일치 시키려면 이스케이프해야합니다.
\^
  이렇게하면 ^ 가 문자열 / 줄의 시작 부분을 나타내는 앵커 문자로 해석되는 것을 막을 수 있습니다. 
라인 앵커의 비교 시작과 문자열 앵커의 시작
 많은 사람들이 ^ 는 문자열의 시작을 의미한다고 생각하지만 실제로 는 행의 시작을 의미 합니다. 문자열 앵커 사용의 실제 시작은 \A 입니다. 
 문자열 hello\nworld (또는 더 명확하게) 
hello
world
  정규 표현식 ^h , ^w 및 \Ah 는 일치하지만 \Aw 는 일치하지 않습니다. 
다중 행 수정 자
 기본적으로 캐럿 ^ 메타 문자는 문자열의 첫 번째 문자 앞에 위치 를 일치시킵니다. 
 " charsequence "문자열이 /^char/ & /^sequence/ 패턴에 적용되면 엔진은 다음과 같이 일치하려고 시도합니다. 
/^char/-  ^ - 
광문 -  c - 
charsequence -  시간 - 
charsequence -  A - 
charsequence -  r - 
char순서 
경기 결과
-  ^ - 
 /^sequence/-  ^ - 
광문 -  s - 
광문 
경기를 찾을 수 없음
-  ^ - 
 
 문자열에 줄 끝 기호 (예 : \r?\n 가 포함되어 있어도 동일한 동작이 적용됩니다. 문자열의 시작 부분에있는 위치 만 일치합니다. 
예 :
/^/g
 ┊char \ r \ n
\ r \ n
순서
 당신은 모든 라인 종결 후 일치해야하는 경우에는, 당신은 여러 모드를 설정해야합니다 ( //m , (?m) ) 당신의 패턴 내에서. 이렇게함으로써, 캐럿 ^ 문자열의 시작 위치와 위치 직후의 1 라인에 대응 터미네이터 "각 라인의 시작"와 일치한다. 
 1 일부 종결 자 (Java, PCRE, ...)에서 줄 끝 기호가 문자열의 마지막 인 경우 줄 끝 기호 뒤에 ^ 가 일치하지 않습니다. 
예 :
/^/gm
 ┊char \ r \ n
┊ \ r \ n
┊ 시퀀스
Multiline 수정자를 지원하는 정규식 엔진 중 일부는 다음과 같습니다.
Pattern pattern = Pattern.compile("(?m)^abc"); Pattern pattern = Pattern.compile("^abc", Pattern.MULTILINE);var abcRegex = new Regex("(?m)^abc"); var abdRegex = new Regex("^abc", RegexOptions.Multiline)/(?m)^abc/ /^abc/mabc_regex = re.compile("(?m)^abc"); abc_regex = re.compile("^abc", re.MULTILINE);