4 ms·
A conversation I had the other week: Him: Do you know how to check if it's possible to write a regular expression for this? Me: Either create an automata and
by kingkilr 13y ago
A conversation I had the other week:
Him: Do you know how to check if it's possible to write a regular expression for this?
Me: Either create an automata and then it's demonstrably possible, or apply the pumping lemma to prove it's impossible?
Him: No. Dare Stackoverflow to write it.
- im3w1l 13y agoSome regexp dialects are actually Turing complete from what I've heard. EDIT: Yes this seems to be wrong
- kingkilr 13y agoI'm not sure if they're turing complete, however many many many common regexp dialects (as seen in perl, ruby, python, etc.) are more powerful than what you learned as "regular expressions" in CS class, they're at least as powerful as a PDA.
- chimeracoder 13y ago> they're at least as powerful as a PDA. PCREs (ie, the regular expressions that Perl uses) are NP-hard, since they allow backreferences.
- kazagistar 13y agoI think you are confusing complexity and computability class.
- anaphor 13y agoDo you mean that some regex implementations allow you to parse context-free grammars?
- hyperpape 13y agoMost regex implementations allow you to parse some context-free grammars, and even some non-context-free grammars. But they don't let you parse all context-free grammars. reference: http://cstheory.stackexchange.com/questions/1047/where-do-most-regex-implementations-fall-on-the-complexity-scale http://cstheory.stackexchange.com/questions/1047/where-do-mo...
- anaphor 13y agoYeah, I should've said "all". I know that you can describe regular grammars using languages designed for CFGs, like BNF.
- TheZenPsycho 13y agothe answer if you're using perl or pcre, is probably yes, but for the love of djikstra don't ever do it. This was on HN a while back: http://nikic.github.io/2012/06/15/The-true-power-of-regular-expressions.html http://nikic.github.io/2012/06/15/The-true-power-of-regular-...
- mcguire 13y agoThis is a trivial corollary of the Basic Technique For Finding the Correct Answer to a Question on the Internet: Strongly assert a wrong answer on the Internet. The correct answer will appear shortly.