簡體   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