我有以下形式的不同字符串:
"-33.3*-50"
"3+5"
"-109.51+-33"
我希望有以下输出:
"-33.3", "*", "-50"
"3", "+", "5"
"-109.51", "+", "-33"
如果您只有 格式x (math symbol) y
,则以下正则表达式将起作用:
(-?\d+(?:\.\d+)?)(\*|\+|\-|\/|\%)(-?\d+(?:\.\d+)?)
( # Group 1
-? # Match if - symbol present
\d+ # Match digits
(?:\.\d+)? # Non-capturing group - match if contains float part
) # Close Group 1
( # Group 2
\*|\+|\-|\/|\% # Match math symbols *,+,-,/,%, separated using | -> or. Add others as needed.
) # Close Group 2
(-?\d+(?:\.\d+)?) # Group 3 structure is same as Group 1 above.
等式的每个单独部分都在一个单独的组中。例如-33.3
在拍摄第1组,*
在被捕获组2,-50
在被捕获第3组。
然后您可以替换"$1", "$2", "$3"
为以获得您想要的结果(请参阅正则表达式演示页面的底部)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句