用于检查java中带下划线的字符串名称的正则表达式
我不熟悉java中的正则表达式。如何检查文件名是否具有以下格式用于检查java中带下划线的字符串名称的正则表达式,java,regex,Java,Regex,我不熟悉java中的正则表达式。如何检查文件名是否具有以下格式update\u 9\u 0\u 27? 它是否类似于[0-9][\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ^update\_\d\_\d\_\d\d$ 在Java字符串中使用时,需要转义反斜杠 "^update\\_\\d\_\\d\\_\\d\\d$" 如果您所说的[0-
update\u 9\u 0\u 27
?
它是否类似于
[0-9][\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
^update\_\d\_\d\_\d\d$
在Java字符串中使用时,需要转义反斜杠
"^update\\_\\d\_\\d\\_\\d\\d$"
如果您所说的[0-9][\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
".*[0-9][_][0-9][_](100|[1-9][0-9]|[0-9]).*"
请注意,我现在使用了[\u]
作为指定文字下划线的\\u
的替代方法。最后一部分专门针对0-100进行测试。以下各项应有效:
^[a-zA-Z]+_\d_\d_\d{1,2}$
^
和$
是字符串定位的开头,因此您不会只匹配字符串的一部分。每个\d
将匹配一个数字,最后一个\d
后面的{1,2}
表示“一位和两位(包括两位)之间的匹配”
如果文件名的update
部分始终保持不变,则应使用以下选项:
^update_\d_\d_\d{1,2}$
请注意,在Java字符串中创建此正则表达式时,您需要对每个反斜杠进行转义,因此字符串的外观类似于“^update\ud\ud\\ud{1,2}$”
,您能详细描述一下您的格式吗?update
是格式的一部分吗?我在问,因为您只尝试为9\u 0\u 27
创建正则表达式。难道\\w+
不够吗?否则使用[a-zA-Z]+\\d\\d\u01]?\\d{1,2}
@Pshemo yes update是文件名的一部分。否。在java中,需要双反斜杠;)为了清楚起见,我在回答中添加了这一点,但当要求使用正则表达式时,我认为以正则表达式引擎所期望的格式提供正则表达式更有意义,除非他们要求使用特定语言的代码。