Я заканчиваю 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">