Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.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中带下划线的字符串名称的正则表达式_Java_Regex - Fatal编程技术网

用于检查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-

我不熟悉java中的正则表达式。如何检查文件名是否具有以下格式
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中,需要双反斜杠;)为了清楚起见,我在回答中添加了这一点,但当要求使用正则表达式时,我认为以正则表达式引擎所期望的格式提供正则表达式更有意义,除非他们要求使用特定语言的代码。