如何正确使用匹配方法?

时间:2017-11-04 22:48:29

标签: java

我想知道如何正确有效地使用String方法matches()。当我使用String.matches()时,我也遇到了“问题”。我正在创建一个class,其中构造函数参数需要满足某些条件。

示例:

if (String.matches(".*\\d+.*" + "/" + ".*\\d+,*")
   // do something 
else
  // throw something

它只阻止了四个问题中的一个。

块:

String test1 = "1/2a;

不会阻止:

String test2 = "a1/2";
String test3 = "1a/2";
String test4 = "1/a2";

我很确定这是我的错误。我不想使用其他if语句或“ clunky ”,希望尝试以保持一切可读性。我已阅读过有关如何检查String字母的信息,例如[a-zA-Z]

如果我错过任何事情,请告诉我。 谢谢!

1 个答案:

答案 0 :(得分:0)

如果您需要的格式仅匹配[integer]/[integer]格式的字符串,请尝试使用此模式:"^[0-9]+\/[0-9]+$"

确保反斜杠在字符串中转义(可能是:"^[0-9]+\\/[0-9]+$"

您可以在此处试用:http://regexr.com/3h41b