0

我有两个这样的字符串:

  1. PDY_24.45_USD_ASTRO
  2. PDY_24.45USD_ASTRO

我需要替换24.45_USD24.45USD*

我写的是

final String REPLACEDIGITS= "(\\d*\\.\\d*)(\\_)(\\w{3})";

但它适用于一个而不是另一个。如果我删除\\_它适用于其他。但我想要一个适用于两者的正则表达式。任何忽略的解决方案_

谢谢,斯瓦纳

4

2 回答 2

1

要使某些东西成为可选的,您可以在?之后添加一个,这样您就_?可以选择匹配下划线

这个表达式:

(\d+(\.\d+)?)_?(\w{3})

将使下划线可选,并且还允许整数,即25_USD25USD以及以及24.45_USD24.45USD

于 2013-08-19T11:00:19.667 回答
0

试试(\d*\.\d*)(\_)?(\w{3})吧。

于 2013-08-19T10:57:47.947 回答