Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
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 drinking their drinks and smoking their pipes about the Monastery: (5)
As of 2015-07-06 09:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (70 votes), past polls