duanbei1903 2019-07-15 11:00
浏览 385
已采纳

什么是正则表达式,以匹配=,空格后的所有匹配项?

I have /components/component[name=fan/10 index=55]/cpu

I want a regex that givens me fan/10 and 55.

I tried stuff like =(.*)\s, but doesn't work. But I'm guessing it has to be done using capturing groups (the () ) somehow?

  • 写回答

2条回答 默认 最新

  • dongshi1207 2019-07-15 11:03
    关注

    You may use

    =([^\]\s]+)
    

    See regex demo

    Details

    • = - an equals sign
    • ([^\]\s]+) - Capturing group 1: any 1 or more chars other than ] and whitespace.

    GO demo:

    package main
    
    import (
        "fmt"
        "regexp"
    )
    
    
    func main() {
        s := "/components/component[name=fan/10 index=55]/cpu"
        rx := regexp.MustCompile(`=([^\]\s]+)`)
        matches := rx.FindAllStringSubmatch(s, -1)
        for _, v := range matches {
            fmt.Println(v[1])   
        }
    }
    

    Output:

    fan/10
    55
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘