Dies sollte den Trick:
Suche: (<a[^<>]*href=["']amazon.com.*?)(?=["'])
ersetzen: $0?tag=tagname
Es im Grunde für alles sieht, die mit <a
starten, dann wird geprüft, ob einige Zeichen vorhanden sind oder nicht. Schließlich fügt es den Zusatz ?tag=tagname
vor dem Abschluss "
oder '
hinzu.
Angenommen, Sie PHP verwenden:
$re = '/(<a[^<>]*href=["\']amazon.com.*?)(?=["\'])/';
$str = '<a data-foo="href=\'amazon.com/\'" href=\'amazon.com/productname/dp/productid\' data-foo2=\'bar\'/>';
$subst = '$0?tag=tagname';
$result = preg_replace($re, $subst, $str);
echo "The result of the substitution is ".$result;
Ich bin nicht sicher, warum es nicht die data-foo="href='amazon.com/'"
obwohl die Erfassung, arbeitet aber je nach Bedarf.
Ich versuche diesen Regex-Code im Atom-Editor, und es sagt ungültigen Regex-Code. – Mushegh