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

标签 java python regex

我在 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 中正确的解决方案是什么?

谢谢你,托马斯

最佳答案

输入的正则表达式有问题,不知道您在 Python 中做了什么,但这与我所知道的任何正则表达式中的整个字符串都不匹配。

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

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

即您需要继续匹配以逗号分隔的数字对。

关于java - Python 和 Java 中正则表达式语法的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4048088/

相关文章:

java - 如何将 JDBC 模板结果导出到 Excel 工作表

java - Groovy GroupBy 变量键集

Python3关于字节变量的正则表达式

python - 从值中获取键(值位于列表中)

正则表达式 - 不使用混合分隔符的日期格式

java - 在java中使用regex g标志

Java - 两个接口(interface)中的双重定义

python - 在 pandas Dataframe 中移动数据

Java - 如何匹配包含单引号的正则表达式模式?

javascript - 如何使用正则表达式替换字符串中的两个连续特殊字符?