EDIT:Solved it себя, это была синтаксическая ошибка команды, не имеющая никакого отношения к регулярному выражению.Многострочное регулярное выражение grep не работает
Я пытаюсь соответствовать следующему шаблону:
(.*)
<FilesMatch "(^\.ht|~$|\.bak$|\.BAK$|\.old$)">
(.*)
Order Allow,Deny Deny from all
(.*)
</FilesMatch>
(.*)
<DirectoryMatch "(/CVS/|.svn)">
(.*)
Order Allow,Deny Deny from all
(.*)
</DirectoryMatch>
(.*)
(.*) meaning anything
Использование grep -P "regex"
и это регулярное выражение:
<FilesMatch \"\(\^\\\.ht\|~\$\|\\\.bak\$\|\\\.BAK\$\|\\\.old\$\)\">(.*\n){1,}Order Allow,Deny Deny from all(.*\n){1,}<\/FilesMatch>(.*\n){1,}<DirectoryMatch \"\(\/CVS\/\|\.svn\)\">(.*\n){1,}Order Allow,Deny Deny from all(.*\n){1,}<\/DirectoryMatch>
В течение следующего примера файла:
<FilesMatch "(^\.ht|~$|\.bak$|\.BAK$|\.old$)">
Order Allow,Deny Deny from all
</FilesMatch>
<DirectoryMatch "(/CVS/|.svn)">
Order Allow,Deny Deny from all
</DirectoryMatch>
Согласно regex101, он должен работать, но это не так, вы имеете какое-либо представление о том, что не так?
Благодарим за помощь.
В следующий раз покажите точное заклинание, которое не работает. – choroba