2014-06-10 55 views
0

我有以下字符串:正则表达式先行替代

30.03.2014 

我需要一个正则表达式,这给了我这个部分:

03 

我不允许使用超前,因为它不受支持。 表达式应该只返回“。”之间的字符串。 我所做的表达:

\.(.*?)\. 

拿过点,包括点之间的字符串:

.03. 

我不想点是在结果中。这是我测试它的地方:RegExr

谢谢。

+0

您使用的是什么正则表达式? – anubhava

+1

我的答案应该是“不要使用正则表达式解析”,并指向任何类型的日期库/对象在您使用的语言,所以我最好不要发布它。 ;)另外,当使用RegExr时,将鼠标悬停在结果上,并检查它是否列为“group”,因为这是你的'()'组包装的。 –

回答

1

首先,你可以用(\d+)

接下来的事情更换(.*?)是你的正则表达式正常工作,你只需要找到匹配的组(例如,在PHP这将是$matches[1])。您在演示中看到的是与正则表达式(即$matches[0])匹配的整个字符串,而不仅仅是您指定的[1]组。

+0

谢谢你,像一个魅力工作。 –

0

您使用的方法是正确的。现在你所要做的就是用你最喜欢的编程语言来抓住括号内的内容。对于每种编程语言,都有不同的语法。