sublimetext3 - 在单引号之间复制数据
问题描述
我有以下列表:
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+D
forselect
和光标键进行复制,但无法获得完整的字符串。
解决方案
您需要使用正则表达式。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 ')([^']*)(?=')
推荐阅读
- php - Laravel 隐式模型绑定命名约定?
- r - 以编程方式在 data.table 中使用 by 对列进行操作
- c# - Foreach 循环中的 Async/Await(即循环 ef 模型)生成错误
- reactjs - 使用 withTracker 的客户端加入不等待服务器的回复
- php - 仅返回购物车 Woocommerce 中的商品数量
- ruby - 为什么 reduce([]) 在尝试向其推送值时引发 NoMethodError?
- javascript - VUE:对图像使用全局变量
- linux - 为什么当我尝试远程执行命令时出现错误?
- c# - 对 FileStreamResult 进行单元测试
- postgresql - 即使使用 ON CONFLICT DO NOTHING,postgres INSERT 触发器也会触发