At 18:42 10/09/2020 +0100, Séamas Ó Brógáin wrote:
Some time ago Brian Barker provided a brilliant
formula for finding all text between less-than and greater-than signs, namely
<[^>]*>
I've been trying to adapt it to finding text
within brackets [thus], but without success. I
know that brackets as such, as distinct from
regular expressions, are identified as \[ and
\]; so the formula I've come up with is
\[[^>]*\]
Unfortunately there are two things wrong with
this: (1) it finds all text until a later
closing bracket (seemingly the last one in the
same paragraph) but not necessarily the immediately following one, ...
That central greater-than sign also needs to become a close bracket:
\[[^]]*\]
... and (2) the selection includes the brackets
themselves, whereas I only want the text that
they enclose. Am I attempting the impossible?
Yes and no. I don't see how you can match
something that then doesn't include parts of the
pattern. (Others may know better.) But there are things you can do:
o If you want to replace what is contained in the
brackets but not the brackets themselves, you can
reinsert them in the "Replace with" string, as "[something-else]" (no quotes).
o You can mark the brackets and their contents
separately - using parentheses - and then use the parts in the replacement. Use
(\[)[^]]*(\])
and then "$1something-else$2" (no quotes) in the
replacement. "$1" refers to the first
parenthesised part and "$2" to the second - in
this case the brackets themselves.
o Another technique would be to match the entire
string, including the brackets, do what you want
with that, and then perform another Find &
Replace to correct the unwanted effect on the
brackets. One idea might be to include additional
brackets in the replacement, so that the result
would be "[[something-else]]". Then it would be a
simple task to search for those double brackets and do whatever was required.
It's difficult to be more precise without knowing
exactly what you are trying to achieve.
I trust this helps.
Brian Barker
--
To unsubscribe e-mail to: users+unsubscr...@global.libreoffice.org
Problems? https://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: https://wiki.documentfoundation.org/Netiquette
List archive: https://listarchives.libreoffice.org/global/users/
Privacy Policy: https://www.documentfoundation.org/privacy