Что является заменой метода "match.groupdict ()" в Python в Java? - PullRequest
0 голосов
/ 30 марта 2019

У меня есть код Python, как показано ниже. Я хочу преобразовать этот код в Java, но я не получаю замену match.groupdict() в Java. Я применил два разных регулярных выражения для каждого вызова метода 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()"            
         */
    }
...