使用正则表达式

时间:2017-05-14 13:01:13

标签: java regex pcre

我有这个字符串:

Fuel surcharge

我想变成

fuel_surcharge

使用正则表达式。我匹配的正则表达式看起来像这样

\b([A-Z])|(\s)

它给了我需要的两场比赛。

然后我尝试使用此替换正则表达式

\L\1_\2

根据逻辑,第一场比赛应改为小写,第二场比赛应改为_

但我给出的结果是

f_uel_ surcharge

我看起来好像无法隔离第二场比赛。我是否需要将_括在替换正则表达式中?

Here是我在regex101.com上尝试的正则表达式的链接。目前正则表达式为pcre,但我可能希望在Java中使用它。

1 个答案:

答案 0 :(得分:0)

\b([A-Z])([a-z]*)(\s)

\L\1\2_

在第一个两个匹配后,你想要下划线。