2013-04-05 150 views
0

这是我的例子字符串:正则表达式日,以字符串

xzyxxy%MM%xyzxy%DD%xyyzy 

我想变成一个正则表达式。 MM必须在1-12的范围内并且DD在1-31范围内。下面是正则表达式匹配可能的字串:

xzyxxy5xyzxy28xyyzy 
xzyxxy11xyzxy2xyyzy 
xzyxxy12xyzxy31xyyzy 

我很新的正则表达式,我的第一个想法是得到MM和DD正则表达式,并且比其他字符串追加它。这可能是我的Java方法:

String getRegex() { 
    String MMRegex = ""; 
    String DDRegex = ""; 

    String regex; 
    regex = expression.replaceAll("%DD%", DDRegex); 
    regex = regex.replaceAll("%MM%", MMRegex); 

    return regex; 
} 

问题是,当我找到DD和MM正则表达式,并与其他字符串它不工作,其追加。

+0

你是什么意思“附加与另一个字符串?” – 2013-04-05 13:14:45

+0

东西就像这个例子: A [0-9]乙 在这里,我必须键入文字A和B 这里介于0和9之间的数字,我是Appendig这两个字符串 – aaljovic 2013-04-05 13:17:00

+0

还做什么用的正则表达式xyxyxyzyz - 你怎么知道你打了一年/一个月/一天......? – 2013-04-05 13:17:44

回答

0

我想也许你想要什么与正则表达式没有任何关系。如果你想过去的日和月在一个字符串,你可以使用:

String answer = String.format("xzyxxy%dxyzxy%dxyyzy", 5, 28); 

再次,如果你正在寻找走另一条路,也许还可以利用:

String date = "xzyxxy5xyzxy28xyyzy"; 
String dateparts[] = x.split("[^0-9]+"); 

然后日期部分[1 ]将是“5”和dateparts [2]将是“28” 是你可以使用的东西?