Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / Languages / C# / January 2008

Tip: Looking for answers? Try searching our database.

regular expressions help

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
supercrossking@gmail.com - 09 Jan 2008 17:14 GMT
I am trying to the values of string of text in the sample before. The
ds are for digits and s is for string and string of text is for a
string with more than one or two values. I am trying to use regex and
the .groups method. Please help.

d|d|d|string of text 1||s|s|||dd.dd|ss|string of text
2||||||||||||||||||||||||||string of text 2

I only want string of text1
supercrossking@gmail.com - 09 Jan 2008 18:53 GMT
I want to grab the 4th item from the entire string of this
d|d|d|string of text 1||s|s|||dd.dd|ss|string of text
2||||||||||||||||||||||||||string of text 2
1|1|1|ABCDEF.....XYZ 1||A|A|||11.11|AB|ABCDEF.....XYZ
2||||||||||||||||||||||||||ABCDEF.....XYZ 2

I only need string of text 1 for display, not d|d|d|string of text 1||
s|s|||dd.dd|ss|string of text 2||||||||||||||||||||||||||string of
text 2.

On Jan 9, 12:14 pm, supercrossk...@gmail.com wrote:
> I am trying to the values of string of text in the sample before. The
> ds are for digits and s is for string and string of text is for a
[quoted text clipped - 5 lines]
>
> I only want string of text1
Ethan Strauss - 09 Jan 2008 20:29 GMT
I am not sure I understand the question, but I think this will help.

You can create a named group by enclosing it in paranethsis and add ?<name>.

For example, I have the following Regex pattern in my code
"_(?<WellName>[A-H]\\d{1,2})_"

This is used to capture just the Well Designation (a letter from A-H and
then 1 or 2 digits) from a longer string as long as that pattern is
surrounded by underscores.

         
Regex.Match("SomeText_B7_MoreText","_(?<WellName>[A-H]\\d{1,2})_").Groups["WellName"].Value;

Would return "B7" (If I don't have a typo somewhere...)
Ethan

> I am trying to the values of string of text in the sample before. The
> ds are for digits and s is for string and string of text is for a
[quoted text clipped - 5 lines]
>
> I only want string of text1
supercrossking@gmail.com - 10 Jan 2008 14:03 GMT
I will try to make it more clear.

1|2|3|this are is the text I want to display||a|b|||45.67|cd|don't
need this text
|||||||||||||||||||||||||| this text

I've tried some combinations of things to get exactly what I want, but
can't get it 100%.

([\w.]+\s*)?,?").Groups(1).ToString() only gets first item, number 1
in this case. I want the text "this are is the text I want to display"
and only that. The pattern is just like it is above, the first 3 are
digits, then some text(the text I want), empty, one alpha character,
etc in example.

On Jan 9, 3:29 pm, Ethan Strauss
<EthanStra...@discussions.microsoft.com> wrote:
> I am not sure I understand the question, but I think this will help.
>
[quoted text clipped - 24 lines]
>
> - Show quoted text -
supercrossking@gmail.com - 10 Jan 2008 14:56 GMT
This is for a pipe delimited string of text using regular expressions.

On Jan 10, 9:03 am, supercrossk...@gmail.com wrote:
> I will try to make it more clear.
>
[quoted text clipped - 44 lines]
>
> - Show quoted text -
Ethan Strauss - 10 Jan 2008 15:23 GMT
So, are you trying to get an specific regular expression to use?  The way I
generally start is by describing exactly what about the pattern is unique. In
this case, I think what you want is the first set of characters which does
not contain any pipes (|) after 3 occurances of 1 digit 1 pipe. Is that
correct?

If so, try this

(\d|){3}(?<TheGroupIWant>.*)|

Here is what that means

(\d|){3}                   3 occurances of any digit followed by a pipe
(?<TheGroupIWant>.*)              any number of characters (except new
lines) captured into a group named "TheGroupIWant"
|                            A pipe (so it stops this group as soon as a
pipe occurs. )

Ethan

> This is for a pipe delimited string of text using regular expressions.
>
[quoted text clipped - 47 lines]
> >
> > - Show quoted text -
supercrossking@gmail.com - 11 Jan 2008 16:15 GMT
That makes sense, but it does not work.

This is VB.net

Dim stringofText As String = "9|1|1|Today is a great day|1"
      Response.Write( Regex.Match( stringofText, "(\d|){3}(?
<TheGroupIWant>.*)| ").Groups(1).ToString() )

I did get it to work be doing a split and an array. I wouldn't mind
figuring out the regex way to do it too.

On Jan 10, 10:23 am, Ethan Strauss
<EthanStra...@discussions.microsoft.com> wrote:
> So, are you trying to get an specific regular expression to use?  The way I
> generally start is by describing exactly what about the pattern is unique. In
[quoted text clipped - 70 lines]
>
> - Show quoted text -
supercrossking@gmail.com - 11 Jan 2008 16:23 GMT
If I do

Dim stringofText As String = "9|1|1|Today is a great day|1"
      Response.Write( Regex.Match( stringofText, "(\d|){3}(?
<TheGroupIWant>.*)| ").Groups("TheGroupIWant").ToString() )

I get 9|1|1|Today is a great day|1, not Today is a great day

On Jan 10, 10:23 am, Ethan Strauss
<EthanStra...@discussions.microsoft.com> wrote:
> So, are you trying to get an specific regular expression to use?  The way I
> generally start is by describing exactly what about the pattern is unique. In
[quoted text clipped - 70 lines]
>
> - Show quoted text -
supercrossking@gmail.com - 11 Jan 2008 17:20 GMT
You have to escape the pipe with a \.

Dim stringofText As String = "9|1|1|Today is a great day.|1"
      Response.Write( Regex.Match( stringofText, "(\d\|){3}(?
<TheGroupIWant>.*)\|").Groups("TheGroupIWant").ToString() )

That works just fine.

On Jan 11, 11:23 am, supercrossk...@gmail.com wrote:
> If I do
>
[quoted text clipped - 83 lines]
>
> - Show quoted text -
supercrossking@gmail.com - 11 Jan 2008 17:36 GMT
It doesn't work with more data at the end, like this.

Dim stringofText As String = "4|1|3|have a nice day.||a|b|||12.34|ab|
abcdefg||||||||||||||||||||||||||ACBDEFG123456789"
Response.Write( Regex.Match( stringofText, "(\d\|){3}(?
<TheGroupIWant>.*)(\w?|\s?\|)?").Groups("TheGroupIWant").ToString() )

On Jan 11, 12:20 pm, supercrossk...@gmail.com wrote:
> You have to escape the pipe with a \.
>
[quoted text clipped - 95 lines]
>
> - Show quoted text -
Ethan Strauss - 11 Jan 2008 18:19 GMT
Sorry,
 I actually tested it this time, so it works for sure for me.

           String text = "4|1|3|have a nice
day.||a|b|||12.34|ab|abcdefg||||||||||||||||||||||||||ACBDEFG123456789";
           string Results = Regex.Match(text,
@"(\d\|){3}(?<TheGroupIWant>[^\|]*)").Groups["TheGroupIWant"].ToString();
         
Gives "have a nice day."

It looks like you are using VB, so your syntax is a little different, but
anyway, the "[^\|]" means Anything except a pipe.

Ethan

> It doesn't work with more data at the end, like this.
>
[quoted text clipped - 103 lines]
> >
> > - Show quoted text -

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.