Обратные ссылки RegEx в IntelliJ

Вы должны быть осторожны, чтобы не вставлять непосредственно в поле SERIAL или последовательности, иначе ваша запись не сработает, когда последовательность достигнет вставленного значения:

-- Table: "test"

-- DROP TABLE test;

CREATE TABLE test
(
  "ID" SERIAL,
  "Rank" integer NOT NULL,
  "GermanHeadword" "text" [] NOT NULL,
  "PartOfSpeech" "text" NOT NULL,
  "ExampleSentence" "text" NOT NULL,
  "EnglishGloss" "text"[] NOT NULL,
  CONSTRAINT "PKey" PRIMARY KEY ("ID", "Rank")
)
WITH (
  OIDS=FALSE
);
-- ALTER TABLE test OWNER TO postgres;
 INSERT INTO test("Rank", "GermanHeadword", "PartOfSpeech", "ExampleSentence", "EnglishGloss")
           VALUES (1, '{"der", "die", "das", "den", "dem", "des"}', 'art', 'Der Mann küsst die Frau und das Kind schaut zu', '{"the", "of the" }');


 INSERT INTO test("ID", "Rank", "GermanHeadword", "PartOfSpeech", "ExampleSentence", "EnglishGloss")
           VALUES (2, 1, '{"der", "die", "das"}', 'pron', 'Das ist mein Fahrrad', '{"that", "those"}');

 INSERT INTO test("Rank", "GermanHeadword", "PartOfSpeech", "ExampleSentence", "EnglishGloss")
           VALUES (1, '{"der", "die", "das"}', 'pron', 'Die Frau, die nebenen wohnt, heißt Renate', '{"that", "who"}');

SELECT * from test; 
128
задан Zoe the transgirl 22 June 2018 в 13:18
поделиться

2 ответа

IntelliJ использует $ 1 для замены обратных ссылок.

Из справки IntelliJ:

Для получения дополнительной информации о регулярных выражениях и их синтаксисе см. к документации для java.util.regex Обратные ссылки должны иметь формат $ n, а не \ n.

196
ответ дан 24 November 2019 в 00:33
поделиться

IntelliJ IDEA / Справочник / Справочник по синтаксису регулярных выражений


Сопоставляет подвыражение и запоминает совпадение. Если вам нужно использовать совпадающую подстроку в одном регулярном выражении, вы можете получить ее, используя обратную ссылку (\ num, где num = 1..n). Если вам нужно сослаться на совпавшую подстроку где-то за пределами текущего регулярного выражения (например, в другом регулярном выражении в поле «Замена»), вы можете получить ее, используя знак доллара ($ num, где num = 1..n). Если вам нужно включить в подвыражение символы круглых скобок, используйте "(" или ")".

0
ответ дан 24 November 2019 в 00:33
поделиться
Другие вопросы по тегам:

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