1

この状況で機能する正規表現を作成できないようです。

次のような行が何百もあります。

<a title="Match" href="http://mywebsite.com/category/Match"></a>

次のように、html タグの間にタイトル ワードを挿入する必要があります。

<a title="Match" href="http://mywebsite.com/category/Match">Match</a>

これが私の弱い試みです(Notepad ++を使用):

Find:
 title="([A-Za-z][A-Za-z0-9]*?)"([A-Za-z][A-Za-z0-9]*?)><

Replace:
 title="\1"\2>\1<

ご覧のとおり、私は正規表現が本当に苦手です:D

どんな助けでも大歓迎です!

編集:

これは、メモ帳++で検索と置換パネルを使用して実行される1回限りの操作であることを明確にする必要があります。

また、「Match」という単語が行ごとに異なることも明確にする必要があります。

4

2 に答える 2

1

これはNotepad++ 6.3.2で動作します

何を見つける:

(title\=")([^"]+)("[^>]+>)(<)

と置換する :

\1\2\3\2\4
于 2013-08-07T02:49:45.073 に答える
0

キャプチャ グループと後方参照を使用する

キャプチャ グループを使用して一致の一部をキャプチャし、それらを後方参照に置き換えることができます。特定の構文は、言語と実装によって異なる場合があります。2 つの例を次に示します。

ルビーの例

str = %q{<a title="Match" href="http://mywebsite.com/category/Match"></a>}
str.sub /(Match)(">)</, "#{$1}#{$2}#{$1}<"
# => "<a title=\"Match\" href=\"http://mywebsite.com/category/Match\">Match</a>"

GNU sed の例

$ echo '<a title="Match" href="http://mywebsite.com/category/Match"></a>' |
    sed -r 's/(Match)(">)</\1\2\1</'
<a title="Match" href="http://mywebsite.com/category/Match">Match</a>
于 2013-08-07T02:47:44.147 に答える