R中的正则表达式帮助

Ric*_* Le 1 regex r

我的数据看起来像这样,其中负号是数字末尾的后缀.

"general_amount"
"0000000441244"
"0000000127769-"
"0000000043819"
"0000000522600-"
Run Code Online (Sandbox Code Playgroud)

有人可以帮我找到正则表达式,以产生下面所需的输出.

"general_amount"
 441244
-127769
 43819
-522600
Run Code Online (Sandbox Code Playgroud)

Mat*_*erg 9

sub('^0*([^-]*)(-?)$', '\\2\\1', x)

## [1] "general_amount" "441244"         "-127769"        "43819"          "-522600"
Run Code Online (Sandbox Code Playgroud)

^0*匹配所有主角0.
[^-]*匹配所有非-字符.
-?匹配零个或一个-字符.
最后,$匹配字符串的结尾.

中间的两个部分用相反的顺序捕获(),\\1然后\\2和打印.