如何解决正则表达式替换逗号后的保留数字和数字末尾的符号
我想用逗号替换前两位数字后的所有字符,并在字符串的末尾保留负号。
例如字符串为1234,56789-的结果应为1234,56-。
使用(,\ d {2})。*并替换为“ $ 1-”确实可以将所有内容保留到逗号后2位,但是不会在字符串末尾保留/添加减号。
我尝试过(,\ d {2})。*(-),然后也替换为“ $ 1 $ 2”,但这都不起作用。
解决方法
如果要使用替换,可以使用(,\d{2})\d*
并替换为$1
-
(,\d{2})
:保持逗号和所需的两位数 -
(?:\d*)
:忽略其他数字
https://regex101.com/r/dcObRO/2
,如果您有浮点数,最好在其上进行分组并根据需要重写数字,如:
([0-9][0-9]*,[0-9][0-9])[0-9]*([-+])?
^ 1st group two digits ^ 2nd group (optional)
然后您可以将其转换为
\1\2
如本demo
所示版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。