簡體   English   中英

正則表達式用於提取括號之間的3位數字

[英]Regex for extracting 3 digits numbers between brackets

我的字符串是:

Frequency/FA ID VerifiedFA0 FAID5(125)/FA1 FAID7(175)/FA2 FAID1(476)

我要創建的正則表達式應提取以下數字:

125, 175, 476

我通過查看此示例來做到這一點,但必須有一個更好的示例

myString.replaceAll(".+\\(([0-9]+)\\).+\\(([0-9]+)\\).+\\(([0-9]+)\\).*","$1,$2,$3")

您可以使用PatternMatcher類提取所需內容,而不是replacing不需要的所有內容。

用於提取括號之間數字的正則表達式模式為:-

\(\d+\)

+量詞用於匹配1 or more數字重復。 如果只想匹配3位數字,則可以將{3}量詞與\\d :- \\(\\d{3}\\)

您可以使用Matcher#find()方法應用此正則表達式模式,以從該字符串獲取所有數字。 我將執行任務留給您。

看一下這個:

String s = "Frequency/FA ID VerifiedFA0 FAID5(125)/FA1 FAID7(175)/FA2 FAID1(476)";
Pattern patt = Pattern.compile("\\(\\d+\\)");
Matcher match = patt.matcher(s);
while(match.find()){
    System.out.println(match.group());
}

輕微變化:

這會在括號內找到3位數字:((\\ d \\ d \\ d))

實際的字符串值(在Java中)為: "(\\\\(\\\\d\\\\d\\\\d\\\\))"

Java RegEx測試頁面上進行測試

暫無
暫無

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

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