我需要将任意良好的旧DOS通配符字符串转换为正则表达式字符串,然后与System.Text.RegularExpressions.Regex
一起使用。不幸的是,我的正则表达式知识很尴尬。翻译文件名通配符为正则表达式
我试图围绕像*.*
,.*
和*.
这样的东西。我目前的问题是,*.
通常需要匹配以点或以无点为结尾的文件。
所以我翻译*.
到^.+[^\.].*$
,但这显然是错误的。它不仅匹配blah
和blah.
,而且还匹配blah.blah
。
那么什么是正确的正则表达式语法匹配blah
和blah.
,但不是blah.blah
?
感谢您关注此问题,您的诀窍是。 – sbi 2010-11-08 16:05:09
'\。{0,1}'与'\。?'相同 – Andrey 2010-11-08 16:06:10
(呵呵,结果我不能创建一个名为'blah.'的文件,试图创建一个'blah'文件。) – sbi 2010-11-08 16:06:21