Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: Regex help

by Kenosis (Priest)
on Sep 18, 2012 at 22:48 UTC ( #994381=note: print w/ replies, xml ) Need Help??


in reply to Regex help

Welcome to PerlMonks, randomhero1270! I think you did well on both your question and script...

Given your data set, consider the following:

use strict; use warnings; while ( my $protein = <DATA> ) { $protein =~ /([^:]+).+\s+([<=>]+)\s+/; print "$1 - $2\n"; } __DATA__ R00005: 00330: C01010 => C00011 R00005: 00791: C01010 => C00011 R00005: 01100: C01010 <=> C00011 R00006: 00770: C00022 => C00900 R00008: 00362: C06033 => C00022 R00008: 00660: C00022 => C06033 R00010: 00500: C01083 => C00031 R00013: 00630: C00048 => C01146 R00013: 01100: C00048 <=> C01146

Output:

R00005 - => R00005 - => R00005 - <=> R00006 - => R00008 - => R00008 - => R00010 - => R00013 - => R00013 - <=>

The regex:

/^([^:]+).+\s+([<=>]+)\s+/ ^ ^ ^ ^ | | | | | | | + - Capture characters from this class enclosed by 1+ + spaces | | + - Keep going, matching any character except \n | + - Capture characters that are not : + - Start at the beginning

The () notation creates captures. In this case $1 will contain the captured text, like R00008; $2 will contain the captured characters <, =, or >.

Hope this helps!


Comment on Re: Regex help
Select or Download Code
Re^2: Regex help
by randomhero1270 (Novice) on Sep 19, 2012 at 14:30 UTC

    That was exactly what I needed, I played around with mine before I looked at this and I was very close. Thank you for showing what the regex means I really appreciate that!

      You're very welcome, randomhero1270!

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://994381]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (7)
As of 2014-07-13 22:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (252 votes), past polls