有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java编写正则表达式来检查给定输入中的必需字符串和可选字符串

我有下面的字符串模式

aB_12345_topicName_A15.jpg

其中topicName是必填部分,可以是任意字符串,其余都是可选的


有效输入示例如下:

aB_SportsTopic.png
12345_topicName.jpg
Environment.jpg
topicName_A15.jpg
topicName_2B5.jpg
aB_12345_topicName.jpg

如何用java编写正则表达式来相应地验证用户输入? 到目前为止,我都是这样写的

^[a-z A-Z]_?\_[a-z A-Z]*_\[[0-9]*\][a-z A-Z]*_[a-z A-Z 0-9]*_[a-z A-Z 0-9]{3}\.[a-z A-Z]*

如何用java为它编写正则表达式? 提前谢谢


共 (2) 个答案

  1. # 1 楼答案

    以下是您搜索的regExp:

    ^[a-zA-Z0-9_]*topicName[a-zA-Z0-9_]*$
    

    编辑如果topicName是任意字符串,也可以这样做。只需连接regExp的第一部分、topicName和最后一部分

    public String myRegExp(String topicName) {
        return "^[a-zA-Z0-9_]*" + topicName + "[a-zA-Z0-9_]*$";
    }
    

    并以你最喜欢的方式来称呼它,例如:

    String regExp1 = myRegExp("pippo");
    String regExp2 = myRegExp("topicName");
    String regExp3 = myRegExp("otherTopic");
    
  2. # 2 楼答案

    如果希望topicName就位,有一个正则表达式:

        ^[A-Za-z0-9_]*[A-Za-z0-9]+[A-Za-z0-9_]*(.[a-z]*)$
    

    如果你需要别的东西。您可以编写regExp并在那里进行检查