php 特殊字符 trim

php special character trim

我有一组字符串,如下所示:

fw-sophi.watcon.-.120
d-elain.heckop.-.121
sim.boosh.-.134
bh.-.elain.heckop.-.244

我如何将trim下面的一组字符串改为return只有中间部分? 预计 return:

sophi.watcon
elain.heckop
sim.boosh
elain.heckop

手动 trim() 字符串不切实际,因为有很多,我该如何以编程方式执行此操作?

如果没有其他模式,这应该足够了:

$input = 'fw-sophi.watcon.-.120
d-elain.heckop.-.121
sim.boosh.-.134
bh.-.elain.heckop.-.244';

if (preg_match_all('~(?<key>\w+\.\w+)~', $input, $matches)) {
    print_r($matches['key']);
}

结果数组:

Array
(
    [0] => sophi.watcon
    [1] => elain.heckop
    [2] => sim.boosh
    [3] => elain.heckop
)

图案说明:

~                 #pattern start 
(                 #start group to capture matched result
    ?<key>        #give a name to group. see $matches['key'].
    \w+           #one or more alphanumeric characters
    \.            #dot character. we need to escape it with \
    \w+           #one or more alphanumeric characters
)                 #end group
~                 #pattern end
x