【发布时间】:2016-04-20 17:18:37
【问题描述】:
我应该匹配两个大于 0 的数字,并用空格分隔
^\d+?\s\d+?$
我试过了,但它显然不起作用 那么我还应该匹配一个以 # 开头并以 # 结尾的字符串,并且里面应该有固定数量的 char,可以是任何 char,由变量 w - 2 确定。
String regex = "#.{" + (w - 2) + "}$";
return Pattern.matches(regex, stringToMatch );
试过了,还是不行。
【问题讨论】:
-
当你说“不起作用”时,什么不起作用?您的输入和预期输出是什么?
-
"#.{" + (w - 2) + "}$";应该是"#.{" + (w - 2) + "}#";... -
第一个甚至没有编译,它给了我无效的转义序列,第二个如果
w = 4它不识别#gf# -
试试这个:
\\d+\\s\\d+ -
要匹配大于 0 的数字,您不能只使用
\d+,因为这将匹配0。如果有前导零,则使用\d*[1-9],否则使用[1-9]+。
标签: java regex string char pattern-matching