在具有可变文本长度的CSV的特定列中选择特定文本

时间:2018-04-30 14:08:57

标签: regex notepad++

我正在使用Notepad ++处理CSV文件,我需要匹配文本中一定数量字符的特定出现。示例数据:

19256506_1.MSG,19256506,1.MSG,RE: New Consent Language,
19256505_1.MSG,19256505,1.DOCX,RE: New Consent Language,
19256433_1.MSG,19256433,1.MSG,RE: New Consent Language,

我需要选择的是第3行中的文件扩展名,只留下数字。问题是,它可以是.MSG.DOCX.PDF等。基本上,我需要在.之后选择第3列中的任何内容,但是最多和不包括下一个,

如何使用正则表达式匹配?

2 个答案:

答案 0 :(得分:1)

您可以使用

^[^,]*,[^,]*,[^.,]*(\.[^,]+)

使用第一组,请参阅a demo on regex101.com

答案 1 :(得分:-1)

ctrl + h (或搜索>替换)并尝试替换:

(?s)^(?:[^,]*,){2}[^,]*(\.[^,]+).*?$

使用

\1

确保搜索模式设置为正则表达式

点击全部替换

Demo