Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:
Hi Monks,
I have a lot of large strings, which I want to find in a file. The strings contain all kind of charcaters. The problem is, that some of this string can contain a number (or part), which can be different, but should match.
for example
"nnxx.yy2 = 234 abc"should match
"nnxx.yy2 = 333 abc" "nnxx.yy2 = 1 abc" "nnxx.yy2 = 2345 abc"
My idea was to convert such a string into a regular expression. So I would have to escape all special regular chars, like * or + or ^ and so on. The number I could than replace by a regular expression like "\d+".
so I would match my example with
m/nnxx\.yy2 = \d+ abc/My question:
Which characters would I have to escape from a string, that I do not miss any ?
How I can change the part, that can be different, is clear for me. (I have the fear I forget some seldom characters and than my script has problems after some time)
Or do you have an Idea, how it can convert a string automatically into a match pattern even more simplier ?
MANY THANKS
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: convert string into a match pattern
by hippo (Archbishop) on Dec 20, 2017 at 13:17 UTC | |
|
Re: convert string into a match pattern
by dave_the_m (Monsignor) on Dec 20, 2017 at 14:10 UTC | |
by Anonymous Monk on Dec 22, 2017 at 07:30 UTC | |
by dave_the_m (Monsignor) on Dec 22, 2017 at 09:05 UTC | |
|
Re: convert string into a match pattern
by Anonymous Monk on Dec 20, 2017 at 12:48 UTC | |
|
Re: convert string into a match pattern
by Anonymous Monk on Dec 20, 2017 at 15:33 UTC |