Python和Java中正则表达式语法的差异
我在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+,?)+
也就是说,你需要继续匹配用逗号分隔的数字对。