Bod has asked for the wisdom of the Perl Monks concerning the following question:
I am enforcing some rules are CRM tags and the regexps are pushing my limits. So, a follow up to a little question over at Re^3: regex in REPLACEMENT in s///
Part A
I have never got chomp to work so I avoid it...
my $tag = 'test text '; chomp $tag; print $tag . '#'; > test text #
I understood it to equivalent to s/ +$//; when used as above with no new lines.
Part B
The tags should be lowercase and exclude most punctuation. Extraneous punctuation removed and uppercase characters converted to lowercase. Here is what I have tried
I expected the regexp to substitute anything that is not ^ in the character class [] with an empty string. But it seems to strip out anything that is not an 'a' character or a space.$tag = lc $tag; $tag =~ s/[^az09 _\-\+\.]//g;
How should I go about properly working out how to construct a regexp to do what I want?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: chomp and regexp
by haukex (Archbishop) on Sep 14, 2023 at 14:56 UTC | |
by ikegami (Patriarch) on Sep 14, 2023 at 17:43 UTC | |
by Bod (Parson) on Sep 14, 2023 at 15:02 UTC | |
|
Re: chomp and regexp
by hippo (Archbishop) on Sep 14, 2023 at 15:32 UTC |