2017-05-12 7 views
0

Javaを使用して識別フォーマットを検証したいと考えています。JavaでRegexを使用してテキストと数字のフォーマットを検証する

例:ここではUWU/CST/14/0015UWU/IIT/14/0025

UWUが必要であり、CSTまたはIITの一つは、それが無効である他に存在している必要があります。その後、最後のセクションでは任意の2桁と少なくとも4桁の数字を持つことができます。これを解決するのを手伝ってください。ここで

代わりに、この長い正規表現のまあ
package validate2; 

import java.util.*; 
public class Validate2 { 

/** 
* @param args the command line arguments 
*/ 
public static void main(String[] args) { 
    // TODO code application logic here 
    Scanner a=new Scanner(System.in); 
    String l=a.next(); 
    boolean x=l.matches("^uwu\\/\\w\\w\\w\\/\\d\\d\\/\\d\\d\\d\\d"); 

    if (x == false) { 
     //JOptionPane.showMessageDialog(rootPane, "Enter a valid serviceNO"); 
     System.out.println("NO"); 
     //return false; 
    } else { 
     System.out.println("YES"); 
     //return true; 
    } 

} 

} 
+0

大文字と小文字を区別続きますか? – Rahul

+1

@Rahul yeas mate ...これを解決するために私を助けてください –

答えて

3

正規表現:

^UWU\/(CST|IIT)\/\d{2}\/\d{4,}$ 
  • UWU
  • 始まる保証第二の部分のいずれかであるCST又はIIT
  • は、第三の部分は正確に2桁の数字が含まれている保証保証\d{2}
  • は、最後の部分は4桁以上\d{4,}

Regex 101 Demo

は、この情報がお役に立てば幸い含まれている保証します!

1

^uwu\\/\\w\\w\\w\\/\\d\\d\\/\\d\\d\\d\\d

は、最も簡単なものです。

正規表現:^UWU\/(?:CST|IIT)\/\d+\/\d+$

説明:/続くリテラルUWUを皮切り/multiple digitsその後、/その後、multiple digits続いCSTまたはIITのいずれかが続きます。

数字の制限を使用しないでください{n,m}nは最小であり、mは最大です。

Regex101 Demo

2

あなたはこの正規表現(?i)UWU\/(CST|IIT)/\d{2}\/\d{4}使用しようとすることができます。

String str = "UWU/CST/14/0015"; 
String regex = "(?i)UWU\\/(CST|IIT)/\\d{2}\\/\\d{4}"; 
System.out.println(str.matches(regex)); 

  1. (?i)を:任意の大文字または小文字
  2. UWUを受け入れます:UWU
  3. (CST|IIT)で始まる:CSTが続きますまたはIIT
  4. \d{2}:2 degits
  5. \d{4}続い:4 degits
関連する問題