People just cannot do unicode even remotely properly. Just cannot. 𝄞 is one char, not two. привет is matched by \w+. PS there's some advanced stuff but where is basic [[:posix:]] char classes?
RegExr 2.0
11–20 of 47 posts
Re: RegExr 2.0
#12I'm guessing the following is either near-impossible or pure-impossible, but: Is there a tool that allows you to highlight portions of a string and generate a corresponding regex? (i.e. the inverse of RegExr)
Re: RegExr 2.0
#13I'm guessing the following is either near-impossible or pure-impossible, but: Is there a tool that allows you to highlight portions of a string and generate a corresponding regex? (i.e. the inverse of RegExr)
Given that, what I think you're really asking is, "how do I automatically generate a regex of optimal conciseness given a set of inputs I'd like to match, and maybe a bunch of other inputs I want to avoid matching?"
This looks like it iteratively does what you want: http://regex.inginf.units.it/ (Note that when I went there, it said "6 slots available", presumably because everything runs server-side. If a bunch of people pile in there, you probably won't actually be able to test it due to limited resources on their part.)
Re: RegExr 2.0
#14I'm guessing the following is either near-impossible or pure-impossible, but: Is there a tool that allows you to highlight portions of a string and generate a corresponding regex? (i.e. the inverse of RegExr)
Consider the string abcdefgh
Guess what!? I have the perfect regex to match your string.
"abcdefgh"
So given a string literal, there is always a regex to match that literal. Namely, the literal itself.Really, what you want is a tool that, given several examples, will generate a regex that matches all of them.
So you'd give it:
aaaaabaa
aabaaa
aba
abaaaaa
And it'd generate "a+ba+"The problem with that is, given a corpus with a set of tokens { T0, T1, T2 ... }, I can give you a regex that will match the corpus!
"[T0 T1 T2 ... ]*"
or even ".*"
So it will match everything in your corpus! But unfortunately, it will match a whole lot you don't want, too.So ideally you want a regex that matches everything in your corpus, but nothing outside the language you are trying to describe. This requires both positive and negative learning examples. The problem is that for most applications, you'd need a lot of negative examples.
Source: Working on this exact problem for graduate research
Re: RegExr 2.0
#15I'm guessing the following is either near-impossible or pure-impossible, but: Is there a tool that allows you to highlight portions of a string and generate a corresponding regex? (i.e. the inverse of RegExr)
Here is the problem with that: Consider the string abcdefgh Guess what!? I have the perfect regex to match your string. "abcdefgh" So given a string literal, there is always a regex to match that literal. Namely, the literal itself. Really, what you want is a tool that, given several examples, will generate a regex that matches all of them. So you'd give it: aaaaabaa aabaaa aba abaaaaa And it'd generate "a+ba+" The p…
But that's pretty stupid, because you don't generalize beyond your examples.
What's your approach?
edit: removed random conjecture
Re: RegExr 2.0
#16Re: RegExr 2.0
#17Earlier quoted context omitted.
Here is the problem with that: Consider the string abcdefgh Guess what!? I have the perfect regex to match your string. "abcdefgh" So given a string literal, there is always a regex to match that literal. Namely, the literal itself. Really, what you want is a tool that, given several examples, will generate a regex that matches all of them. So you'd give it: aaaaabaa aabaaa aba abaaaaa And it'd generate "a+ba+" The p…
T0 | T1 | T2 | ... would match exactly the correct thing with all positive examples, and (T0 | T1 | T2) & !(CE1 | CE2 | CE3) would match exactly the correct thing with positive and negative examples. But that's pretty stupid, because you don't generalize beyond your examples. What's your approach? edit: removed random conjecture
A simple heuristic is the smallest regex.
So in your example, given the training examples:
aba
abaa
aaaaba
and the counter examples: abba
ba
ab
It's clear to a human I probably want to match "a+ba+". That's clearly much smaller than ("aba" | "abaa" | "aaaaba") & !("abba" | "ba" | "ab"), so it would be a "better" regex.Re: RegExr 2.0
#18Reminds me of http://rubular.com/ , except it isn't Ruby-focused and is more community-based. Seems pretty cool.
Re: RegExr 2.0
#19Re: RegExr 2.0
#20People just cannot do unicode even remotely properly. Just cannot. 𝄞 is one char, not two. привет is matched by \w+. PS there's some advanced stuff but where is basic [[:posix:]] char classes?
It seems a very nice regex page otherwise.