我有如下的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()"
*/
}