繁体   English   中英

正则表达式匹配任何不包含点字符的字符串

[英]Regex match any string not containing dot character

例如匹配除扩展名前带有点(.)的文件之外的任何文件夹名称
我尝试[^\\.].+[^\\.].*没有任何效果

你需要锚定它:

^[^.]+$

这将匹配由除点以外的任何字符组成的字符串。 这就是您所说的“扩展前”的意思吗? 如果您的意思是“在开头”,那么^[^.]就可以解决问题。

但是,如果这不是 grep 或其他东西,并且您有实际的编程语言,那么在那里完成可能会更好。 (例如,即使使用 grep,最好只编写grep -v '^\\.' 。)

试试^[^.]+$ 顺便说一句,您不需要在 [] 内转义点。

那这个呢:

^[^.]+$

演示正则表达式

你可以做:

^[^.]+$

要么

^(?!.*\.).*$

不要为此烦恼正则表达式,这很昂贵。 这是一个更快的示例(在 php 中)

foreach($files as $file)
{
    // ignore dot files
    if( 0 === strpos($file,'.') ) continue;
    ...
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM