![](/img/trans.png)
[英]Java how to use pattern matcher using regular expressions to find certain string
[英]Regular Expressions: Find pattern in string
有人可以解釋如何在Java中使用正則表達式。 我只有幾個字符串3 :- N, 'V—g'ufi “ 'L Total: 13-70 "0- 1' i
and r _._A_ ,,1 Total: $13.70 i- T«
。我需要提取Total :加上總和:預期輸出的Total: 13-70, Total: $13.70
。我嘗試使用以下代碼...但是據我了解,它不會捕獲符號,例如$.-
Pattern p = Pattern.compile("Total: \\d+");
Matcher m = p.matcher(result);
while (m.find()) {
System.out.println(m.group());
}
您可以使用
Total:\s*\$?\d+(?:[-.]\d+)?
參見regex演示 。
細節
Total:
-文字子字符串 \\s*
-0+空格 \\$?
-可選的$
char \\d+
-1個以上數字 (?:[-.]\\d+)?
-匹配以下情況的1或0的可選非捕獲組:
[-.]
-或-
.
\\d+
-1個或多個數字。 在Java中:
Pattern p = Pattern.compile("Total:\\s*\\$?\\d+(?:[-.]\\d+)?");
如果您需要提取值,請在需要提取的模式周圍使用捕獲組(例如\\$?\\d+(?:[-.]\\d+)?
),然后訪問組值,例如
Pattern p = Pattern.compile("Total:\\s*(\\$?\\d+(?:[-.]\\d+)?)");
Matcher m = p.matcher(result);
while (m.find()) {
System.out.println(m.group(1));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.