Emacs - регулярные выражения в Lisp должны быть дважды оставлены - почему?

Можете ли вы попробовать в классе B добавить следующее

@OneToOne(mappedBy = "b", cascade = CascadeType.REMOVE)
private A a;

Кроме того, если в базе данных у вас есть только внешний ключ «a имеет внешний ключ к b», вы также можете сделать внешний ключ от б до а.

24
задан Luke Girvin 4 September 2011 в 01:21
поделиться

4 ответа

Это - потому что необходимо выйти из обратных косых черт в строках. Если Вы не выходите из обратной косой черты \( в строке, это оказывается всего (

22
ответ дан legoscia 28 November 2019 в 22:53
поделиться

У Вас уже есть ответ, но встроенный помощник для создания регулярных выражений в Emacs является фирмой по модернизации.

M-x re-builder
18
ответ дан Trey Jackson 28 November 2019 в 22:53
поделиться

scottfrazier корректен, один Escape анализируется, когда строка читается, другой анализируется при создании регулярного выражения. Довольно легко помнить, но это может стать болью, особенно когда Вы пытаетесь соответствовать литеральной обратной косой черте '\'. Вы заканчиваете тем, что имели необходимость сделать это четыре раза '\\\\', потому что Вы имеете к двойной наклонной черте для соответствия наклонной черте и в синтаксическом анализе начальной строки и в синтаксическом анализе регулярного выражения.

И когда Вы пишете на Переполнении стека об этой проблеме, что необходимо использовать 8 наклонных черт , потому что скидка с цены использует наклонную черту для символа ESC также.

9
ответ дан Community 28 November 2019 в 22:53
поделиться

FWIW, emacs-lisp-mode будет fontify специальные выражения (как \\( и \\) для Вас. Можно затем изменить поверхности, чтобы быть чем-то, что выделяется.

(Они font-lock-regexp-grouping-construct и font-lock-regexp-grouping-backslash)

8
ответ дан Regular Joe 28 November 2019 в 22:53
поделиться
Другие вопросы по тегам:

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