【发布时间】:2015-12-27 15:32:35
【问题描述】:
我有一个包含文本、数字和符号的字符串。我试图从字符串中提取数字和符号,但成功有限。而不是得到整个数字和符号,我只得到它的一部分。我将在下面解释我的正则表达式,使其更清晰,更容易理解。
\d : any number
[+,-,*,/,0-9]+ : 1 or more of any +,-,*,/, or number
\d : any number
代码:
$string = "text 1+1-1*1/1= text";
$regex = "~\d[+,-,*,/,0-9]+\d~siU";
preg_match_all($regex, $string, $matches);
echo $matches[0][0];
预期结果
1+1-1*1/1
实际结果
1+1
【问题讨论】:
-
比您的previous question 有了很大的改进。祝你好运。
-
把那个东西扔进:regex101.com 看看右上框
-
@Rizier123 你看到了吗? \d : 任意数 [+,-,,/,0-9]+ : 1 个或多个任意 +,-,,/ 或数字 \d : 任意数
-
@jessica 是的,我看到了。现在你可能想把你的正则表达式 ^^ 扔进去看看它到底做了什么
-
正如我在上面所说的那样。您是否看到了预期的结果,以及上面粗体显示的实际结果?这就是结果。在 regex101 中相同。
标签: php regex preg-match-all