0

我正在使用以下正则表达式来匹配文档名称:

[a-zA-Z0-9]\.txt

文档

asdf2342l_asdf2_asdf23.txt

下划线可以出现在.txt之前的任何时间点,但到目前为止我一直没有成功

?

[a-zA-Z0-9_]\.txt

谢谢

4

2 回答 2

2

你错过了量词:+或者*在这种情况下。

[a-zA-Z0-9_]+\.txt
于 2012-04-30T15:41:48.890 回答
0

您忘记添加量词,例如:

[a-zA-Z0-9_]+\.txt

加号表示:“至少一个字符或多个”,因此它将匹配“.txt”部分之前的所有字符。

但我建议您不要尝试在文件名的第一部分指定所有可能的字符(因为它可能包含 Unicode 符号 fe)。尝试使用这个正则表达式:

[^.]+\.txt$

它将匹配每个具有 .txt 扩展名的文件名。如果文件名中有完整路径(磁盘、父文件夹 + 路径分隔符),则应使用此路径:

[^.\\\/]+\.txt$
于 2012-04-30T15:54:08.913 回答