There is text2re, a free web-based "regex by example" generator.
I don't think this is available in source code, though. I dare to say there is no automatic regex generator that gets it right without user intervention, since this would require the machine knowing what you want.
Note that text2re uses a template-based, modularized and very generalized approach to regular expression generation. The expressions it generates work, but they are much more complex than the equivalent hand-crafted expression. It is not a good tool to learn regular expressions because it does a pretty lousy job at setting examples.
For instance, the string "2009/11/12"
would be recognized as a yyyymmdd
pattern, which is helpful. The tool transforms it into this 125 character monster:
((?:(?:[1]{1}d{1}d{1}d{1})|(?:[2]{1}d{3}))[-:/.](?:[0]?[1-9]|[1][012])[-:/.](?:(?:[0-2]?d{1})|(?:[3][01]{1})))(?![d])
The hand-made equivalent would take up merely two fifths of that (50 characters):
([12]d{3})[-:/.](0?d|1[0-2])[-:/.]([0-2]?d|3[01])
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…