2017-09-08 8 views
1

https://regex101.com/ < - 正規表現をテストしたい人向けです。どのようにして正規表現を使うことができますか?

私はインドネシアの価格パーサーに取り組んでいます。

言って、私は以下の実施例を有する:

1)150 K
2)150キロバイト
3)150 KA
4)150 K2
5)150 K)
6)150 K。

私たちは知っている1)、5)、6)価格は明らかに残ることはできませんが、することができます。
私の正規表現は、現実に少し複雑ですが、簡単にするために、

はのは私の正規表現があるとしましょう。)[0-9] +(\は[K] * S)

これは1をキャッチ)6に、すべてのそれら。

だから私は、正規表現に[^ 0-9A-ZA-Z]を置く:[0-9] +(\ * S [K])[^ 0-9A-ZA-Z]

は今、私は1を得ました)、5)、6)のみ、これは問題ありません。

[...]のような不要な接尾辞がある問題

価格情報に関係しない[]のような接尾辞なしで '150 k'だけを解析するにはどうすればよいですか?

5)、6)手作業で1つ以上のプロセスを手に入れても問題ありませんか?

ありがとうございました。

+0

@Adrian - あなたはGoタグを削除してはいけません。 Regexの記述では、「正規表現が完全に標準化されていないため、このタグのすべての質問には、該当するプログラミング言語またはツールを指定するタグも含める必要があります」というプログラミング言語が尋ねられます。 re2では多くのことが実装されていないため、Goタグが便利です。ありがとう! – Kobi

+0

それからタグの中だけでなく、質問の本文にも言及する必要があります。身体の中には何の言及もなく、タグは無意味です。 – Adrian

答えて

2

私は(\d+\s*k)\bがあなたの目的を果たすだろうと思います。 'k'の後に単語境界に達したかどうかをチェックします。この単語の境界は何でもかまいません。はい、でも)です。これを見てくださいexample

関連する問題