文字列からバージョン番号を抽出したい。バージョン番号についてはこれ文字列からバージョン番号を抽出するための正規表現パターン
a string = "Tale: The Secrets 1.6"
b string=" The 34. Mask 1.6.98";
1.6 aとbのためであるあなたはこの形式を一致させる必要があり
[0-9]+(\.[0-9]+)+$
を書くことができ1.6.98
文字列からバージョン番号を抽出したい。バージョン番号についてはこれ文字列からバージョン番号を抽出するための正規表現パターン
a string = "Tale: The Secrets 1.6"
b string=" The 34. Mask 1.6.98";
1.6 aとbのためであるあなたはこの形式を一致させる必要があり
[0-9]+(\.[0-9]+)+$
を書くことができ1.6.98
\d+(\.\d+)+
\d+
:1桁以上の数字
\.
:1つのドット
(\.\d+)+
:ドット桁の1以上の出現箇所
です。 $
は最後に一致するためのもので、必要がない場合は削除できます。
バージョン番号とは、ドットが散在している数字の連続を意味しますか?
\d+(\.\d+)+
試してみてください。
Regex pattern = new Regex("\d+(\.\d+)+");
Match m = pattern.Match(a);
string version = m.Value;
その正規表現は '34. 'のようなドット終端の数字にもマッチします。 – Douglas
@Douglas:そうです、パターンを編集します – Mithrandir
これは、すべての種類のバージョン番号の右のあなたのdefenitionに依存? 1.6はC#の標準バージョン番号ではありません。1.6.0.0に似ています。遭遇する予定の他の種類のバージョン番号は何ですか?一桁はバージョン番号としてカウントされますか?あなたの文字列はあなたが考慮する必要があるバージョン番号以外の数字を持っていますか?正規表現を使って任意の数字の後ろにピリオドをつけて(([0-9] +)\。?)+をコンストラクタで文字列を受け取ることができるVersionクラスに渡すのはどうですか? – devshorts