2016-11-22 192 views
-1

我正在匹配正则表达式的字符串。该字符串只包含纯文本。它不包含任何特殊字符,如(:,$,#,@,^,&,*)。我在下面表达。但它不起作用。正则表达式,只包含纯文本

/^[A-Z][a-z][0-9]|[A-Z][0-9][a-z]|[a-z][A-Z][0-9]|[a-z][0-9][A-Z]|[0-9][A-Z]|[A-Z]|[a-z]{100}$/ 

我的目标是确定那些包含上特殊字符的字符串。任何人都可以帮助我获得正确的REGX。

感谢 Basudev

+0

什么叫上特殊character.?Also意味着你提供尝试的示例串到目前为止 – Real73

+0

我想使用类似下面的字符串:在新的前缀 “分销商代码登记(350-240)和1.2版需要部署。“ 这意味着我不希望:,$,#,@,^,&,*这个字符在我的输入中。 – bKashOST

+0

你的例子是绝对不清楚的。 – infotoni91

回答

0

使用此[^:$#@^&*]。它会帮助你找到了:$#@^&*所有这些特殊字符的纯文本。 说明:

  • 我只是用[^a-z]匹配任何字符,除了那些范围a-z
  • 在你的情况a-z:$#@^&*和第一个特殊字符^是跳过:$#@^&*这个。

可以测试here

+0

我在字符串下面测试,但它仍然是作为输入,尽管字符串中存在一个特殊字符(&)。 “SCB Core&Scheduler V1.2部署” – bKashOST

0

使用java.util.regex.Matcher中和的java.util.regex.Pattern类在你的字符串标识大写字母。我在下面给出一个例子,它给出了在整个字符串中包含大写字母及其开始和结束点的字符串的数量。我希望这将帮助你:

 String REGEX = "[A-Z]"; 
     String INPUT = "My Name is Parnik Kumar Gaurav"; 

    Pattern p = Pattern.compile(REGEX); 
     Matcher m = p.matcher(INPUT); // get a matcher object 
     int count = 0; 

     while(m.find()) { 
     count++; 
     System.out.println("Match number "+count); 
     System.out.println("start(): "+m.start()); 
     System.out.println("end(): "+m.end()); 
     } 
     System.out.println("Final: "+count); 
+0

如果我写了'hello1234'之类的东西呢? – Real73

+0

它应该没问题......我只丢弃一个字符串是否只包含上面的特殊字符。其他所有字符串应该是有效的。 – bKashOST