0

少し問題があります。処理を高速化するために html にコピーする必要があるテキスト ドキュメントがたくさんあります。さまざまなテキストに太字のタグを追加できるように、正規表現を検索して置き換えます。

次のようなテキストがたくさんあります。

1. Centrum Multimineral Vitamin x 30 £3.19 was £4.79 (11p per tablet)

正規表現の検索と置換を作成して、ドットとスペースの後にある数字と最初の価格の間のすべてのテキストを検索しようとしています。これを行うには、検索と置換が必要です。

<b>1. Centrum Multimineral Vitamin x 30 £3.19</b> was £4.79 (11p per tablet)

これまでのところ、私は次のような表現を書きました。

検索する:

([0-9]{1}[\.\s][\s\D]?[^<]*)(\£\d\.\d\d[^<])

と置換する :

<b>$1$2</b>

出力:

<b>1. Centrum Multimineral Vitamin x 30 £3.19 was £4.79</b> (11p per tablet)

この検索を変更して、最初の £ 記号で停止し、価格を含めるにはどうすればよいですか?

4

1 に答える 1

0

この小さな変更を試してください:

([0-9]{1}[\.\s][\s\D]?[^<]*?)(\£\d\.\d\d[^<])
                           ^

?これにより、アスタリスク演算子が*消極的(怠惰)になるため、入力文字列を最後まで読むのではなく、1 文字ずつ読み取り、バックトラックして\£\d\.\d\d[^<].

于 2013-11-05T14:29:43.710 に答える