2017-07-25 11 views
2

私は誰かがアンカータグを一掃する手助けをしようとしています。もともと、相対パスは一連のサブディレクトリを使用していましたが、今ではすべてのファイルを1つのディレクトリに移動しましたが、サブディレクトリへの参照をすべて削除してリンクをクリーンアップする必要があります。何千ものファイルを修正する必要があり、私はそれらをクリーンアップする信頼性の高い正規表現を書こうとしています。引用符の間に一致する正規表現/

以下は、私が遭遇しているタイプの例であり、すべてのタイプで動作するものを書くのに問題があります。

開始:

<a href="Choosefile.html">Choosing a File Type</a> 
<a href="Deletefiles.html">Deleting a File</a><br /><a href="Exporting_a_File/Exportwindow.html"> 
<a href="Importing_a_File/Importwindow.html"> 
<a href="Searching/Searching_for_a_File/Searchpanel.html"> 

目標:

<a href="Choosefile.html">Choosing a File Type</a> 
<a href="Deletefiles.html">Deleting a File</a><br /><a href="Exportwindow.html"> 
<a href="Importwindow.html"> 
<a href="Searchpanel.html"> 

は現在、私は以下の式を持っていますが、同じ行に複数のアンカータグがある場合、それは動作しません。あなたのデータが一致している場合

(?<=href\=([\"'])).*(?<=[a-z])(?:\\|\/)(?=[a-z]) 

答えて

0

することは、あなたは

\shref=(["'])\K(?:(?!\1).)*/ 

を使用することができます(注/はエスケープが必要になる場合があります、それはあなたが正規表現を使用している場所によって異なります)regex demoを参照してください。

  • \sは - href=サブ
  • (["']) - - 'または"引用符(グループ1)
  • \Kから
  • (?:(?!\1).)*これまでにマッチしたテキストを省略 - 空白
  • href=に一致します'または"以外の0個以上の文字(値はグループ1に取り込まれた値によります)
  • / - / char。
+1

ありがとうウィクスター。それはうまくいった。他の人たちのために、リンクされた正規表現のデモに含まれる正規表現は\ shref = ["'] \ K [^'"] * /私は少しうまくいくと思います。 – cforrester

+0

実際はV2です。最新のregexバージョンへのリンクを更新しました。 –

関連する問題