我在Python中有一个以下的工作正则表达式,我试图将其转换为Java,我认为这两种语言的正则表达式工作原理是相同的,但显然它不是。在Python和Java中的正则表达式语法差异
Python的正则表达式:^\d+;\d+-\d+
我的Java尝试:
3;1-2,2-3
68;12-15,1-16,66-1,1-2
什么是Java的解决方案:应匹配^\\d+;\\d+-\\d+
例字符串?
谢谢,托马斯
我在Python中有一个以下的工作正则表达式,我试图将其转换为Java,我认为这两种语言的正则表达式工作原理是相同的,但显然它不是。在Python和Java中的正则表达式语法差异
Python的正则表达式:^\d+;\d+-\d+
我的Java尝试:
3;1-2,2-3
68;12-15,1-16,66-1,1-2
什么是Java的解决方案:应匹配^\\d+;\\d+-\\d+
例字符串?
谢谢,托马斯
的正则表达式是错误的输入,不知道你在Python在做什么,但是这并不匹配,我知道任何正则表达式的整个字符串。
这应该做的伎俩(转义字符将被忽略):
^\d+;(\d+-\d+,?)+
即您需要继续匹配由逗号分隔的数字对。
谢谢,我不需要匹配整个字符串,我只是测试模式是否在字符串中,所以我只测试第一个由逗号分隔的对,这对我来说已经足够了。 – 2010-10-29 00:19:18
Python和Java之间有很多显着的区别,但是你的正则表达式并没有设法在任何一个上面发现。 – tchrist 2010-10-29 01:00:01