[英]Extract string between optional brackets
我正在嘗試提取多個括號之間的字符串,但也可以在沒有任何括號的情況下使用。 這就是我現在所擁有的
Pattern pw = Pattern.compile("\\(?(.*)\\)?\\^\\(?(.*)\\)?");
Matcher m = pw.matcher("2+1^(3+4)");
if(m.find()){
System.out.println(m.group(1));
System.out.println(m.group(2));
}"
打印:
2+1
3+4)
而應該是:
2+1
3+4
任何幫助表示贊賞!
嘗試使用以下方法使其不貪心:
.*?
代替.*
您的正則表達式:
Pattern pw = Pattern.compile("\\(?(.*?)\\)?\\^\\(?(.*?)\\)?");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.