3

いくつかの情報を抽出するために、次の文字列を取得しました。

String: String: String Number;

現在、引数を取得するために次の正規表現を使用しています。

(.*?):(.*?):(.*?);$

このようにして、マッチャーで次の出力を取得します。

group(1) = String
group(2) = String
group(3) = String Number

番号が必要な場合は、次のように3番目のグループの出力で別の正規表現を実行する必要があります。

([a-zA-Z]* ?([0-9])?$)

文字列で使用すると、次のString Numberように出力されます。

group(1) = String
group(2) = Number

両方のステップを組み合わせ(.*?):(.*?):([a-zA-Z]* ?([0-9])?);$て、String: String: String Number;-Stringのように正規表現を使用することを考えました。しかし、これは機能せず、理由はわかりません。

4

1 に答える 1

3

あなたが行った、余分な空白の一致を追加しましたが、これはうまくいくようです.2番目の : と次の文字列の間に空白がありませんでした

 ^(.*?):\s*(.*?):\s*([a-zA-Z]*\s+([0-9])?);$
于 2012-09-28T13:38:53.247 に答える