Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.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 使用regex验证项目文件_Java_Regex - Fatal编程技术网

Java 使用regex验证项目文件

Java 使用regex验证项目文件,java,regex,Java,Regex,我有一个类似于sca_HelloWorld_rev2.0.jar的文件名 sca_{ProjectName}_rev{revisionId}.jar Id can be 2.11 ,3.0,3,4.0,5,4.564 ProjectName can be HelloWorld,HelloWorld123,Hello_world 我正在尝试用java进行正则表达式验证?如何用java实现这一点 谢谢。您可以使用字符串函数匹配。那你的案子呢 projectName.matches("sca

我有一个类似于sca_HelloWorld_rev2.0.jar的文件名

sca_{ProjectName}_rev{revisionId}.jar 

Id can be 2.11 ,3.0,3,4.0,5,4.564

ProjectName can be HelloWorld,HelloWorld123,Hello_world 
我正在尝试用java进行正则表达式验证?如何用java实现这一点


谢谢。

您可以使用字符串函数匹配。那你的案子呢

projectName.matches("sca_(HelloWorld|HelloWorld123|Hello_world)_rev(2.11|3.0|3|4.0|5|4.564).jar");
签出以测试正则表达式

编辑:假设您的项目名称可以是任何名称,并且您的修订号可以是#,#####格式,然后使用此正则表达式

projectName.matches(“sca_551;u rev[0-9]+([0-9]+)*.jar”)将为这些输入返回true

“sca_ADJOWE_rev2.12315.jar”。匹配(“sca_.+_rev[0-9]+([0-9]+)*.jar”)=TRUE

“sca_PROJECT1_rev6.jar”。匹配(“sca_.+_rev[0-9]+([0-9]+)*.jar”)=TRUE

“sca_HELLOWORLD_rev2.1.jar”。匹配(“sca_.+_rev[0-9]+([0-9]+)*.jar”)=TRUE

“sca_HELLOWORLD_rev2.1.152.jar”。匹配(“sca_.+_rev[0-9]+([0-9]+)*.jar”)=FALSE

“sca_rev2.1.jar”。匹配(“sca_.rev[0-9]+([0-9]+)*.jar”)=FALSE


转到我上面发送的链接,放入正则表达式并放入一些测试输入,如果需要进一步微调,可以使用字符串函数匹配。那你的案子呢

projectName.matches("sca_(HelloWorld|HelloWorld123|Hello_world)_rev(2.11|3.0|3|4.0|5|4.564).jar");
签出以测试正则表达式

编辑:假设您的项目名称可以是任何名称,并且您的修订号可以是#,#####格式,然后使用此正则表达式

projectName.matches(“sca_551;u rev[0-9]+([0-9]+)*.jar”)将为这些输入返回true

“sca_ADJOWE_rev2.12315.jar”。匹配(“sca_.+_rev[0-9]+([0-9]+)*.jar”)=TRUE

“sca_PROJECT1_rev6.jar”。匹配(“sca_.+_rev[0-9]+([0-9]+)*.jar”)=TRUE

“sca_HELLOWORLD_rev2.1.jar”。匹配(“sca_.+_rev[0-9]+([0-9]+)*.jar”)=TRUE

“sca_HELLOWORLD_rev2.1.152.jar”。匹配(“sca_.+_rev[0-9]+([0-9]+)*.jar”)=FALSE

“sca_rev2.1.jar”。匹配(“sca_.rev[0-9]+([0-9]+)*.jar”)=FALSE


转到我上面发送的链接,放入正则表达式并放入一些测试输入,如果需要进一步微调,可以使用它。

此模式必须有效:

sca_\w+?_rev\d.\d{1,3}\.jar

这种模式必须有效:

sca_\w+?_rev\d.\d{1,3}\.jar
\\w+
匹配一个或多个单词字符,即
A-Z A-Z 0-9

\\d+(?:\\.\\d+)
匹配一个或多个数字,可选择后跟一个
和一个或多个数字

^
$
表示字符串的开始和结束

\\w+
匹配一个或多个单词字符,即
A-Z A-Z 0-9

\\d+(?:\\.\\d+)
匹配一个或多个数字,可选择后跟一个
和一个或多个数字


^
$
表示字符串的开始和结束。

项目名称可以是我给示例的任何内容项目名称可以是我给示例的任何内容我会在第一个数字后添加一个“+”,以防主版本可能大于一个数字:^sca\uw+\u rev\\d+(?:\\\.\\d+)。jar$@ggrigery。谢谢,我同意。它被错误地省略了。我会在您的第一个数字后添加一个“+”,以防主版本可能大于一个数字:^sca\uw+\u rev\\d+(?:\\.\\d+)?\\.jar$@ggrigery。谢谢,我同意。它被错误地遗漏了。