Note ++ +-왜 ^가 작동하지 않습니까?


16

나는 멀리 이동하려고 TextPad를 , 난 그냥 같은 정규 표현식을 얻을 수 ^$교체 할 수 있습니다. 정규식 상자를 선택했습니다.

내가 도대체 ​​뭘 잘못하고있는 겁니까?

새 줄의 시작을 찾으려고합니다. TextPad에서 '^'을 찾고 정규식이 활성화되어 있는지 확인하십시오. 메모장 ++에서는 그렇게하지 않습니다. "찾을 수 없음"이라고 표시되어 있습니다.


나는 TextPad를 사용 했고이 같은 문제가 성가신 것으로 나타났습니다 . 기본적으로 Npp의 Regex 기능은 대부분의 다른 Regex-s와 일치 할 때 방해가 됩니다. 이것은 Npp가 한 줄 기반 RegEx를 사용하는 Scintilla Editor 의 추상화 라는 사실에서 비롯됩니다 . (-Npp 승무원은이 문제를 잘 알고 있지만 백홀 버너에 있습니다. (시간과 자원 문제) $는 효과가 있지만, 멀티 라인 (아직)을 작동시킬 수는 없습니다 ^. (드물게, 나는 TPad 또는 UltraEdit으로 되돌아 간다)
Peter.O

1
추신. \ r 및 \ n에 대한 해결 방법으로 Extended (vs RegEx )를 종종 사용할 수 있습니다 . 또한 일반적으로 일반 검색을 유지하고 보기-기호 표시-줄 끝 표시를 켤 수 있습니다. 선택하면 찾기 필드에 (시각적으로) 나타나지 않지만 먼저 CRLF를 누르면 Ctrl-F를 누를 때 찾기 필드 자동 프라임이 시작되어 행복하게 멀티 라인 검색 (RegEx는 아님)이됩니다. 확장 검색과 크게 다르지 않지만 흥미로운 것으로 나타 났으며 일부 독자들도 그렇게 할 수 있습니다. (Npp를 좋아합니다)
Peter.O

왜 정확하게 새로운 라인의 시작을 찾으려고합니까? 모든 줄의 시작 부분에 무언가를 추가 하시겠습니까? 그것은 우리가 실제로 그 질문에 대답하는 데 도움이 될 것입니다. 유료 솔루션에서 벗어나기 위해 메모장 ++을 사용하는 경우 단점을 배우고 해결해야합니다. 메모장 ++은 다른 많은 방법으로 매우 우수하기 때문에이 작업을 수행하는 데 아무런 문제가 없었습니다.
Joshua Nurczyk

답변:


25

^ 및 $는 모두 앵커 는 리터럴 문자를 바꾸려면 수단 정규식은, ^그리고 $당신은 일반적으로 선도적 인 백 슬래시로 이스케이프 할 필요가 ( \^하고 \$).

줄에서 첫 번째 문자를 찾으려면 ^.

시작 줄 앵커 ( ^)는 너비가 0이 아니므 로을 (를 ) 결합합니다. 줄의 시작 부분에서 모든 문자를 찾습니다.

실제로하려는 일을 설명 할 수 있습니까?


8

이들은 앞 ( ^) 및 행 끝 ( ) 을 나타내는 특수 문자이기 때문 $입니다. 로 이스케이프 해보세요 \.

예 :

줄의 시작 부분에 "고양이"와 일치하십시오.

^Cat

줄 끝에서 "고양이"와 일치 :

Cat$

"고양이"를 한 줄에있는 것과 일치

^Cat$

한 줄에서 "$ 100"을 찾습니다 :

\$100 

다음 은 메모장 ++ 내에서 정규 표현식 일치에 대한 링크입니다.


2
링크가 (효과적으로) 끊어진 것 같습니다.
피터 Mortensen

5

나 자신도 같은 문제가 있었다. 시행 착오 후에 다음을 수행하여 동일한 결과를 얻을 수 있습니다.

찾기 : ^ (.)

바꾸기 : [삽입하려는 문자열] \ 1

이 작업은 줄의 첫 번째 문자를 찾아 태그를 지정하고 새 문자열을 넣고 태그가 지정된 문자를 뒤에 넣는 것입니다.

예를 들어, 각 줄의 시작 부분에 작은 따옴표를 삽입해야했습니다.

찾기 : ^ (.)

바꾸기 : '\ 1

다음을 수행하여 줄 끝에서 동일한 작업을 수행 할 수 있습니다.

찾기 : (.) $

바꾸기 : \ 1 * [추가 할 문자열] *


1

알았어

전에

  • Albert@hotmail.com
  • Lucas@gmail.com
  • Rober_Klein@aol.com
  • Fisher@zmail.com

  • 앨버트
  • 루카스
  • Rober_Klein
  • 어부

문자 또는 텍스트 다음에 제거

@ (. *) $

문자 나 텍스트 앞에 제거

^ (. *) @

dot = any character
asterisk = zero or more times

1

방법은 다음과 같습니다.

전에:

$_GET['id']; $_GET['nick'];

후:

htmlentities($_GET['id']); htmlentities($_GET['nick']);

그래서. 온 찾기 필드 넣어 :

$_GET(.*])

대체 필드 넣어 :

htmlentities($_GET\1)

0

문제가 해결 된 것 같습니다.

메모장 ++ v6.9.2 (Windows 7에서 실행 ^)에서 $( 라인 시작)과 (라인 끝)이 모두 작동합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.