首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Regex polish:如何在搜索中不包含引号

Regex polish:如何在搜索中不包含引号
EN

Stack Overflow用户
提问于 2010-10-11 19:54:58
回答 1查看 174关注 0票数 0

我编写了一个正则表达式,将搜索字符串拆分为它的组件部分。功能包括:

  • 操作符:+-AND
  • 按引号分组(目前为单引号和双引号)
  • 正确忽略撇号

所以:

代码语言:javascript
复制
((?<=^|\s)(?:[\+\-]?"[^"]+"(?=\s|$)|[\+\-]?'[^']+'(?=\s|$)|[\+\-]?\S+|AND|and|OR|or)(?=$|\s))

从结果匹配中排除分隔符引号的最简单方法是什么?示例:

代码语言:javascript
复制
lsdkjflws's ldkj and "lfldkfjs's ldkjfls" lskdj

这些结果如下:

  • lsdkjflws's
  • ldkj
  • and
  • "lfldkfjs's ldkjfls"
  • lskdj

我不需要这样做,我只想在正则表达式中再完成一步。

EN

回答 1

Stack Overflow用户

发布于 2010-10-11 20:08:59

什么引擎?如果它支持消极和积极的展望,那么很容易:

而不是这些:

代码语言:javascript
复制
"[^"]+"

你会用到这样的东西:

代码语言:javascript
复制
(?<=")[^"]+(?=")

这将从匹配中排除引号,但仍然只匹配引号的内容。我希望这就是你想要的。

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

https://stackoverflow.com/questions/3909482

复制
相关文章

相似问题

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