次のように入力されるテキスト入力があります
7 - BMW 550i
ユーザーがこれを入力した場合、正規表現を使用してダッシュ文字の右側にあるすべてのコンテンツを削除し、最初の数値だけが残るようにするにはどうすればよいですか。
私はこれを試しました:
-?\\d+
しかし、私が与えた例のように、それは終了番号を取得します。
次のように入力されるテキスト入力があります
7 - BMW 550i
ユーザーがこれを入力した場合、正規表現を使用してダッシュ文字の右側にあるすべてのコンテンツを削除し、最初の数値だけが残るようにするにはどうすればよいですか。
私はこれを試しました:
-?\\d+
しかし、私が与えた例のように、それは終了番号を取得します。
これはうまくいくはずです:
(\d+)\s*-
結果を取得するために使用$1
します。
たとえば、Perl では次のように使用します。
my ($number) = ($str =~ /(\d+)\s*-/);
RegexPlanetオンライン デモ.
正規表現を使用せずにこれを行うには、はるかに効率的な方法があります。その方法を検討することをお勧めします。