-1

次のデータを含む入力ストリームがあります。

---------------------------------------------
manil@manil-ubvm:~$ db2level
DB21085I  Instance "manil" uses "64" bits and DB2 code release "SQL10010" with 
level identifier "0201010E".
Informational tokens are "DB2 v10.1.0.0", "s120403", "LINUXAMD64101", and Fix 
Pack "0".
Product is installed at "/home/manil/sqllib".
---------------------------------------------

v10.1.0.0上記から、文字列変数に格納する必要があります。

Java正規表現を使用してそれを行う方法は?

4

3 に答える 3

1

これはあなたのニーズに合うでしょう:

String version = yourLine.replaceAll(".*(v\\d+([.]\\d+){3}).*", "$1")
于 2013-01-29T08:56:25.737 に答える
1

バージョン パターンを取得するには、次のようなものを使用します。

import java.util.regex.*;

    public class RTest {

            public static void main(String [] args) {
                    String raw_data = "asdkgjasdbf984 sdkjfashfiu 4qwsadkfjnv w98sa-asdf08gywbfsd v1231.123.12.11.1 fkjsdfn9823isd";
                    Pattern version_find = Pattern.compile("v[\\d+\\.?]+");
                    Pattern directory_find = Pattern.compile("[\\/[^\\/]+]+");
                    Matcher version_finder = version_find.matcher(raw_data);
                    while(version_finder.find()) {
                          System.out.println(version_finder.group());
                    }
            }
    }

出力は次のとおりです。

v1231.123.12.11.1
/isd/asdasd2903 ajshdaq09r34/adsj 38/

あなたプログラマーなら、正規表現を深く理解する必要があります。それらは必需品の1つです。最初は難しいですが、一度「割る」と忘れることはありません。自転車に乗るように。

于 2013-01-29T08:49:59.610 に答える
0

ここに正規表現は必要ありません

ただ使う

String .contain()メソッドとString substring()

于 2013-01-29T08:39:02.643 に答える