首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RegEx:我如何在引号内或不在引号内获取术语?

RegEx:我如何在引号内或不在引号内获取术语?
EN

Stack Overflow用户
提问于 2022-07-23 20:48:16
回答 1查看 31关注 0票数 -1

我正在创建一个搜索系统,并希望支持多种输入术语,例如:

代码语言:javascript
复制
@bob "xxx",'yyy', "freak'd out" 'bob two' "" can I #handle/children #nope @ok(42)

我想要一个正则表达式来获取平衡引号的所有内部(而不是绊倒在

更糟糕的是,我想支持常见的搜索操作符,它们可以以单词或引语作为前缀,如下所示:

代码语言:javascript
复制
+@bob "xxx",'yyy', "freak'd out" -'bob two' "" can I #handle/children -#nope @ok(42)

如果是-“bob 2”,我想和-bob two一起登陆。

我还想忽略空的""

EN

回答 1

Stack Overflow用户

发布于 2022-07-23 20:48:16

我找到了this answer to a simpler version of this question,并在它的基础上登陆:

代码语言:javascript
复制
/\s([\-\+\!]?)([\-\+\!]?)(?:([\'"])(.+?)\3)|([\-\+\!]?[\w\-#@\/\(\)]+)/g

你可以在这里试试:https://regex101.com/r/8xxydh/1

这需要一些后置处理才能得到我所需要的,但它只是简单地连接匹配组

  • 1 (可选运算符前缀)
  • 4(引号内的短语)
  • 5(单词不在引号中)

(结果不会同时得到4和5。)

这样做,我得到了以下列表:

  1. +@bob
  2. xxx
  3. yyy
  4. freak'd out
  5. -bob two'
  6. can
  7. I
  8. #handle/children
  9. -#nope
  10. @ok(42)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73094096

复制
相关文章

相似问题

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