我使用'tags'(不确定官方正则表达式术语)来识别与正则表达式的匹配。我可以在我正在搜索的文本块中指定匹配的开始/结束位置吗?
所以如果我在
中寻找“黄色”我找到了一只黄色风筝
它会回来 开始:11 停止:17
答案 0 :(得分:0)
我认为可以使用php regex使用脚本调用它们 的preg_match。
没错。
<?php
$subject = 'I found a Yellow kite.';
if (preg_match('/(?<COLOR>(Red|Blue|Yellow))/', $subject, $matches, PREG_OFFSET_CAPTURE))
{
$start = 1+$matches['COLOR'][1];
$stop = $start+strlen($matches['COLOR'][0]);
echo "Start: $start\nStop: $stop\n";
}
?>
使用PREG_OFFSET_CAPTURE
,$matches['COLOR']
将返回
Array
(
[0] => Yellow
[1] => 10
)