簡體   English   中英

從字符串中提取版本號的正則表達式模式

[英]Regex pattern to extract version number from string

我想從字符串中提取版本號。

a string =  "Tale: The  Secrets 1.6"

b string=" The 34. Mask 1.6.98";

所以對於版本號是 1.6 而對於 b 是 1.6.98

\d+(\.\d+)+

\\d+ :一位或多位數字
\\. : 一點
(\\.\\d+)+ :點位數字的一次或多次出現

會發現

2.5
3.4.567
3.4.567.001

但是不會找到

12
3.
.23

如果你想排除像2.5這樣的十進制數字並期望版本號至少有 3 個部分,你可以使用這樣的量詞

\d+(\.\d+){2,}

在逗號之后,您可以指定最大出現次數。

嘗試:

Regex pattern = new Regex("\d+(\.\d+)+");
Match m = pattern.Match(a);
string version = m.Value;

你可以寫

[0-9]+(\.[0-9]+)+$

這應該與格式匹配。 $用於最后匹配,如果不需要可以刪除。

版本號是指任何散布點的數字序列嗎?

\d+(\.\d+)+

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM