Solved

Regex Help

Posted on 2013-12-12
8
498 Views
Last Modified: 2013-12-12
I need help with a regex to match any one of these cases.

ATTENDEE;CN="Jason Johnson";CUTYPE=INDIVIDUAL;EMAIL="jason_johnson@sweet
 water.com";PARTSTAT=ACCEPTED:urn:uuid:2F00405F-6019-494D-BB8F-368758197A
 11
ATTENDEE;CN="Joe McNeely";CUTYPE=INDIVIDUAL;EMAIL="joe_mcneely@sweetwate
 r.com";PARTSTAT=NEEDS-ACTION;ROLE=REQ-PARTICIPANT;RSVP=TRUE;SCHEDULE-STA
 TUS="1.2":urn:uuid:D6ABEECD-2352-4777-8567-369B6FD2FA43
ATTENDEE;CN="Mike Lentine";CUTYPE=INDIVIDUAL;EMAIL="mike_lentine@sweetwa
 ter.com";PARTSTAT=ACCEPTED;ROLE=REQ-PARTICIPANT;SCHEDULE-STATUS="2.0":ur
 n:uuid:9D2E81FD-97C4-44E0-951F-B67FF8FB8394
ATTENDEE;CN="Jason Johnson";CUTYPE=INDIVIDUAL;EMAIL="jason_johnson@sweet
 water.com";PARTSTAT=ACCEPTED;ROLE=REQ-PARTICIPANT:urn:uuid:2F00405F-6019
 -494D-BB8F-368758197A11
ATTENDEE;CN="John Hopkins";CUTYPE=INDIVIDUAL;EMAIL="john_hopkins@sweetwa
 ter.com";PARTSTAT=ACCEPTED;ROLE=REQ-PARTICIPANT:urn:uuid:AF78E76B-7447-4
 1E8-AC7E-51C27A9BEB5B

Open in new window


I'm close my problem is the spaces in the after the line breaks. I really need to eval it as a single uuid.. I am working on a calendar migration and I'm trying to find old UUID's and replace them. I attached the entire file just incase you want to see what I am working with.

(?s)urn:uuid:.{8}-.{4}-.{4}-.{4}-.{12}

Open in new window

Jason-Johnson-1.txt
0
Comment
Question by:JasonPJohnson
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
8 Comments
 
LVL 2

Author Comment

by:JasonPJohnson
ID: 39714930
I think I found 1 option...a bit ugly but hey it seems to work

urn:uuid:(?s).\s*.\s*.\s*.\s*.\s*.\s*.\s*.\s*-.\s*.\s*.\s*.\s*-.\s*.\s*.\s*.\s*-.\s*.\s*.\s*.\s*-.\s*.\s*.\s*.\s*.\s*.\s*.\s*.\s*.\s*.\s*.\s*.\s*
0
 
LVL 2

Author Comment

by:JasonPJohnson
ID: 39714937
this seems to work better.

(?s):u\s*r\s*n\s*:\s*u\s*u\s*i\s*d\s*:.\s*.\s*.\s*.\s*.\s*.\s*.\s*.\s*-.\s*.\s*.\s*.\s*-.\s*.\s*.\s*.\s*-.\s*.\s*.\s*.\s*-.\s*.\s*.\s*.\s*.\s*.\s*.\s*.\s*.\s*.\s*.\s*.\s*
0
 
LVL 35

Expert Comment

by:Terry Woods
ID: 39714952
This would be a bit neater:
urn:uuid:(\S\s*){8}-(\S\s*){4}-(\S\s*){4}-(\S\s*){4}-(\S\s*){12}
0
Secure Your WordPress Site: 5 Essential Approaches

WordPress is the web's most popular CMS, but its dominance also makes it a target for attackers. Our eBook will show you how to:

Prevent costly exploits of core and plugin vulnerabilities
Repel automated attacks
Lock down your dashboard, secure your code, and protect your users

 
LVL 35

Expert Comment

by:Terry Woods
ID: 39714960
Can you strip out the spaces before applying the regex? That would be simpler.
0
 
LVL 2

Author Comment

by:JasonPJohnson
ID: 39714968
I tried to find and replace spaces but it wont import in to zimbra after words and I can't seem to figure out how to add them back in.
0
 
LVL 35

Accepted Solution

by:
Terry Woods earned 500 total points
ID: 39714994
Combining your latest pattern, and mine, I get this, which seems to work ok:
u\s*r\s*n\s*:\s*u\s*u\s*i\s*d\s*:(\S\s*){8}-(\S\s*){4}-(\S\s*){4}-(\S\s*){4}-(\S\s*){12}
0
 
LVL 12

Expert Comment

by:stefan73
ID: 39715387
Split the tasks into steps:
$blob=<FILE>;
$blob =~ s/\n  //g;
@datasets=split("\n",$blob);

... then you can tackle each dataset separately and you don't end up with a regex which is hell to maintain.
0
 
LVL 2

Author Closing Comment

by:JasonPJohnson
ID: 39715396
Thanks perfect
0

Featured Post

MS Dynamics Made Instantly Simpler

Make Your Microsoft Dynamics Investment Count  & Drastically Decrease Training Time by Providing Intuitive Step-By-Step WalkThru Tutorials.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Developers of all skill levels should learn to use current best practices when developing websites. However many developers, new and old, fall into the trap of using deprecated features because this is what so many tutorials and books tell them to u…
In the distant past (last year) I hacked together a little toy that would allow a couple of Manager types to query, preview, and extract data from a number of MongoDB instances, to their tool of choice: Excel (http://dilbert.com/strips/comic/2007-08…
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.

729 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question