2016-11-22 17 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