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


regex match as 1 unit

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

字符串看起来像:

somethingsomethin.somethingsomething.extension

我想匹配2个周期之间的比特,并包括上面的2个周期部分:

.somethingsomething.

我想出了一些简单的东西,比如:'..+'.

问题是,它匹配了类似这样的所有时期:

当我只想要.somethingsomething.时,somethingsomethin....somethingsomething....extension匹配为....somethingsomething....

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

由于..匹配,因此排除文字. s:'.[^.]+'.或可能的'.'w+'.

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

<?php
$str = 'somethingsomethin....somethingsomething....extension';
preg_match('#'.'w+'.#', $str, $m);
print_r($m);