2016-05-09 45 views
0

我是新来的正则表达式,因此无法验证可以有数字0-9 FGHC,和fghc *#的字符串。在Java中的特定字符串的正则表达式

我与 [0-9FGHCFGHC*#]试图与正则表达式的工具工作,但在java中它不是working.I正在使用Java 1.7

Egfor这种模式我需要它像 2314F*Ghc 12fgH#

public static void main(String[] args){ 
    String money = "23FGhc*#"; 
    Pattern p = Pattern.compile("[0-9FGHCfghc*#]",Pattern.CASE_INSENSITIVE); 
    Matcher m = p.matcher(money); 
    if (m.matches()) 
     System.out.println("valid:-"+ m); 
    else 
     System.out.println("unvalid:- "+m); 
} 

在此先感谢您的帮助,这将有助于您更好地解释我们的注意事项,以便我可以在RegEx上获得更多的知识

+0

您忘记了['Pattern.CASE_INSENSITIVE'](http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html#CASE_INSENSITIVE)标志,可能还有一个量词( '+')结尾。 –

+0

我也试过,但没有运气:( – vicky9988

+0

请显示确切的相关代码,有一堆问题像我的正则表达式不能在Java中工作,但在regex101工作,原因可能不同:1)错过标志,2)没有执行匹配器,3)使用匹配而不是查找(反之亦然)。 –

回答

2
(?i)[0-9fghc*#]+ 

您还需要在末尾添加量词。在这种情况下,+可以将这些字符匹配一次或多次。

使用还可以添加(?i)使其不区分大小写。

+1

感谢哥们,它的作品完美。 – vicky9988

相关问题