Java 如何通过正则表达式匹配括号和括号内的数字
我想匹配数字小数点和括号,可能在那里,也可能不在那里。 例如,不同的模式可以是:Java 如何通过正则表达式匹配括号和括号内的数字,java,regex,Java,Regex,我想匹配数字小数点和括号,可能在那里,也可能不在那里。 例如,不同的模式可以是: 233.44 264.00 23456.345 (2678.200) 我希望输出作为它的输出,而不删除可选的括号。我写的正则表达式只检查数字和小数点,不检查括号 \d+(\.\d{1,2})? 任何关于如何包含括号的线索都会在这里有所帮助。假设我理解您的问题,并希望在您的模式中添加(和),作为可选选项,我想在java中这样做。大概 String re = "\\(*\\d+(\\.\\d+)?\\)*"; St
233.44
264.00
23456.345
(2678.200)
我希望输出作为它的输出,而不删除可选的括号。我写的正则表达式只检查数字和小数点,不检查括号
\d+(\.\d{1,2})?
任何关于如何包含括号的线索都会在这里有所帮助。假设我理解您的问题,并希望在您的模式中添加
(
和)
,作为可选选项,我想在java中这样做。大概
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
假设我理解您的问题,并且希望在您的模式中添加
(
和)
作为可选项。大概
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
我在javaregex在线编译器中测试了这个模式,我看到了悬空的元字符这就是我测试@Rajesh的地方,当用Java
字符串编写时,你必须将\
写成\
。在正则表达式测试仪中使用\(*\d+(\.\d+)*
,用于相同的正则表达式。谢谢@Elliott,它可以工作。现在,在您的帮助下,我将我的正则表达式也改为处理逗号((?:\d+)(\d)*([\,\]\d])(\.\d+)*您似乎在(
前面掉了一个\
,后面掉了一个*
。(*\d+(\.\d{1,2})*
应该可以工作。但是,很高兴我能帮上忙。我在javaregex在线编译器中测试了这个模式,我看到了悬空的元字符。这就是我测试@Rajesh的地方,当用Java字符串编写时,你必须以\
的形式编写\
。使用\(*\d+(\.\d+)?)*
在你的正则表达式测试仪中使用相同的正则表达式。谢谢@Elliott,它可以工作。现在我在你的帮助下把我的正则表达式也改成了逗号((?:\d+(\,\]\d))(\。\d+)*你好像在之前掉了一个\
(
在它之后又掉了一个*
。\(*\d+(\.\d{1,2})\)*
应该可以工作。但是,很高兴我能帮上忙。