Regex для поиска всех атрибутов класса jsp через Eclipse, которые содержат класс, который не начинается с ((c | l | u | nav | js) - | dijit | dojo | dgrid) - PullRequest
0 голосов
/ 04 февраля 2019

Я заканчиваю CSS-рефакторинг довольно крупного Java-проекта с использованием Struts 2 и Dojo.В настоящее время я пытаюсь найти старые CSS-классы, которые могут быть остатками, в значительной степени заключительный этап рефакторинга.

Я пытаюсь найти регулярное выражение, чтобы найти все атрибуты класса jsp, которые содержат класс, который делаетне начинать с ((c|l|u|nav|js)-|dijit|dojo|dgrid).Это найдет все наши собственные классы CSS, к которым добавляются префикс этих буквенных комбинаций плюс тире, а также большинство классов CSS, определенных Dojo, которые мы можем использовать вручную.Я ищу что-то, что я могу ввести в диалоге поиска Eclipse.

лучшее, что я нашел до сих пор, было (?<=class=)"(\w|\s)*\b(?!(c|l|u|nav|js)-|dijit|dojo|dgrid)(\w|\s)*\b(\w|\s)*", но на самом деле это не исключает классы dijit, dojo или dgrid и этоне работает для атрибутов класса с более чем одним определенным классом, по крайней мере AFAIK.Я также пытался адаптировать ответ на https://stackoverflow.com/a/25545691/1770430,, но не могу заставить его работать должным образом.

Некоторые строки для тестирования:

Подходим первый класс здесь:

<td class="oldCssClassInFront c-table-basic__value-cell">

соответствует второму классу здесь:

<td class="c-table-basic__value-cell oldCssClassBehind">

Ничего не соответствует здесь:

<td class="c-table-basic__value-cell">

соответствует первому и последнему классам здесь:

<td class="oldCssClassInFront c-table-basic__value-cell oldCssClassBehind">

соответствует этому пустому классу, если возможно, не требуется:

<td class="">

соответствует среднему классу здесь:

<td class="c-table-basic__value-cell oldCssClassBehind js-use-me">

соответствует первому классу здесь:

<td class="oldCssClassInFront c-table-basic__value-cell dijitInline">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...