Antoine De Groote wrote: > Hello, > > Can anybody tell me the reason(s) why regular expressions are not built > into Python like it is the case with Ruby and I believe Perl? Like for > example in the following Ruby code > > line = 'some string' > > case line > when /title=(.*)/ > puts "Title is #$1" > when /track=(.*)/ > puts "Track is #$1" > when /artist=(.*)/ > puts "Artist is #$1" > end > > I'm sure there are good reasons, but I just don't see them.
Partially it's a matter of language design philosophy, and partially it's a matter of the early history of the language. Guido tends toward a very clean, almost mathematical minimalist approach: things should be put into the core language that duplicate other things. Larry Wall tends toward what I think of as a "kitchen sink" approach. Put it in! The other is early history. Python started out as the scripting language for an operating system research project at a university. Perl started out as a language for doing text manipulation in a working systems administration environment. There's a different issue that, I think, illustrates this very nicely: text substitution. Python uses the "%" operator for text substitution. I suspect that Guido doesn't like it very much, because it has recently grown a second library for text substitution, and there's a PEP for 3.0 for yet a third library. And guess what? Neither of them uses an operator. > Python Culture says: 'Explicit is better than implicit'. May it be > related to this? It's more "there should be one, and preferably only one, obvious way to do something." John Roth > > Regards, > antoine -- http://mail.python.org/mailman/listinfo/python-list