正则表达式,不能排除冒号(:)

时间:2017-01-08 04:37:14

标签: regex

我正试图从我的结果中排除冒号。

示例: 文本测试:看看这个+示例

我想捕捉“看看这个”,但是/([^:]。*(?= +))/不起作用。

我错过了什么?我想捕获冒号(:)之后和加号之前的所有内容。

由于

1 个答案:

答案 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];
?>

Run it here

Explanation