正则表达式匹配为1个单位

时间:2012-02-14 04:59:04

标签: php regex

我正在使用PHP在某些字符串上运行正则表达式。

字符串看起来像:

somethingsomethin.somethingsomething.extension

我希望匹配2个句点之间的位,并包括上面的2个句点部分:

.somethingsomething.

我想出了一些简单的内容:\..+\.

问题在于它匹配所有类似的句点:

当我只想要somethingsomethin....somethingsomething....extension时,

....somethingsomething.....somethingsomething.匹配。

如何让我的正则表达式匹配为“1个单位”并且只匹配一次?

2 个答案:

答案 0 :(得分:2)

由于..匹配,因此请排除文字.\.[^.]+\.\.\w+\.

答案 1 :(得分:0)

.匹配示例中的整个字符串。试试这个:

<?php

$str = 'somethingsomethin....somethingsomething....extension';

preg_match('#\.\w+\.#', $str, $m);

print_r($m);