【问题标题】:How to match a pattern with non capture group in JS regex [duplicate]如何在 JS 正则表达式中将模式与非捕获组匹配 [重复]
【发布时间】:2015-04-13 13:57:51
【问题描述】:

全部:

我对 JS 中的 Regex 很陌生,如果我有一个类似的字符串(当然不是这么简单,但这部分对我来说最重要):

?view=Peer%20Comparison&&userid=123

我想提取带有非捕获组和捕获组的“view=Peer%20Comparison”部分(可能有多个查询参数对)

谁能帮我解决这个问题(我想这对正则表达式大师来说非常简单,但我就是想不出任何问题,抱歉打扰)?

谢谢

【问题讨论】:

  • capture group(there may be multiple query parameter pairs) 是什么意思?你能发布一个复杂的例子吗?
  • 你可以使用split并传递?作为分隔符..
  • @Kuan:你想省略捕获组有什么特别的原因吗?
  • @AvinashRaj 我要做的是从具有非捕获和捕获组技能的 url 中提取 url 查询参数对。
  • @Rakesh_Kumar 我想做的是从url中提取url查询参数对,我想学习如何使用非捕获和捕获组并将它们应用于url以获取查询参数键值对。

标签: javascript regex


【解决方案1】:

为了知识而回答OP问题,甚至已经找到了解决方案。

JavaScript正则表达式中非捕获组的语法为:

(?:pattern)

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/RegExp#grouping-back-references中所述

您还应该查看同一页面中的lookahead assertions(例如x(?=y)x(?!y)),这可能会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-30
    • 1970-01-01
    • 1970-01-01
    • 2014-11-13
    • 2021-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多