我正试图从我的结果中排除冒号。
示例: 文本测试:看看这个+示例
我想捕捉“看看这个”,但是/([^:]。*(?= +))/不起作用。
我错过了什么?我想捕获冒号(:)之后和加号之前的所有内容。
由于
答案 0 :(得分:3)
你可以试试这个:
([^:]*(?=\+))
you also need to put escape ⬇ for + sign
([^:].*(?=\+))
You do not need this dot ^
要回答您的评论,您可以尝试:
:\s*(.*?)\s*\+
您可以捕获group 1
中的文字<?php
$re = '/:\s*(.*?)\s*\+/';
$str = 'Text Test: Look at this + example';
preg_match_all($re, $str, $matches);
echo $matches[1][0];
?>