Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中使用正则表达式验证文本和数字格式_Java_Regex - Fatal编程技术网

在Java中使用正则表达式验证文本和数字格式

在Java中使用正则表达式验证文本和数字格式,java,regex,Java,Regex,我想使用Java验证标识格式 示例:UWU/CST/14/0015或UWU/IIT/14/0025 这里需要UU,CST或IIT中的一个必须存在,否则无效。之后,它可以有任意两个数字,最后一部分至少有四个数字。请帮我解决这个问题 package validate2; import java.util.*; public class Validate2 { /** * @param args the command line arguments */ public static void

我想使用Java验证标识格式

示例:
UWU/CST/14/0015
UWU/IIT/14/0025

这里需要UU,CST或IIT中的一个必须存在,否则无效。之后,它可以有任意两个数字,最后一部分至少有四个数字。请帮我解决这个问题

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;
    }

}

}

而不是这个长正则表达式
^uwu\\/\\w\\w\\/\\d\\d\\/\\d\\d\\d

这是最简单的一个

正则表达式:
^UWU\/(?:CST|IIT)\/\d+\/\d+$

说明:从文字
UWU
开始,然后是
/
,然后是
CST
IIT
,然后是
/
多位数,然后是
//code>多位数

要限制位数,请使用
{n,m}
,其中
n
为最小位数,
m
为最大位数


好的,而不是这个长正则表达式
^uwu\\/\\w\\w\/\\d\\d\\/\\d\\d

这是最简单的一个

正则表达式:
^UWU\/(?:CST|IIT)\/\d+\/\d+$

说明:从文字
UWU
开始,然后是
/
,然后是
CST
IIT
,然后是
/
多位数,然后是
//code>多位数

要限制数字数,请使用
{n,m}
其中
n
是最小否,且
m
为max

正则表达式:

^UWU\/(CST|IIT)\/\d{2}\/\d{4,}$
  • 确保它以
    UWU
  • 确保第二部分是
    CST
    IIT
  • 确保第三部分正好包含2个数字
    \d{2}
  • 确保最后一部分包含4个或更多数字
    \d{4,}

希望这有帮助

Regex:

^UWU\/(CST|IIT)\/\d{2}\/\d{4,}$
  • 确保它以
    UWU
  • 确保第二部分是
    CST
    IIT
  • 确保第三部分正好包含2个数字
    \d{2}
  • 确保最后一部分包含4个或更多数字
    \d{4,}


希望这有帮助

您可以尝试使用这个正则表达式
(?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));

  • (?i)
    :将接受任何大小写
  • UWU
    :从
    UWU
  • <代码>(CST | IIT):后面是CST或IIT
  • \d{2}
    :后跟2个degits
  • \d{4}
    :后跟4个degits

  • 您可以尝试使用这个正则表达式
    (?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));
    

  • (?i)
    :将接受任何大小写
  • UWU
    :从
    UWU
  • (CST | IIT)
    :后跟CST或IIT
  • \d{2}
    :后跟2个degits
  • \d{4}
    :后跟4个degits

  • 区分大小写?@Rahul yeas mate.帮我解决这个区分大小写的问题?@Rahul yeas mate.帮我解决这个问题