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

を使用することができます。目的の値が成功した試合後の第2のキャプチャグループになります

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

0

の代わりに正規表現あなたはそれがその文字列を持っているかどうかを知るために

input.contains("a12"); 

を使用することができます。

あるいはあなたが文字列をしたいならば、あなたはあなたが好きな表現を使用することができ

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

私は 'a12'を使っています。それは何でもかまいません。 –

+0

@markは、対応するメソッド内の文字列値を渡します。 –

+0

文字列の内容がわかりません。 –

関連する問題