2016-07-22 4 views
1

^^.*을 정규식 패턴으로 비교했을 때의 차이점은 무엇입니까?솔로 캐럿 대 욕심쟁이 욕심쟁이 옵션 문자

외모가 ^ 인 것만으로도 유효한 패턴이 될 수 있습니다. JSFiddle에

시험 결과 : - https://jsfiddle.net/wLvx0mus/4/

+1

예를 표시하십시오. '^'는 문맥에 따라 약간 다른 것들이 될 수 있습니다. [String Anchors] (http://www.regular-expressions.info/anchors.html), [Literal Character] (http://www.regular-expressions.info/characters.html) 또는 [Character 클래스] (http://www.regular-expressions.info/shorthand.html) –

+0

많은 사용자가 regex101을 사용하여 regex 예제를 보여줍니다. [내가 생각하는 것의 예입니다] (https://regex101.com/r/zU7kG4/1) –

+0

"모든"문자를 나타 내기 위해 가장 짧은 옵션 인 캐럿을 사용할 수 있습니다. , 왜 ^. * (더 길게)를 사용해야합니까? –

답변

1

예, /^/은 유효한 패턴입니다. 그것은에 적용된 모든 문자열과 일치합니다, 그래서, 검색의 유효성을 검사 또는 텍스트를 추출하기위한 더 좋은 없지만 교체를 위해 유용

result = subject.replace(/^/mg, "gronk"); 

모든 라인의 시작 부분에 gronk를 추가 할 것이다. 반면 :

result = subject.replace(/^.*/mg, "gronk"); 

... gronk으로 모든 행의 내용을 대체합니다.

1

당신이 문자열 문자의 시작으로 그것을 사용하는 가정은, 하나는 문자열의 시작 부분과 일치하는 다른 하나는 처음부터 시작하여 모든 종류의 0 개 이상의 문자를 나타냅니다 문자열의

첫 번째 대체 값은 효과적으로 대체 값 앞에 붙는 반면 다른 하나는 대체 값으로 모든 값을 대체합니다. 문자 클래스에 ^를 사용하는 경우

그러나, 부정적인 매치 플래그를 수 (예를 들어, [^.*]는 문자 . 또는 * 아닌 모든 문자를 표시한다). 어쨌든, 귀하의 경우에 어떻게 사용되는지에 대한 문맥을 모른 채 유용한 대답을 제공하는 것은 매우 어렵습니다. 또한 사용중인 정규 표현식을 제공하십시오. 신택스의 차이는 큰 영향을 미칠 수 있습니다.