Python和Java中正则表达式语法的差异

2 投票
1 回答
982 浏览
提问于 2025-04-16 06:16

我在Python中有一个可以正常工作的正则表达式,现在想把它转换成Java。我原以为这两种语言的正则表达式是一样的,但显然并不是。

Python中的正则表达式是:^\d+;\d+-\d+

我在Java中的尝试是:^\\d+;\\d+-\\d+

应该匹配的示例字符串:

3;1-2,2-3
68;12-15,1-16,66-1,1-2

在Java中正确的解决方案是什么呢?

谢谢,Tomas

相关问题:

1 个回答

2

这个正则表达式对输入的处理有问题,我不知道你在Python里做了什么,但在我知道的任何正则表达式中,这个都无法匹配整个字符串。

这个应该可以解决问题(转义字符省略了):

^\d+;(\d+-\d+,?)+

也就是说,你需要继续匹配用逗号分隔的数字对。

撰写回答