我需要一个正则表达式来匹配以下字符串:
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 :(得分:0)
您可以使用
代替正则表达式input.contains("a12");
知道它是否有该字符串。
或者如果你想要字符串,那么你可以使用
input.copyValueOf({'a','1','2'});
答案 1 :(得分:0)
您可以使用如下表达式:
([*-])([a-zA-Z\d]+)\1
成功匹配后,所需的值将在第二个捕获组中。