Regex 群内正则表达式
我有一个csv文件需要导入数据库 样本输入: 122545;bmwx3;新的;红,黑,白,粉红 我希望最终输出如下:Regex 群内正则表达式,regex,notepad++,Regex,Notepad++,我有一个csv文件需要导入数据库 样本输入: 122545;bmwx3;新的;红,黑,白,粉红 我希望最终输出如下: INSERT INTO myTable VALUES ("122545", "bmwx3", "new", "red"); INSERT INTO myTable VALUES ("122545", "bmwx3", "new", "
INSERT INTO myTable VALUES ("122545", "bmwx3", "new", "red");
INSERT INTO myTable VALUES ("122545", "bmwx3", "new", "black");
INSERT INTO myTable VALUES ("122545", "bmwx3", "new", "white");
INSERT INTO myTable VALUES ("122545", "bmwx3", "new", "pink");
第四个元素是一个“子csv”,具有未知数量的条目。但始终采用该格式(否)
理想情况下,我希望使用正则表达式在记事本++中完成这项工作,如果不可能,我将不得不编写一个脚本
我认为首先我需要做到:
122545;bmwx3;新;红、黑、白、粉红
像这样:
INSERT INTO myTable VALUES ("122545", "bmwx3", "new", "red");
INSERT INTO myTable VALUES ("122545", "bmwx3", "new", "black");
INSERT INTO myTable VALUES ("122545", "bmwx3", "new", "white");
INSERT INTO myTable VALUES ("122545", "bmwx3", "new", "pink");
122545;bmwx3;新;红色
122545;bmwx3;新;黑色
122545;bmwx3;新;白色
122545;bmwx3;新;粉红色
我的问题是,我不知道如何匹配子csv。是否可以在纯正则表达式(无需编程)中进行匹配?当然不是最简单的方法,但它可以工作: 查找内容:
^([^,]+;)(.+),([^,]+)$
替换为:
$1$2\n$1$3
如果
122545;bmwx3;new;
部件未固定,请根据需要多次单击Replace all
!
分三个步骤:
- 进入
:将红、黑、白、粉限制122545;bmwx3;新;
替换为(.*)([^;]*)
\2\LIMIT\1
- 创建
122545;bmwx3;新;红色
sting:replace
使用(\w+)(?:,|(?=#LIMIT#))(?=.*#LIMIT#(.*))
(请参阅)\2\1\n
- 删除
行:用空字符串替换#LIMIT#…
^#LIMIT#。*
如果
122545;bmwx3;new;
零件已修复
@hjpotter的想法似乎很酷,你只是一个新手,可以用
\n122545;bmwx3;new;
剩下什么 替换
^(\w*);(\w*);(\w*);(\w*)$
与
你可以用
122545;bmwx3;new;替换所有的,
,
,颜色的数量是否固定?