[英]regex for size ${word} - php preg_replace
您能帮我使用以下示例的正则表达式吗:
lorem ipsum size large lorem ipsum
或者
lorem ipsum size m lorem ipsum
或者
lorem ipsum size 39.5 lorem ipsum
所以简而言之,我试图在单词/分隔符大小之后提取一个单词/字符串,直到以下空白。 所以在上面的例子中它会(按顺序):大,米,39.5。
有任何想法吗?
快速更新:能否请您也包括一个可能性
size:$(size)
或者
size: $(size)
或者
size $(size)
if (preg_match('/\bsize\W+(\S+)/', $subject, $regs)) {
$result = $regs[1];
} else {
$result = "";
}
\bsize\W+
匹配size
加上一个或多个非字母数字字符(空格、标点符号等),但由于\b
单词边界锚,它不匹配capsize
。
然后(\S+)
匹配一个或多个非空白字符并在第一个反向引用中捕获它们(在本例中$regs[1]
)。
$strings = array(
'lorem ipsum size large lorem ipsum',
'lorem ipsum size m lorem ipsum',
'lorem ipsum size 39.5 lorem ipsum ',
);
foreach ( $strings as $string ) {
if ( preg_match('#\bsize\b\s+(\S+)\s#', $string, $matches) ) {
echo "<b>Matched '{$string}':</b>\n\n";
print_r($matches);
}
}
Output:
Matched 'lorem ipsum size large lorem ipsum':
Array
(
[0] => size large
[1] => large
)
Matched 'lorem ipsum size m lorem ipsum':
Array
(
[0] => size m
[1] => m
)
Matched 'lorem ipsum size 39.5 lorem ipsum ':
Array
(
[0] => size 39.5
[1] => 39.5
)
大小存储在$matches[1]
中。
preg_match('/\ssize\s+(\S+)/', $string, $matches);
echo $matches[1];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.