Ниже приведено регулярное выражение для фильтрации всех файлов non go (т. е. файлов с расширением «.go»).
^([\S]*[^.][^g][^o]|[\S]*.[^g].|[\S]*..[^o]$|[\S]*[^.]..|[\S]{1,2})$
^([^.]*)($|[.]($|[\S]$|g[^o]$|[^g]o$|[^g][^o]$|([\S]+)\.($|.$|g[^o]$|[^g]o$|[^g][^o]$|[^.]{3,}$)|[^.]{3,}$))
Вы можете протестировать их здесь (нажмите «Попробовать» «Перейти» в меню под регулярным выражением)
Хотя они, кажется, работают правильно в go, но не с фильтром исключения inotifywait
(который использует формат posix ERE)
Я пытаюсь настроить задачу «смотреть и перезагружать» в моем Makefile для проекта golang. Также я предполагаю, что в именах файлов или папок нет пробелов.
\.[^.][^o]$|\.[^g][^.]$|\.[^.][^.][^.]+$
. - person Wiktor Stribiżew   schedule 27.08.2015main.a
илиmain
. - person Ashish Gaurav   schedule 27.08.2015