编写正则表达式以检查给定输入中的强制字符串和可选字符串

时间:2015-04-10 08:23:33

标签: java regex

我有以下字符串模式

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 个答案:

答案 0 :(得分:0)

以下是您搜索的regExp:

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

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

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");

答案 1 :(得分:0)

如果你想要topicName,那么就有正则表达式:

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

如果您还需要其他内容check this link。您可以编写regExp并在那里查看。