我正在尝试只提取操作数,即。我的算术表达式中的+ - /
和*
。
例如:A + B
应该给我返回+
我尝试使用以下几个RegEx,但我总是得到一个包含3个元素的数组:
表达式#1:
print_r (var_dump(preg_split ( "/([\w\s]*[^\-\+\/\*])/", "A+B" )), TRUE);
输出:
array(3) {
[0] =>
string(0) ""
[1] =>
string(1) "+"
[2] =>
string(0) ""
}
表达式#2:
print_r (var_dump(preg_split ( "/(?!\+|\-|\*|\/)[\w\s]+/", "A+B" )), TRUE);
输出:
array(3) {
[0] =>
string(0) ""
[1] =>
string(1) "+"
[2] =>
string(0) ""
}
我只想要一个+
符号作为输出。
你知道我做错了什么吗?
发布于 2018-06-24 01:12:00
您可以使用preg_match_all:
preg_match_all ( "/([\^\-\+\/\*])/", "A+B", $result );
$result = $result[0];
print_r($result);
结果是:
Array ( [0] => + )
https://stackoverflow.com/questions/51003268
复制相似问题