Hi Ron,
Here is a regular expression that should match your pattern:
<(loc2?)>[1-5](?:\.\d+)+</\1>
The same but commented:
(?x) (?# allow comments and whitespace)
< (?# start of opening tag)
( (?# start of capturing parenthesis)
loc (?# loc )
2? (?# optional 2 )
) (?# end of capturing parenthesis. Will match and store
'loc' or 'loc2' in capture \1)
> (?# end of opening tag)
[1-5] (?# one digit in the range 1..5)
(?: (?# start of non-capturing parenthesis)
\. (?# a dot. It has to be escaped otherwise it will be
considered a one character wildcard.)
\d+ (?# one or more digits)
) (?# end of non-capturing parenthesis)
+ (?# one or more occurrence of the non-capturing
parenthesis)
</ (?# start of closing tag)
\1 (?# captured value of first capturing parenthesis)
> (?# end of closing tag)
The BBEdit Help has a very good Grep Reference:
menu Help > Quick Reference > Grep Reference
HTH,
Jean Jourdain
On Saturday, May 22, 2021 at 6:39:51 PM UTC+2 severdia wrote:
> Hi,
>
> I can't seem to figure out a way to find and replace some numbers using
> Grep. This is what I have.
>
> *<loc>2.2</loc><loc2>2.2.93</loc2>*
>
> I have many cases where there are 3 numbers separated by two periods
> wrapped in *<loc>* (like this: *<loc>2.2.309</loc>*) as well as the
> example above with 2 numbers separated by 1 period wrapped in* <loc>*. I
> want to find where there are only two numbers and delete that *<loc>*
> element. For example I tried:
>
> *<loc>[0-9]\.[0-9]</loc><loc2>[0-9]\.[0-9]\.[0-9]</loc2>*
>
> But that seems to only only single digits and I can't replace values.
> Example values in *<loc>* are:
>
> *<loc>1.13.333</loc>*
> *<loc>5.3.28</loc>*
> *etc.*
>
> The first number will be in the range of 1-5, the second will be 1-50, and
> the third will be 1-2300 (those ranges aren't as important, just for the
> number of digits to factor in). I imagine I could do all permutations of
> what I have above with single digits, but it seems there's surely a better
> way to find the <loc> elements containing only two numbers vs. three.
>
> Any guidance would be appreciated! Maybe the Bbedit shortcut menu for grep
> characters could add something like this?
>
> Thanks!
>
> Ron
>
>
>
>
--
This is the BBEdit Talk public discussion group. If you have a feature request
or need technical support, please email "[email protected]" rather than
posting here. Follow @bbedit on Twitter: <https://twitter.com/bbedit>
---
You received this message because you are subscribed to the Google Groups
"BBEdit Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/bbedit/9a0e1ce0-2e46-41a0-9670-ef60dd6ef758n%40googlegroups.com.