しゅうすけ回答ポイント 1000ptウォッチ 1

正規表現の置換について質問です。

例えば、
「-480円-2.2%」
のような文字列があったとします。
前半はカンマ区切りにもなり得る数値と円
後半は小数点以下があり得るパーセンテージです。
それを、
"-480","-2.2"
という2つの文字列をダブルクオーテーションで囲ったカンマ区切りのデータに置き換えるために次のような正規表現を考えました。
パターン「(-*)(\d{1,3})(((,)\d{3})*)(円)(-*)(\d+)(.)(\d*)%」
置換文字列「"\1\2\4\","\7\8\9\10"」
上記の置換文字列は、後方参照の考え方で、パターンないのカッコの中の番号を引用しているのですが、
くせ者が、最後の\10というもので、これは10番目のパターンとして解釈して欲しいのですが、
「\1」と「0」という組み合わせと解釈されてしまい、以下のように置換されてしまいます。
"-480","-2.-0"
10番目以降のパターンを表現するには10という数字は使えないのでしょうか?
10番目以降のパターンを表現する方法がお分かりの方がいましたらご教示下さい。

また、単純に目的を達成する正規表現とその置換文字列のセットでも構いません。
その場合は、注釈を入れて説明して頂けると助かります。

※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。
ログインして回答する

ベストアンサー

その他の回答

この質問へのコメント

この質問への反応(ブックマークコメント)

質問の情報

登録日時
2019-03-20 00:25:55
終了日時
2019-03-20 22:10:57
回答条件
1人1回まで

この質問のカテゴリ

この質問に含まれるキーワード

正規表現647上記129小数点104

人気の質問

メニュー

PC版