例如匹配任何文件夹名称,但在扩展名之前具有点(。)的文件除外
我尝试[^\.]
和.+[^\.].*
无效工作
答案 0 :(得分:21)
你需要锚定它:
^[^.]+$
这将匹配由除点之外的任何字符组成的字符串。这是你在“延期”之前的意思吗?如果你的意思是“在开头”,那么^[^.]
就可以了。
但是,如果这不是,比如ack或者其他东西,并且你有一个实际的编程语言,那么这可能会更好。
答案 1 :(得分:3)
试试^[^.]+$
。顺便说一句,你不需要在[]中删除点。
答案 2 :(得分:2)
答案 3 :(得分:1)
你可以这样做:
^[^.]+$
或
^(?!.*\.).*$
答案 4 :(得分:0)
不要为正则表达式而烦恼,这是昂贵的。这是一个更快的例子(在php中)
foreach($files as $file)
{
// ignore dot files
if( 0 === strpos($file,'.') ) continue;
...
}