什么是Java中python的“ match.groupdict()”方法的替换?

时间:2019-03-30 06:39:22

标签: java python regex code-conversion

我有如下的python代码。我想在Java中转换此代码,但是我无法替换Java中的match.groupdict()。在下面的示例中,我为每个matchRegex(expr, data)方法调用应用了两个不同的正则表达式,但每个调用可能还会有更多的正则表达式。这是我的代码:

Python代码:

import re

def matchRegex(expr, data):
  match = re.compile(expr).match(data)
  stmt = match.groupdict()
  print("matchRegex() Output = ",stmt)


matchRegex(r'R(?P<rcount>[0-9]*)X?(?P<xdelta>[+\-]?\d*\.?\d*)?Y?(?P<ydelta>[+\-]?\d*\.?\d*)?', "R0004X015Y32")
matchRegex(r'(?P<deprecated>(G54)|(G55))?D(?P<d>\d+)\*', "D10*")

Python输出:

matchRegex() Output =  {'rcount': '0004', 'xdelta': '015', 'ydelta': '32'}
matchRegex() Output  =  {'deprecated': None, 'd': '10'}

我的Java努力:

public Map<String, String> matchRegex(Pattern expr, String data) {
    Matcher match = expr.matcher(data);
    if (match == null) {
        return new HashMap<String, String>(); 
    }else {
        /*
         Dont know how to implement replacement of "stmt = match.groupdict()"            
         */
    }

0 个答案:

没有答案