如何一次返回使用 2 个正则表达式?

库巴德夫

我用 angular9 写了一个小的正则表达式来观察我的路线是否<website.url>/wiki/<id>

  isWikiRoute(value?: string): boolean {
    return /^\/wiki(\/|$)/.test(value);
  }

这很好用。现在,我正在尝试制作相同的功能,但我需要注意这一点:<website.url>/wiki/<id><?edit=1>

 isWikiRouteContribution(value?: string): boolean {
    return /^\/wiki(\/|$)/.test(value)./^\?edit=1(\/|$)/;
  }

但不幸的是,这是行不通的。可以写 2 个正则表达式吗?我需要使用 regexGroup 吗?

编辑(上下文):

  • 我可以使用 mysite.com/wiki/<wiki_id> 阅读所有 wiki 内容。在此页面中,您可以为 wiki 做出贡献。当我在 mysite.com/wiki/<wiki_id> 做出贡献时,我向我的路由器添加了一个 slug,即 mysite.com/wiki/<wiki_id>?edit=1。当 slug 为 mysite.com/wiki/<wiki_id>?edit=1 时,我想更改工具栏上的标题。
阿努巴瓦

将我的评论转换为答案,以便将来的访问者轻松找到解决方案。

您可以使用此正则表达式:

/^\/wiki(?:\/[^\/]+\?edit=1|\/)?$/

正则表达式详情:

  • ^: 开始
  • \/wiki: 匹配 /wiki
  • (?:: 启动非捕获组
    • \/: 匹配一个 /
    • [^\/]+: 匹配 1 个或多个任何字符,除了 /
    • \?: 匹配一个 ?
    • edit=1: 匹配 edit=1
    • |: 要么
    • \/: 匹配一个 /
  • )?: 结束非捕获组?并使整个组可选
  • $: 结尾

正则表达式演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

正则表达式 - 使用正则表达式查找 2 个或更多单词

python中的正则表达式:将2个正则表达式组合为一个

正则表达式一次删除2个部分的url

如何jojn 2个正则表达式来获得实际的表达

如何使用正则表达式仅匹配1个或2个字符

正则表达式匹配2个字符串之间的最后一次出现

将2个正则表达式模式合并为一个

Ruby 正则表达式:在一个正则表达式中合并 2K 个值,

如何使用正则表达式提取最后 2 个分隔的数字

如何使用正则表达式拆分2个字符串?

如何使用正则表达式仅提取 2 个特定单词之间的数字

您如何使用正则表达式在URL中找到2个组?

如何使用正则表达式分隔 2 个组?

grep在同一行中包含2个正则表达式

van如何在正则表达式中获得2个匹配项?

如何将2个字母的特定组合与正则表达式匹配

如何按字/字符将行分成2个?(重击)(正则表达式)

如何在.htaccess中创建与2个值匹配或为空的正则表达式?

如何在python textfsm中组合2个正则表达式?

如何用正则表达式替换 2 个斜线之间的文本?

如何通过正则表达式匹配项合并2个Spotfire表?

正则表达式如何匹配2个任意字符,但字符不同

如何以文本出现的顺序获取2个正则表达式之间的信息?

如何在正则表达式中找到2个赋值运算符

正则表达式,如何根据 2 个条件进行选择

使用正则表达式替换/删除 2 个 javascript 注释之间的文本

C#:使用2和/或3个单词的名称的正则表达式

findall()函数中的2+个正则表达式参数使用漂亮的汤

正则表达式使用之前的2个数字获取G,H,D