I have following text pattern
(2222) First Last (ab-cd/ABC1), <first.last@site.domain.com> 1224: efadsfadsfdsf
(3333) First Last (abcd/ABC12), <first.last@site.domain.com> 1234, 4657: efadsfadsfdsf
I want the number 1224 or 1234, 4657 from the above text after the text >.
I have this
\((\d+)\)\s\w*\s\w*\s\(\w*\/\w+\d*\),\s<\w*\.\w*\@\w*\.domain.com>\s\d+:
which will take the text before : But i want the one after email till :
Is there any easy regular expression to do this? or should I use split and do this
Thanks
Edit: The whole text is returned by a command line tool.
(3333) First Last (abcd/ABC12), <first.last@site.domain.com> 1234, 4657: efadsfadsfdsf
(3333) – Unique ID
First Last – First and last names
<first.last@site.domain.com> – Email address in format FirstName.LastName@sub.domain.com
1234, 4567 – database primary Keys
: xxxx – Headline
What I have to do is process the above and get hte database ID (in ex: 1234, 4567 2 separate ID’s) and query the tables
The above is the output (like this I will get many entries) from the tool which I am calling via my Perl script.
My idea was to use a regular expression to get the database id’s. Guess I could use regular expression for this
you can fudge the stuff you don’t care about to make the expression easier, say just ‘glob’ the parts between the parentheticals (and the email delimiters) using non-greedy quantifiers:
there’s only two captured groups, the (1234), and the (1234, 4657), the second one which I can only assume from your pattern to mean: “a digit string, followed by zero or more comma separated digit strings”.