Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Help with Regex 2

Posted on 2012-04-04
8
Medium Priority
?
332 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
Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

 
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 2000 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

Tutorials alone can't teach real engineering

So we built better training tools.

-Hands-on Labs
-Instructor Mentoring
-Scenario-Based Tests
-Dedicated Cloud Servers

All at your fingertips. What are you waiting for?

Question has a verified solution.

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

It’s quite interesting for me as I worked with Excel using vb.net for some time. Here are some topics which I know want to share with others whom this might help. First of all if you are working with Excel then you need to Download the Following …
More often than not, we developers are confronted with a need: a need to make some kind of magic happen via code. Whether it is for a client, for the boss, or for our own personal projects, the need must be satisfied. Most of the time, the Framework…
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…

715 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