Java Matcher正则表达式可选组

时间:2015-03-09 17:50:13

标签: java regex

我有一个正则表达式,我需要增强以匹配一个额外的可选项(d_id = [Another Submit])。这可能吗?

<BLOCK a_id *?= *?\"(\\d.*?)\" *?b_id *?= *?\"(.*?)\" *?c_id *?= *?\\   [(.*?)\\] *?/>

<BLOCK a_id="4273" b_id="/nyl-internet/css/form-nyl-1col-250-opt.css" c_id=[Submit]/>

如果出现可选的d_id,还需要增强正则表达式以匹配。     

1 个答案:

答案 0 :(得分:0)

d_id块放在非捕获组中,并通过在该组旁边添加?量词来使其成为可选项。

<BLOCK a_id *?= *?\"(\\d.*?)\" *?b_id *?= *?\"(.*?)\" *?c_id *?= *?\\[(.*?)\\] *?(?:d_id *?= *?\\[(.*?)\\])? *?/>