首页 > 解决方案 > 在单引号之间复制数据

问题描述

我有以下列表:

select 'ABC','A101',1;
select 'PABC\CE','U101',2;
select 'A-BCXY','P01',3;
select 'UABZUE','PU101',4;
select 'WABCPY','IP1',5;
select 'R-YUABC','2U1',6;
select 'PYRABCQWDES','U1',7;
......
......
(900 lines)

我只想复制单引号中的第一个数据:

'ABC'
'PABC\CE'
'A-BCXY'
'UABZUE'
'WABCPY'
'R-YUABC'
'PYRABCQWDES'

我尝试使用Ctrl+Dforselect和光标键进行复制,但无法获得完整的字符串。

在此处输入图像描述

标签: sublimetext3sublimetext

解决方案


您需要使用正则表达式。Sublime Text 使用Boost C++ Library Perl Syntax

打开查找面板并确保选择了正则表达式并且未选择整个单词。将以下正则表达式粘贴到面板中,然后单击Find All。将在整个文档中选择每行上“select”一词之后的第一个单引号文本,单引号也将被选中。

(?<=select )'([^']*)'

该正则表达式的组成部分是:

(?<=select )    A lookbehind to find the text: "select "
'               Match a single quote (i.e. the beginning quote)
([^']*)         Match any number of characters that are NOT a single quote
'               Match a single quote (i.e. the ending quote)

这种变化将做同样的事情,但不选择单引号。

(?<=select ')([^']*)(?=')

推荐阅读