2013-08-03 2 views
2

ultraedit에서 "(1978)", "(2003)"과 같은 문자열에 대괄호를 제거하려고합니다. 실제로 정규식을 사용하여 이러한 문자열을 찾는 방법을 알고 있습니다 : \(\d{4}\),하지만 브래킷을 제거하는 방법을 모르겠습니다. 어떤 도움을 주시면 감사하겠습니다.ultraedit과 정규식을 사용하여 "(2003)"과 같이 문자열에서 괄호를 제거하는 방법은 무엇입니까?

+0

시스템에 perl을 설치하고 perl -pi -e 's! \ (\ d + \)! $ 1/g'파일 이름 –

답변

3

패턴 다음 찾기 :

\((\d{4})\) 

과 함께 그 대체 :

^1 

가 식을 태그 할 수 Regular expression for Ultraedit

^1

수치 참조를 참조하십시오. 태그가있는 표현식과 일치하는 텍스트는 Replace 명령에서이 형식으로 사용될 수 있습니다.

^1 다른 정규 표현 엔진에 \1 또는 $1 (역 참조)에 대응한다.

+0

고마워, 나는 당신의 제안으로 그것을 해결할 수 있었다. 그러나 당신은 ultraedit에서'perl 엔진 '을 사용하고있는 것으로 보인다? 그리고 나는'^ 1 '보다는'$ 1'을 사용했습니다. 대체로 귀하의 도움에 감사드립니다. –

1

이 같은 정규 표현식에 캡처 그룹을 정의 할 수 있어야한다 :

\((\d{4})\) 

참고 이스케이프 괄호. 그런 다음 대체 문자열에서 캡처 된 텍스트를 \1 또는 $1을 사용하여 사용할 수 있습니다. 나는 그 두 UltraEdit 용도 중 어느 것이 확실하지 않다. 둘 다 시도해보고 어떤 것이 효과가 있는지보십시오.

+0

감사합니다. '$ 1'을 사용했는데 정상적으로 작동했습니다. –

관련 문제