如何使用正则表达式指定特殊字符的一个或多个实例

时间:2012-04-30 15:35:11

标签: regex

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

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

文档

asdf2342l_asdf2_asdf23.txt

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

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

谢谢

2 个答案:

答案 0 :(得分:2)

在这种情况下,您错过了量词:+*

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

答案 1 :(得分:0)

您忘记添加量词,例如:

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

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

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

[^.]+\.txt$

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

[^.\\\/]+\.txt$