首页 > 解决方案 > 如何通过正则表达式匹配其中的括号和数字

问题描述

我想匹配可能存在或不存在的数字小数位和括号。例如,不同的模式可能是:

233.44
264.00
23456.345
(2678.200)

我希望在不删除可选括号的情况下将其输出。我写了只检查数字和小数位但不检查括号的正则表达式。我的正则表达式在下面

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

任何如何包含括号的线索都会在这里有所帮助。我想在 java 中执行此操作

标签: javaregex

解决方案


假设我理解您的问题,并希望在您的模式中添加()作为可选内容。就像是,

String re = "\\(*\\d+(\\.\\d+)?\\)*";
String[] arr = { "233.44", "264.00", "23456.345", "(2678.200)" };
for (String s : arr) {
    System.out.println(s.matches(re));
}

哪个输出

true
true
true
true

推荐阅读