首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >regex -如何匹配notepad++文件中的所有选择查询

regex -如何匹配notepad++文件中的所有选择查询
EN

Stack Overflow用户
提问于 2011-08-18 18:22:25
回答 3查看 755关注 0票数 0

我试图在一个文件中提取所有选择查询。实际上,我需要知道脚本中有多少select查询。为此,我使用notepad++。

我在以下配置中查找字符串:

  • “'SELECT *从”
  • “'SELECT从”
  • “'SELECT第一,SECONDWORD,THIRDWORD从”

我尝试使用以下正则表达式:

代码语言:javascript
运行
复制
select (\w+)(,\s*\w+)* from

这个在notepad++不起作用。我做错了什么?

谢谢你的预付款。马内尔

EN

回答 3

Stack Overflow用户

发布于 2011-08-18 18:33:22

根据您的regex,应该是:

代码语言:javascript
运行
复制
select[\*]*[\w+]*[,\s*\w+]*from

更新:在Notepad++ 5.8.2上尝试了这一点,并且成功了。

由于上面的regex是一个贪婪的表达式,并且5.8.2不支持非贪婪正则表达式,所以您可能必须升级到v5.9.3。尝试使用下面的regex,它确实显示了非贪婪的结果:

代码语言:javascript
运行
复制
select.+?from
票数 0
EN

Stack Overflow用户

发布于 2011-08-18 19:08:14

用这个:

代码语言:javascript
运行
复制
['"]\s*select[*,\s\w]+from\s*['"]

它还匹配无效的查询(我认为这不是问题),但尊重所需的引号(以及双引号)。

也许您想在搜索中添加=

票数 0
EN

Stack Overflow用户

发布于 2011-08-18 21:18:18

Notepad++是在scintilla之上构建的,使用了POSIX regex,看看SciTE中的正则表达式

根据您的示例,您可能需要:

代码语言:javascript
运行
复制
select[a-z\*, ]+from

我已经在Notepad++ 5.9上测试过它,它与您提供的示例相匹配。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7112190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档