gpt4 book ai didi

java - 无法使正则表达式正常工作

转载 作者:行者123 更新时间:2023-11-30 12:07:56 24 4
gpt4 key购买 nike

我正在尝试完成这段代码的最后一部分,但似乎无法让最后 2 个 if 语句在它们应该有效的时候生效。当没有字母数字或破折号 (-) 时,应显示第二个。第三个应确保 2 个破折号不连续且不在开头或结尾。表达式必须是错误的,但我不知道如何更正它们对正则表达式来说仍然是新的。提前感谢您的帮助!这是我到目前为止所拥有的...

import java.util.Scanner;

public class VerifySerialBHarris {

public static void main(String[] args) {

Scanner input=new Scanner(System.in);
String text;
String cha;


System.out.println("Enter a Serial number: ");
text=input.nextLine();

if(text.matches("[A-Za-z0-9]+(-[A-Za-z0-9]+){2}")){
System.out.println("Serial number "+text+" verification \nValid");
System.out.println("Enter a wildchar character: ");
cha=input.nextLine();
text= text.replaceAll("[A-Za-z0-9]", cha);
System.out.println("Masked serial: "+text);
}
if(text.matches(".[^-A-Za-z0-9].")) {
System.out.println("Invalid. Serial should only contain letters, numbers, and dashes(-)");

}

if(text.matches("[^A-Za-z0-9]+(-[A-Za-z0-9]+)"))
System.out.println("Invalid. There should be exactly 2 non-consecutive dashes in the middle. ");
}
}

Example

最佳答案

完全匹配序列号

^[A-Za-z0-9]{4}\x2d[A-Za-z0-9]{4}\x2d[A-Za-z0-9]{4}

使用Regexr.com构建和测试

关于java - 无法使正则表达式正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54565026/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com