Veja algumas informações mais específicas e detalhadas, caso isso ajude:
' ^/?(?:(?!one|two|three|four).?)+/?$ http://somewhere.else.com [R=301,L]
'
' Options: case insensitive
'
' Assert position at the beginning of the string «^»
' Match the character “/” literally «/?»
' Between zero and one times, as many times as possible, giving back as needed (greedy) «?»
' Match the regular expression below «(?:(?!one|two|three|four).?)+»
' Between one and unlimited times, as many times as possible, giving back as needed (greedy) «+»
' Assert that it is impossible to match the regex below starting at this position (negative lookahead) «(?!one|two|three|four)»
' Match either the regular expression below (attempting the next alternative only if this one fails) «one»
' Match the characters “one” literally «one»
' Or match regular expression number 2 below (attempting the next alternative only if this one fails) «two»
' Match the characters “two” literally «two»
' Or match regular expression number 3 below (attempting the next alternative only if this one fails) «three»
' Match the characters “three” literally «three»
' Or match regular expression number 4 below (the entire group fails if this one fails to match) «four»
' Match the characters “four” literally «four»
' Match any single character that is not a line break character «.?»
' Between zero and one times, as many times as possible, giving back as needed (greedy) «?»
' Match the character “/” literally «/?»
' Between zero and one times, as many times as possible, giving back as needed (greedy) «?»
' Assert position at the end of the string (or before the line break at the end of the string, if any) «$»
' Match the characters “ http://somewhere” literally « http://somewhere»
' Match any single character that is not a line break character «.»
' Match the characters “else” literally «else»
' Match any single character that is not a line break character «.»
' Match the characters “com ” literally «com »
' Match a single character present in the list “R=301,L” «[R=301,L]»