|
This one even fails to separate asd=w2342 asd=12333. I appreciate your effort, but not what I was looking for.
Expected:
asd
w2342
asd
12333
I will never again mention that Dalek Dave was the poster of the One Millionth Lounge Post, nor that it was complete drivel.
|
|
|
|
|
Hello,
I use VB.net for this one...
(BTW) i know this isn't the thing you're looking for, but i hope i could at least help you...
Public Function ListItems As List(Of Item)<br />
Dim Result As New List(Of Item)<br />
<br />
Dim items As String = "asd=w2342 asd=12333"<br />
Dim parts() As String = Split(items, " ") 'First off i'm gonna split the items devided by spaces<br />
<br />
For Each part As String In parts<br />
<br />
Dim items() As String = Split(part, "=") 'Second i'm going to split the part into two seperate values<br />
Dim Value1 As String<br />
Dim Value2 As String<br />
<br />
Value1 = items(0)<br />
Value2 = items(1)<br />
<br />
Result.Add(New Item(Value1, Value2) 'Then you can assign these value to a class or something else you want to use this data in...<br />
<br />
Next<br />
<br />
Return Result<br />
<br />
End Sub
I hope i could help you a bit in finding an answer to your problem...
With kind regards,
Niels Koomans
|
|
|
|
|
Marco Bertschi wrote: second key can contain an escaped \= Are you sure - isn't it 'second value'?
What the separator between one key-value pair to the other?
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
|
|
|
|
|
Kornfeld Eliyahu Peter wrote: Are you sure - isn't it 'second value'?
Nicely catched my brainfart
Kornfeld Eliyahu Peter wrote:
What the separator between one key-value pair to the other?
A space. I know, that doesn't really makes it easier
I will never again mention that Dalek Dave was the poster of the One Millionth Lounge Post, nor that it was complete drivel.
|
|
|
|
|
But space also can be in the value part, but not in the key part - Am I right?
In that case I'm not sure you have a pure regex solution...
(I would like to have the time to dig in - it's an interesting challenge, unfortunatelly I have not )
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
|
|
|
|
|
Kornfeld Eliyahu Peter wrote: But space also can be in the value part, but not in the key part - Am I right?
Yes, and that makes the easy question a hard one.
I will never again mention that Dalek Dave was the poster of the One Millionth Lounge Post, nor that it was complete drivel.
|
|
|
|
|
As whitespace (or space only) can be also part of value and also separator for key-value pairs - I'm almost sure you wasting your time by looking for a regex solution...Consider it...
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
|
|
|
|
|
Peter,
see Richard's answer below. It works like a charm, and will most certainly help you as much as it did help me. I wasn't wasting my time, and the efficiency gain makes the invested time worth.
I will never again mention that Dalek Dave was the poster of the One Millionth Lounge Post, nor that it was complete drivel.
|
|
|
|
|
I see...I hope you aware that it's a .NET only extension and it will not work anywhere else...
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
|
|
|
|
|
Kornfeld Eliyahu Peter wrote: .NET only extension
May I ask what about it is .Net only?
I will never again mention that Dalek Dave was the poster of the One Millionth Lounge Post, nor that it was complete drivel.
|
|
|
|
|
The group definition ?<group> is .NET only. It brings a kind of recursive search into regex (that lacks it)...
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
|
|
|
|
|
Well... damn.
I got this one going here
^((\\b[^\\s=]+)=(([^=]|\\\\=)+))*$
which gives me the last key-value pair of the string. I can then chop off the extracted string and run the regex again. Dirty, but does the job.
I will never again mention that Dalek Dave was the poster of the One Millionth Lounge Post, nor that it was complete drivel.
|
|
|
|
|
Yeah...That what I though - no pure regex for you know. Not without extensions...
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
|
|
|
|
|
Bummer.
But that one got me, evntually gonna write a short article about it...
I will never again mention that Dalek Dave was the poster of the One Millionth Lounge Post, nor that it was complete drivel.
|
|
|
|
|
Beware - it's the second article you promise me! I didn't see the first jet...
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
|
|
|
|
|
What was the first one again?
I will never again mention that Dalek Dave was the poster of the One Millionth Lounge Post, nor that it was complete drivel.
|
|
|
|
|
Syslog protocol...
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
|
|
|
|
|
I started the implementation, but I'm a bit busy with my final projects for my apprenticeship.
What I've done so far is a good bit of the message classes, have a look, if you want to...[^]
I will never again mention that Dalek Dave was the poster of the One Millionth Lounge Post, nor that it was complete drivel.
|
|
|
|
|
Assuming that keys can't contain white-space or escaped "=" characters, this should work:
^((?<key>\b[^\s=]+)=(?<value>([^=]|\\=)+))+$
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Richard,
this one works like a charm, you can't believe how much you helped me
I will never again mention that Dalek Dave was the poster of the One Millionth Lounge Post, nor that it was complete drivel.
|
|
|
|
|
Oh, so the puzzle was here all the time. Well, OG found a solution to you, and I got one too witch OG helped me a little with:
(\w+(?=\=))|((?<!\\)(?<=\=)(.+?)((?=(\s\w+\=))|$))
This sould work in all cases, or so I hope
|
|
|
|
|
Something else to consider... when I've needed to do something like that I did it right-to-left.
You'll never get very far if all you do is follow instructions.
|
|
|
|
|
i want to separate voice and background music from an audio file, for this i have use BSS method. Can any one provide me MATLAB code for BSS(blind source separation)
|
|
|
|
|
And what does this have to do with Regular Expressions[^]?
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
I can't see how you can't see the connection...
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
|
|
|
|