口座番号が含まれているように見えるテキストのビットをマスクする「単純な」正規表現を考え出そうとしています。
平易な英語で:
- 数字を含む単語 (またはそのような単語の列) が一致する必要があります
- 最後の 4 桁はそのままにしておきます
- 一致した文字列の前の部分をすべて 4 つの X (xxxx) に置き換えます。
ここのところ
私は以下を使用しています:
[\-0-9 ]+(?<m1>[\-0-9]{4})
で置き換える
xxxx${m1}
しかし、これは以下の最後のいくつかのサンプルを見逃しています
サンプルデータ:
123456789
a123b456
a1234b5678
a1234 b5678
111 22 3333
this is a a1234 b5678 test string
実績
xxxx6789
a123b456
a1234b5678
a1234 b5678
xxxx3333
this is a a1234 b5678 test string
予想された結果
xxxx6789
xxxxb456
xxxx5678
xxxx5678
xxxx3333
this is a xxxx5678 test string
そのような取り決めは正規表現の置き換えで可能ですか?
貪欲さと先読み機能が必要になると思いますが、それらの分野での経験はありません。