我希望它检测正面和负面的整数,但我希望它不包括负数,如果它用于减法。
实施例
“29 - 24 + 4”应返回29,-24和4
“29 -24 + 4”应该返回29,24,最后是4
我目前使用这个表达式“([0-9] * - )?[0-9] +”来测试减号后的字符是不是数字。然后,我可以使用另一个正则表达式找到实际数字。 上面的问题是,如果我的号码在字符串的开头,它就不起作用。像“-4 + 2”。这将输出4和2。
编辑:语言是动作3。
答案 0 :(得分:0)
(?:^|[-+]) *?(-?\d+)
答案 1 :(得分:0)
使用perl
风格regexp
的一种方式:
script.pl
的内容:
use warnings;
use strict;
while ( <DATA> ) {
chomp;
printf qq|%s = |, $_;
printf qq|%s |, $1 while m/(-?\d+)\s*(?:-|\+|$)/g;
print qq|\n|;
}
__DATA__
29 --24 + 4
29 -24 + 4
-4 + 2
像以下一样运行:
perl script.pl
使用以下输出:
29 --24 + 4 = 29 -24 4
29 -24 + 4 = 29 24 4
-4 + 2 = -4 2
答案 2 :(得分:0)
的的ActionScript:强> 的
var pattern:RegExp = new RegExp("([+-]?\d+)","ig");
var element:Array = ut.match(pattern);