首页 > 解决方案 > 使用正则表达式语法替换记事本++中的文本

问题描述

我的文本文件中有多行,例如示例

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.*

标签: javascriptregexstringnotepad++

解决方案


^字符表示:字符串的开头。由于该组\{ts位于字符串的中间,因此您应该将其删除:\{ts.*

如果你想和javascript一起使用,你也可以使用gflag多次替换:/\{ts.*/g


由于您已更新问题,您可能还想更新模式:

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

此模式将匹配输入中的子字符串:{ts '2016-01-19 14:41:33.0'}

{}在这种情况下意味着:开始和{结束}

\s'\d-:\.表示:空格字符、数字和特殊字符

[]+表示:该组内的字符可以匹配一次或多次


推荐阅读