Solved

Help with Regex 2

Posted on 2012-04-04
8
325 Views
Last Modified: 2012-07-30
Hello Again EE,

Mostly for Kaufmed and TerryOpus,


with that regex:

(?<=GL_)\d+-\d+|(?<=GR_).*


what if I would like the dash to be optional after GL_  ? (dash is between some numbers)
also It might happen there would be more dashes like this:


GL_100-390-3992-1 (several dashes)
or this:
GL_9383-1384  (1 dash)
or this:
GL_1900000    (no dash)
0
Comment
Question by:PhilippeRenaud
[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
  • 3
  • 3
8 Comments
 
LVL 38

Expert Comment

by:PaulHews
ID: 37806031
To match the dash 0 or 1 times:

(?<=GL_)\d+-{0,1}\d+|(?<=GR_).*
0
 
LVL 1

Author Comment

by:PhilippeRenaud
ID: 37806041
what if 0,1,2,3,4,5,....999 ?
0
 
LVL 38

Expert Comment

by:PaulHews
ID: 37806076
You want to match the number if the dash is there or if it is not.  If it is there, it will not be there more than once.  So we need to match the dash 0 or 1 time. The matching of digits has not changed.  Try it for yourself.
0
Containers & Docker to Create a Powerful Team

Containers are an incredibly powerful technology that can provide you and/or your engineering team with huge productivity gains. Using containers, you can deploy, back up, replicate, and move apps and their dependencies quickly and easily.

 
LVL 1

Author Comment

by:PhilippeRenaud
ID: 37806087
Its not working if I try with this :


GL_103923-323-433334


the match will be only on :   103923-323

result would need to match:    103923-323-433334
0
 
LVL 38

Accepted Solution

by:
PaulHews earned 500 total points
ID: 37806121
Okay, I see what you mean.  My mistake in reading your question. You really want to match multiple sets of digits and hyphens if present...

(?<=GL_)[\-\d]+\d+|(?<=GR_).*

If you don't care if the last digit is also a hyphen:

(?<=GL_)[\-\d]+|(?<=GR_).*
0
 
LVL 1

Author Comment

by:PhilippeRenaud
ID: 37806138
Thanks !
0
 
LVL 75

Expert Comment

by:käµfm³d 👽
ID: 37806157
For the multiple digit-hyphen combos:

(?<=GL_)\d+(?:-\d+)*|(?<=GR_).*

Open in new window

0

Featured Post

What is a Denial of Service (DoS)?

A DoS is a malicious attempt to prevent the normal operation of a computer system. You may frequently see the terms 'DDoS' (Distributed Denial of Service) and 'DoS' used interchangeably, but there are some subtle differences.

Question has a verified solution.

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

Creating an analog clock UserControl seems fairly straight forward.  It is, after all, essentially just a circle with several lines in it!  Two common approaches for rendering an analog clock typically involve either manually calculating points with…
It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
Learn how to match and substitute tagged data using PHP regular expressions. Demonstrated on Windows 7, but also applies to other operating systems. Demonstrated technique applies to PHP (all versions) and Firefox, but very similar techniques will w…
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…

623 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