我一直试图让这个工作,我几乎在那里,但可以完全得到最后一场比赛。这是正则表达式即时通讯使用:正则表达式不会匹配我所有的模式
^`.*` (.*?)(\(.*?\))?\s
这些模式的一些例子我想匹配
1.`asgKey` tinyblob
2.`is_asg` bit(1) DEFAULT NULL
3.`lastModified` datetime DEFAULT NULL
此正则表达式匹配2和3而不是1。我曾尝试加入?
和*
的空格字符,但它不匹配任何东西。我想我误解了匹配组
(.*?)
- 匹配任意数量的字符
(\(.*?\))?
的 - 如果有括号匹配在他们里面什么都不理
\s
- 空格字符
组1字符串组2是括号中的内容(如果存在的话)
http://www.rubular.com/r/Um6RvZPHDJ适合我。 – codaddict
@codaddict,是因为'\ s'匹配换行符。如果你只有第一个例子,它不会匹配。 [Rubular](http://www.rubular.com/r/wi5QWjvxVO) – stema
它无法使用这一个http://www.regexplanet.com/advanced/java/index.html –