2012-03-16 103 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

相關問題