Quote:
Is there a regex that can search in a group of lines and replace one line within that group?
Short answer: Yes !
Your RegEx: '
(<Directory />\s+)box(\s+</Directory>)
'
is matching: '
<Directory /> box </Directory>
'
You need to improve the RegEx to include the newlines and words along with spaces, like replacing
\s+
with
(\s|\n|\w)+
.
Just a few interesting links to help building and debugging RegEx.
Here is a link to RegEx documentation:
perlre - perldoc.perl.org[
^]
Here is links to tools to help build RegEx and debug them:
.NET Regex Tester - Regex Storm[
^]
Expresso Regular Expression Tool[
^]
RegExr: Learn, Build, & Test RegEx[
^]
Online regex tester and debugger: PHP, PCRE, Python, Golang and JavaScript[
^]
This one show you the RegEx as a nice graph which is really helpful to understand what is doing a RegEx:
Debuggex: Online visual regex tester. JavaScript, Python, and PCRE.[
^]
This site also show the Regex in a nice graph but can't test what match the RegEx:
Regexper[
^]