2014-07-22 1 views
3

나는 'href'가 비어 있거나 값이 #이고 앵커 요소가 모두 button 인 모든 앵커 요소를 대체하려고합니다. 그들이 클래스를 가지고 있다면 과정에 추가 클래스를 추가하고 btn btn-link 다른 모든 속성을 유지하고 싶습니다. Nodepad ++에서이 작업을 수행하려고합니다. 내가 3 정규 표현식을 대체하여이 작업을 수행하는 것이 좋습니다모든 링크가 빈 앵커와 일치합니까?

<button class="btn btn-link" data-ng-click="openDeleteDialog(futureTask,$event)" title="@ResourceDictionary.CommonDeleteLabel"><i class="fa fa-trash-o fa-lg"></i></button> 

<button class="btn btn-link delete" data-ng-click="delete(futureTask,$event)"><i class="fa fa-calendar"></i></button> 
+0

'(. *) '도 욕심이 없어야합니까? – hjpotter92

+0

실행중인 언어는 무엇입니까? –

+0

@AvinashRaj 내 IDE에서 실행하는 데 필요한 - 메모장 ++, VS ... – ivayloc

답변

1

:

<a (?=.*?href="#")(?:.*?class="(.*?)")?(.*?)>(.*)</a>

<a href="#" data-ng-click="openDeleteDialog(futureTask,$event)" title="@ResourceDictionary.CommonDeleteLabel"><i class="fa fa-trash-o fa-lg"></i></a> 

<a href="#" class="delete" data-ng-click="delete(futureTask,$event)"><i class="fa fa-calendar"></i></a> 

변환 내 정규식입니다. 와

  1. 변환 요소href="#" 요소 버튼 에 :
    검색 문자열 : <a\s+([^>]*?)href="#"([\s\S]+?)</a>
    문자열 바꾸기 : <button class="btn btn-link" \1\2</button>

  2. 클린 업 공백을class="btn btn-link"을 한 후 :
    검색 문자열 : (class="btn btn-link")[\t ]{2,}
    문자열 바꾸기 : \1\x20

  3. 가 시작하는 내 수업에 참여 버튼 태그 :
    검색 문자열 : (<button class="btn btn-link)"([^>]+?)class="(.+?)"\s*
    교체 문자열 : \1 \3"\2

물론 두 번째 대체 문자열에 \x20 대신 공백 문자를 사용할 수도 있습니다.

그 3 명 정규 표현식을 대체 어디 UltraEdit는의 v21.20를 사용하는 태그와 문자열 값 내에 존재하는 새로운 라인을 가진 태그를 시작하는 내 href="#" 여러 예를 들어 라인에서 테스트되었다. 메모장 ++는 UltraEdit과 동일한 대체물을 사용해야합니다.

관련 문제