可能重复:
正则表达式问号
我试图弄清楚如何解析括号内但语句中单引号之间的文本。例如,如果我有以下语句:
(I have a 'cat', 'hat');
我希望结果是
cat
hat
我设法通过尝试维基百科(http://en.wikipedia.org/wiki/Regular_expression)中定义的不同元字符来解决这个问题,但是我仍然无法理解它为什么起作用。
我试过这个:\'(.*)\'
我对这个正则表达式的理解:我想让单引号之间的字符'
和这些字符匹配任何单个字符.
零次或多次*
。
这导致:
cat', 'hat
在玩了一堆正则表达式之后,我终于意外地得到了这个:\'(.*?)\'
这导致:
cat
hat
为什么这行得通?(特别是我不明白“?”是如何工作的。)