Замена текста в Notepad ++ с использованием синтаксиса регулярных выражений - PullRequest
0 голосов
/ 11 декабря 2019

У меня есть несколько строк в моем текстовом файле, например,

insert into (1,2,3,{ts '2016-01-19 14:41:33.0'},11,null,null);
insert into (1,2,3,{ts '2019-05-20 19:48:34.0'},11,null,null);

Я хочу заменить все строки в моем файле, если он начинается с {ts, и заменить его на sysdate()

Я пытался использовать это следующее регулярное выражение, но оно не работает ^\{ts.*

Ответы [ 2 ]

2 голосов
/ 11 декабря 2019

Используйте это регулярное выражение (\{ts ')([^']+)('\}) Это проверяет {ts ' в начале выражения и принимает все до' и добавляет '}

PS Донне забудьте установить флажок Регулярное выражение :) enter image description here

2 голосов
/ 11 декабря 2019

^ символ означает: начало строки. Так как группа \{ts находится в середине строки, вы должны удалить ее: \{ts.*

Если вы хотите использовать ее с javascript, вы также можете использовать флаг g, чтобы заменить ее нескольковремя: /\{ts.*/g


Поскольку вы обновили вопрос, вы также можете обновить шаблон:

\{ts[\s'\d-:\.]+}

Этот шаблон будетсовпадение подстроки внутри ввода: {ts '2016-01-19 14:41:33.0'}

{ и } в этом случае означает: начинается с { и заканчивается }

\s'\d-:\. означает:пробел, число и специальные символы

[]+ означает: символ в этой группе может совпадать один или несколько раз

...