나는 다음과 같은 여러 줄을 가지고 있습니다.
\node[ ... Some code here ... { ... some more code
\node[ ... Some code here ... { ... some more code
\node[ ... Some code here ... { ... some more code
[
각 줄에서 의 코드를 {
내 코드로 바꾸고 싶습니다 .
\node
항상 각 줄의 시작 부분에 있습니다.{
~이다~ 아니다줄 끝에.
나는 이미 (여기서) ^\\node.*\{
or 같은 것을 찾아 시도했지만 둘 다 동일한 만족스럽지 못한 결과를 가져왔습니다. 즉 , 문서의 \\node.*\{
맨 마지막 부분까지 전체 코드가 표시됩니다.{
답변1
실제로 Wrap around를 활성화하는 것은 완전히 괜찮습니다. 사실 그렇게 하는 것이 좋습니다.
조각이 줄의 시작 부분에 있음이 보장되므로 캐럿( ^
) 앵커를 사용할 수 있습니다.
다음은 나에게 효과적입니다.
찾다: ^\\node\[[^{]*\{
; 다음으로 교체:\\node[test{
^
줄의 시작 부분에 대한 앵커입니다 . 특수 문자를 이스케이프 처리한 후 \\node\[
text 와 일치합니다 . 여는 중괄호를 제외한 모든 문자를 가져옵니다. (여기서는 문자 클래스에 있기 때문에 이스케이프할 필요가 없습니다.) 그런 다음 여는 중괄호 자체를 가져옵니다.\node[
[^{]*
{
\{
만약에 ... Some code here ...
중괄호를 포함할 수 있습니다:
찾다: ^\\node\[.*\{([^{]*)$
; 다음으로 교체:\\node[test{$1
첫 번째 부분은 동일합니다. 그런 다음 .*
가능한 한 많은 문자를 일치시킵니다. \{
여는 중괄호와 일치한 다음 ([^{]*)$
줄 끝까지 모든 문자를 일치시키고 캡처합니다. 가 지정 되었으므로 [^{]
여는 중괄호와 일치하지 않으므로 이전 항목은 줄의 \{
마지막 항목과 일치해야 합니다 .{
답변2
검색 / 바꾸기 대화 상자에서 찾을 내용을 사용하여 다음을 수행합니다.마디[.*{다음으로 교체:노드[테스트{성공적으로 교체...여기에 일부 코드가 있습니다...~와 함께시험각 줄에.
다음 옵션을 지정해야 합니다.
- "둘러싸기"를 선택하지 마십시오.
- "정규식"을 선택하십시오.
- ".이 줄바꿈과 일치"를 선택하지 마십시오.