Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number

Re^2: Character Class Abbreviations

by planetscape (Chancellor)
on Dec 24, 2005 at 00:19 UTC ( #518858=note: print w/replies, xml ) Need Help??

in reply to Re: Character Class Abbreviations
in thread Character Class Abbreviations

In replying to a 6-yr old node, your question is in danger of flying beneath everyone's radar. Better to post under Seekers of Perl Wisdom. To get an idea of how this site works, I recommend looking at the "Welcome to the Monastery" section of the Tutorials page.

You might wish to check out some of the references listed here: Re: regexp: extracting info

In your example, it sounds to me more like you are trying to match the literal string "en". But let's assume for a moment you really want a character class...

One of the tools I didn't mention in the writeup above is the simple "patten test" program from Learning Perl, 3rd Ed. I often use this when first constructing a regex because it's simple, easy to edit, and I get immediate feedback. So let's start with that program, modified slightly to match the character class [en] .

# From: Schwartz & Phoenix: Learning Perl, 3rd Ed (The Llama), pp. 103 use strict; while (<>) { chomp; if (/[en]/) { print "Matched: |$`<$&>$'|\n"; } else { print "No match.\n"; } }

Let's assume that this is our "test" file:

English French Spanish German Aramaic Arabic

Where and how the character class matches may surprise you:

Matched: |E<n>glish| Matched: |Fr<e>nch| Matched: |Spa<n>ish| Matched: |G<e>rman| No match. No match. No match.

If you were expecting output more like the following, matching the string "en":

No match. Matched: |Fr<en>ch| No match. No match. No match. No match. No match.

You will need to change the program as follows:

# From: Schwartz & Phoenix: Learning Perl, 3rd Ed (The Llama), pp. 103 use strict; while (<>) { chomp; if (/en/) { print "Matched: |$`<$&>$'|\n"; } else { print "No match.\n"; } }



Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://518858]
[Corion]: marto: Ouch, yeah...
[marto]: the boys uncle will take them for a couple of hours this afternoon :)
[marto]: only at work 3 days this week, then off to Copenhagen for a wedding
[marto]: back the following Monday, potentially gone 2-3 days the next week for work
[Corion]: Oh - "Cyber Monday" week is coming up... That's why weird stuff is already discounted now...
[Corion]: marto: Oh, cool, I hope you get to enjoy the trip and Copenhagen! I found it nice (but the mermaid is underwhelming)
[marto]: the kids and their mother are coming too, actually only 9 people at the wedding in total. Still, will be fun

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (3)
As of 2017-11-19 11:41 GMT
Find Nodes?
    Voting Booth?
    In order to be able to say "I know Perl", you must have:

    Results (280 votes). Check out past polls.