2016-01-19 1 views
0

J'ai une page HTML enregistrée que j'ai ouverte dans notepad ++. Je voudrais extraire tous les points attachés du fichier html. Exemple du code HTML ci-dessous:Extraction de toutes les valeurs de point de rattachement du dojo à partir du code HTML

<div class="contentBar"> 
    <div class="banner" style=""> 
     <span class="bannerRepeat"></span> 
     <span class="bannerDecal"></span> 
    </div> 
    <div> 
     <div class="logo" data-dojo-attach-point="pageLogoPt"> 
      ABC 
     </div> 
     <div class="title" data-dojo-attach-point="pageTitlePt"> 
      ABC 
     </div> 
     <div class="userPane"> 
      <div> 
       <span class="LoginCell LoginText"><span data-dojo-attach-point="welcomeBlockPt">Welcome</span>, <b data-dojo-attach-point="usernameBlockPt">User Name</b></span> 
       <span widgetid="acme_Button_0" id="acme_Button_0" class="LoginCell Button" data-dojo-type="acme.Button" data-dojo-props="size: 'small'" data-dojo-attach-point="logOutButtonPt"><span widgetid="dijit_form_Button_0" class="dijit dijitReset dijitInline dijitButton ButtonSmall" role="presentation"><span class="dijitReset dijitInline dijitButtonNode" data-dojo-attach-event="ondijitclick:__onClick" role="presentation"><span style="-moz-user-select: none;" aria-disabled="false" id="dijit_form_Button_0" tabindex="0" class="dijitReset dijitStretch dijitButtonContents" data-dojo-attach-point="titleNode,focusNode" role="button" aria-labelledby="dijit_form_Button_0_label"><span class="dijitReset dijitInline dijitIcon dijitNoIcon" data-dojo-attach-point="iconNode"></span><span class="dijitReset dijitToggleButtonIconChar">&#9679;</span><span class="dijitReset dijitInline dijitButtonText" id="dijit_form_Button_0_label" data-dojo-attach-point="containerNode">Logout</span></span></span><input value="" class="dijitOffScreen" data-dojo-attach-event="onclick:_onClick" tabindex="-1" role="presentation" aria-hidden="true" data-dojo-attach-point="valueNode" type="button"></span></span> 
      </div> 
      <div> 
       <span id="printLink" style="display:none;">Print</span> 
       <span id="zoomPercentageDisplay"><span data-dojo-attach-point="zoomBlockPt">Zoom</span>: 100%</span> 
       <span id="smallFontSizeLink" style="font-size: .8em;">A</span> 
       <span id="defaultFontSizeLink" style="font-size: 1em;">AA</span> 
       <span id="largeFontSizeLink" style="font-size: 1.2em;">AAA</span> 
      </div> 
     </div> 
    </div> 
</div> 

Je voudrais obtenir:

pageLogoPt 
pageTitlePt 
welcomeBlockPt 
usernameBlockPt 
etc ... 

Est-ce possible? Merci

Répondre

2

Vous pouvez effectuer les opérations suivantes:

  1. Remplacer (data-dojo-attach-point="[^"]+)(?=") avec \n\1\n. Cela mettra ce que vous cherchez sur des lignes distinctes.
  2. Tout marquer en fonction de l'expression régulière data-dojo-attach-point="[^"]+. Cochez la case "Bookmark line".
  3. Recherche -> Ajouter aux favoris -> Supprimer les lignes non marquées
  4. Remplacez data-dojo-attach-point=" par vierge.

Cela vous donnera votre liste avec chaque élément dans sa propre ligne.

Testé sur Notepad ++ 6.8.8.

Inspiré par https://superuser.com/questions/477628/export-all-regular-expression-matches-in-textpad-or-notepad-as-a-list.

+0

Merci, mais savez-vous comment je peux utiliser cela dans le bloc note ++ pour ajouter les valeurs de point de fixation? J'espère que je peux faire une recherche/remplacement en utilisant la regex et il me laissera avec juste les valeurs de point de fixation. – ratsstack

+0

@ratsstack Juste ajouté des étapes complètes. – Szymon

+1

Vous Monsieur êtes un génie! :-) Merci beaucoup. – ratsstack