Regex для нахождения статичным (не окончательный) переменные

Вот моя попытка, см. Пример Codepen

. Я создал метод, который переключает добавление и удаление цвета в массиве. Затем я добавил функцию щелчка для самой строки с помощью @click.capture.stop="toggleColor(color)".

Часть .capture.stop проверяет, нажал ли пользователь сначала на поле выбора, и если это так, останавливает повторный запуск метода. Иначе, когда вы щелкаете по полю выбора, поле выбора и строка переключают значение, тем самым удаляя друг друга

methods: {
  toggleColor (color) {
    if (this.selected.includes(color)) {
      // Removing the color
      this.selected.splice(this.selected.indexOf(color), 1);
    } else {
      // Adding the color
      this.selected.push(color);
    }
  }
}

7
задан Jason Plank 1 November 2011 в 16:14
поделиться

6 ответов

Этот шаблон работы:

[^(final)] static [^(final)][^(\})]*$

Вот тест:

$ cat test.txt
private int x = "3";
private static x = "3";
private final static String x = "3";
private static final String x = "3";
private static String x = "3";
public static void main(String args[]) {
        blah;
}

$ grep "[^(final)] static [^(final)][^(\})]*$" test.txt
private static x = "3";
private static String x = "3";

(Я понимаю это private static x = "3"; не допустимый синтаксис, но шаблон все еще содержит хорошо.)

Шаблон составляет факт это final может появиться прежде или после static с [^(final)] static [^(final)]. Остальная часть шаблона, [^(\})]*$, предназначен для предотвращения любого { символы от появления в остатке от строки.

Этот шаблон не будет работать однако, если кому-либо нравится писать их проекты производства работ как это:

private static void blah()
{
     //hi!
}
8
ответ дан 6 December 2019 в 10:04
поделиться

Вместо того, чтобы проверить на отсутствие фигурной скобки, я искал бы точку с запятой в конце:

^(?![ \t]*import\b)(?!.*\bfinal\b).*\bstatic\b.*;[ \t]*$
3
ответ дан 6 December 2019 в 10:04
поделиться

Eclipse должен иметь своего рода поиск Java, встроенный, где Вы могли указать это... Еще, вместо того, чтобы писать одному крупному монстру regexp, попытайтесь объединить в цепочку вместе набор властей:

grep -r static . | grep -v final

в 1-м операторе-r заставляет grep рекурсивно вызывать по дереву каталогов, запускающемуся в локальном каталоге, результаты передаются по каналу к 2-му grep, который удаляет весь final. Продолжайте добавлять, что-v до всего лишнего удален из результатов. Это обычно легче - хотя менее изящный - чем выяснение сложного regexp для заботы обо всем.

3
ответ дан 6 December 2019 в 10:04
поделиться

FindBugs найдет статические непоследние переменные для Вас. (Наряду со многими другими интересными вещами.) у меня были хорошие результаты с использованием автономной версии. Существует также плагин Eclipse, но я не использовал это.

2
ответ дан 6 December 2019 в 10:04
поделиться

Одна из инспекций кода IntelliJ уже делает это. Можно на самом деле выполнить инспектор кода, одинокий, если Вы хотите и имеете его, генерируют отчет (полезный для ночной сборки).

Как предыдущий сказанный плакат, Найдите, что Ошибки сделают это, и я предполагаю, что другие инструменты инспекции кода сделают это также. Вы - вероятно, более обеспеченная интеграция одного из того большего количества полных инструментов инспекции кода, а не одноразового сценария только для этой вещи.

0
ответ дан 6 December 2019 в 10:04
поделиться

Это не regex, но здесь является плагином, названным checkstyle, который сделает это для Вас, а также многих других исходных проверок. Это даже решает много проблем, которые это находит автоматически.

http://eclipse-cs.sourceforge.net/update/

0
ответ дан 6 December 2019 в 10:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: