テキストファイルから、のパーセンテージ(数字+%またはパーセント)を含むすべての行を見つけなければなりませんこれに対して私は正規表現を作成しましたが、正しく動作しません。正規表現を使用してパーセントテキストを抽出するには?
正規表現文字列:\b(\d+(%|(percent)))\b
と私の入力は
- 423パーセント
- 423パーセントです:
- 10percent
- 10percent:
第一2例にとって一致しませんが、3番目とそれは動作します。
私の要件は、非単語の文字の前に一致するのを防止
テキストファイルから、のパーセンテージ(数字+%またはパーセント)を含むすべての行を見つけなければなりませんこれに対して私は正規表現を作成しましたが、正しく動作しません。正規表現を使用してパーセントテキストを抽出するには?
正規表現文字列:\b(\d+(%|(percent)))\b
と私の入力は
第一2例にとって一致しませんが、3番目とそれは動作します。
私の要件は、非単語の文字の前に一致するのを防止
ワード境界%
後にはalphabate又は数があってはならない番号+%またはパーセントとその周りを有するラインをidentfyすることです。
使用
\b\d+(?:%|percent\b)
を参照してくださいregex demo
パターンが一致します。
\b
- 大手ワード境界\d+
- 1+桁(?:%|percent\b)
- 二つの選択肢の1:
%
- パーセント記号percent\b
- 単語percent
は、ワード境界で続きます。ありがとうございました。訂正と代替手段の発見に多くの時間を費やす – madan
あなたはこの試みることができる:これが所望の値の前と後の両方の空白や句読点のいずれかを持っている値を返します
[^a-zA-z]((\d+)((\u0025)|(percent)))[^a-zA-z0-9]
を。
パーセント記号をエスケープしてみてください:\% – Seb
thnx :)すでに動作していません – madan
ヒント:正規表現がhttps://regex101.com/で動作するかどうかを確認できます。 – Koen