У меня есть проблема, которую нужно решить с помощью Regex
Если я использую Firefox или IE8, javascript сгенерирует этот код, который я действительно хочу.
<div style="visibility: hidden;" id="wizardId1">1001</div><div style="visibility: hidden;" id="wizardId2">1002</div>
Однако с IE7 это будетсгенерировать иначе, чтобы быть
<DIV id=wizardId1 style="VISIBILITY: hidden;">1001</DIV><DIV id=wizardId2 style="VISIBILITY: hidden;" >1002</DIV>
, который является идентификатором для div, помещается перед параметром стиля.
В моей Java-программе у меня есть регулярное выражение только для поддержки первого (Firefox & IE8) регулярное выражение
<(?:DIV|div)\s+style=(?:["\'])*(?:[\w\d:; ]+)*(?:["\'])*\s+id=(?:["\'])*([\w\d]+)(?:["\'])*>([\w\d]+)</(?:DIV|div)>
Поскольку IE7 поместил идентификатор перед стилем, чтобы я мог получить желаемый результат, подобный этому
Результат должен появиться
Match 1: <div style="visibility: hidden;" id="wizardId1">1001</div>
Subgroups:
1: wizardId1
2: 1001
Match 2: <div style="visibility: hidden;" id="wizardId2">1002</div>
Subgroups:
1: wizardId2
2: 1002
Я пытался использовать это регулярное выражение (чтобы убрать стиль из регулярного выражения), но результат возвращает только последний идентификатор.
<(?:DIV|div).*\s+id=(?:["\'])*([\w\d]+)(?:["\'])*>([\w\d]+)</(?:DIV|div)>
результат не нужен
Match 1: <div style="visibility: hidden;" id="wizardId1">1001</div><div style="visibility: hidden;" id="wizardId2">1002</div>
Subgroups:
1: wizardId2
2: 1002
Вопрос
Как я могу получить тот же результат, используя регулярное выражение, что и первый результат, не учитывая (style = "visibility: hidden;")?(Не использовать. * И не добавлять дополнительную группу)
Спасибо за помощь.