説明
次の正規表現でこれを行うことができます
(<a\b[^>]*?\btitle=(['"]))(.*?)\2

概要
(
キャプチャ グループ 1 を開始
<a\b
開いた山かっこを使用a
し、単語の区切りが続く
[^>]*?
閉じていない山かっこ文字を最大ですべて消費します...これにより、正規表現がアンカータグ内にとどまります
\btitle=
単語区切りを消費しtitle=
、区切りは追加のチェックを行うのに役立ちます
(['"])
キャプチャ グループ 2、開いている一重引用符または二重引用符が使用されていることを確認します
)
キャプチャ グループ 1 を閉じる
(.*?)
キャプチャ グループ 3 を開始し、引用符内のすべてのテキストを収集するために非貪欲に消費します
\2
キャプチャ グループ 2 の文字列を参照します。一重引用符を使用して値を開いた場合は、値を閉じるために一重引用符が必要になります。二重引用符を使用した場合も同様です。
置換コマンドでは、見つかった文字列全体を次のように単純に置き換えています<a to the close quote
: グループ キャプチャ 1、その後に目的のテキスト、NewValue
その後にグループ キャプチャ 2 からの終了引用符が続きます。
PHP の例
<?php
$sourcestring="<a href="example.com" title="blah3x">Example</a>";
echo preg_replace('/(<a\b[^>]*?\btitle=([\'"]))(.*?)\2/im','\1NewValue\2',$sourcestring);
?>
$sourcestring after replacement:
<a href="example.com" title="NewValue">Example</a>
免責事項
HTML パーサーによるテキストの解析は望ましい解決策ではないため、正規表現を使用した HTML の解析に関する通常のソープ ボックスの免責事項はスキップします。