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