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