如何将python regexp转换为j

2024-04-19 06:43:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要将以下python regexp转换为java regexp:

regexp = re.compile(r"^(?P<prefix>(%s)(%s)?)\s?\b(?P<name>.+)" %
                                ("|".join(array1),
                                 "|".join(array2)), re.IGNORECASE
                                                             | re.UNICODE)

其中array1和2是字符串数组。在

我所做的是:

^{pr2}$

但是我得到了一个PatternSyntaxException:“Unknown look behind group near”在问号(%s)(%s)中?

我不太明白这个问号。在

关于如何将其转换为Java1.6有什么建议吗?在


Tags: 字符串namereprefixunicode数组javajoin
1条回答
网友
1楼 · 发布于 2024-04-19 06:43:55

很多事情都会对你不利。在

(?<是java中一个积极的look-behind表达式。在

(?P<prefix>是python中的命名组,java中没有命名组。在

对于%sString.format和数组将不会像在python示例中那样从数组生成{}连接的字符串。在

首先,您需要通过|从数组中手动连接字符串。 当你有两条线时,你可以: regexpPattern = Pattern.compile(String.format("^((?:%s)(?:%s)?)\\s?\\b(.+)", string1, string2));

python中的prefix组现在是java中的组1,name组是组2。在

相关问题 更多 >