次の文字列があります。
Lorem ipsum Test dolor sit amet, consetetur sadipscing elitr, sed diam nonumy <a href="http://Test.com/url">Test</a> eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd sed Test dolores et ea rebum. Stet clita kasd gubergren, no sea <a href="http://url.com">Test xyz</a> takimata sanctus est Lorem ipsum dolor sit amet.
ここで、タグの間ではなく、タグの外側にある文字列 'Test' を置き換えます (たとえば、'1234' に置き換えます)。
Lorem ipsum 1234 dolor sit amet, consetetur sadipscing elitr, sed diam nonumy <a href="http://Test.com/url">Test</a> eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd sed 1234 dolores et ea rebum. Stet clita kasd gubergren, no sea <a href="http://url.com">Test xyz</a> takimata sanctus est Lorem ipsum dolor sit amet.
私はこの正規表現から始めました:(?!<a[^>]*>)(Test)([^<])(?!</a>)
しかし、次の 2 つの問題は解決されていません。
- テキスト「Test」もタグ内で置き換えられます (例:
<a href="http://Test.com/url">
) - タグ間のテキストは検索されたテキストと正確に一致しませんか? それも置き換えられます (例:
<a href="http://url">Test xyz</a>
)
誰かがこの問題を解決する解決策を持っていることを願っています。