2012-03-16 41 views
-1

我需要一个正则表达式来匹配以下字符串:通过正则表达式得到的字符串中的Java

input    ---> output 
------------------------------ 
1*a12*asd*315  ---> a12 
113-a12-asd*315  ---> a12 
+1-a12-asd-315  ---> a12 
as3-a12-asd*315  ---> a12 
as3-a12-a   ---> a12 
a-a12-a    ---> a12 
a-a12-aas   ---> a12 
-a12-aas-asd  ---> a12 
*a12*aas*asd  ---> a12 
a*a12*aas*sd  ---> a12 

希望的例子是不够的。我试过的是:

(^(?=.{1,3}$)-([a-zA-Z])-(?=.*)$) 

但不工作?什么将是这个正确的正则表达式?


的例子我用a12。它可以是任何东西。我不知道字符串是什么,需要提取。

回答

0

你可以使用一个表达式,如:

([*-])([a-zA-Z\d]+)\1 

期望值会成功匹配后的第二拍摄小组。

0

代替正则表达式,你可以使用

input.contains("a12"); 

知道它是否具有该字符串或没有。

或者否则,如果你想要的字符串,那么你可以使用

input.copyValueOf({'a','1','2'}); 
+0

举例我已经使用过'a12'。它可以是任何东西。 – 2012-03-16 06:48:06

+0

@mark在相应的方法内传递该字符串值。 – 2012-03-16 06:50:18

+0

我不知道字符串是什么。 – 2012-03-16 06:51:27

相关问题