1

だから私の正規表現では、コンテンツがダッシュ付きの数字であるグループがあります:

00-111-222-333-44

このグループの数字のみを選択するために、ダッシュ文字で前向き先読みを使用するにはどうすればよいですか。目標は、後でグループを逆参照するときに、出力でこれを期待することです。

0011122233344

このようなものですが、文字列全体では、式はダッシュの前の最初の数字、つまり 00 に一致するだけです:

[0-9]+(?=-)

ダッシュを無視して、そのグループ内のすべての数字を選択する簡単な方法はありますか?

4

2 に答える 2

1

次の perl コマンドを使用して、数字の間に表示されているすべてのハイフンを置き換えることができます。

perl -pe 's#(?<=\d)-(?=\d)##g'
于 2013-03-28T12:51:13.840 に答える
0

このグループのダッシュで前向き先読みを使用して、後でグループを逆参照するときに数字のみが含まれるようにするにはどうすればよいですか?

これは正規表現では不可能です。グループは、入力文字列の完全な部分文字列のみを参照できます。それを一致させようとする代わりに、2 段階のアプローチを適用し、正規表現置換を使用して、一致する前にすべてのダッシュを削除する必要があります。

于 2013-03-28T11:38:22.170 に答える