用于在java中检查带下划线的字符串名称的正则表达式

时间:2013-05-16 23:43:34

标签: java regex

我是java中正则表达式的新手。如何检查文件名是否具有以下格式update_9_0_27? 它是[0-9][\\_][0-9][\\_][0-100]吗?

2 个答案:

答案 0 :(得分:6)

以下内容应该有效:

^[a-zA-Z]+_\d_\d_\d{1,2}$

^$是字符串锚点的开头,因此您不会仅匹配字符串的一部分。每个\d将匹配一个数字,而最终{1,2}后的\d表示“匹配一个和两个数字(包括)”。

如果文件名的update部分始终是常量,那么您应该使用以下内容:

^update_\d_\d_\d{1,2}$

请注意,在Java字符串中创建此正则表达式时,您需要转义每个反斜杠,因此字符串看起来像"^update_\\d_\\d_\\d{1,2}$"

答案 1 :(得分:2)

数字位置是否固定,即1-1-2?

^update\_\d\_\d\_\d\d$

在Java字符串中使用时,您需要转义反斜杠

"^update\\_\\d\_\\d\\_\\d\\d$"

如果按[0-9][\\_][0-9][\\_][0-100]表示单位数,下划线,单位数,下划线,零到一百,并且此序列可以出现在字符串中的任何位置,那么

".*[0-9][_][0-9][_](100|[1-9][0-9]|[0-9]).*"

请注意,我现在使用[_]替代\_来指定文字下划线。最后一部分专门测试0-100。