如何在一行内复制正则表达式搜索结果?

时间:2019-02-14 14:11:10

标签: regex visual-studio-code

我有遵循该方案的csv表:

    "text1","text2",3
    "text5","text?",5
    "baa","foo",99
    ...

我需要转换为:

    "text1","text2","-text2-",3
    "text5","text?","-text?-",5
    "baa","foo","-foo-",99
    ...

对不起,但我不知道如何使用正则表达式复制行的一部分。 我正在使用VS Code查找替换引擎。 我该怎么办?

2 个答案:

答案 0 :(得分:2)

请参见regex101 demo

查找: EditText some = mView.findViewById(R.id.some); some.setFocusable(false); some.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { System.out.println("your View got clicked"); } });

替换:^(\s*"[^"]*?","([^"]*?)",)

第1组:每行的前两个值,例如$1"-$2-",

第2组:仅是内部第二个值,例如"text1","text2",

替换:使用组1,然后使用周围的text2复制组2

确保您的settings.json中有此文件:

"-Group2-"

答案 1 :(得分:0)

“ text1”,“ text2”,3

“ text5”,“ text?”,5

找到匹配的单词group1,group2,group3。匹配A-Za-z0-9和“?”字符。我不确定我将数字1〜3设置为数字的最后一个数据号有多长时间。您可以更轻松地适应自己的状况。

("[\w?]+"),"([\w?]+)",(\d{1,3})

用正则表达式替换如下

$1,"$2","-$2-",$3

结果应如下

“ text1”,“ text2”,“-text2-”,3

“ text5”,“ text?”,“-text?-”,5

没关系向我提问。