【问题标题】:regex to extract value from string [duplicate]正则表达式从字符串中提取值[重复]
【发布时间】:2020-07-13 10:08:34
【问题描述】:

我想要一个正则表达式从字符串中提取一个值,但不能让它工作:( 正则表达式很难!

const myString = "the user id is: [user]10[/user]"

这是我的正则表达式

(?:[user])([\s\S]*)(?:[\/user])

但我没有得到匹配

【问题讨论】:

  • 您需要转义“用户”周围的括号。现在它是 u,s,e, OR r 的字符类
  • 你只需要从这个例子中得到10吗?此外,除了[user] 之间的数字之外,此格式是否为常量?
  • 是的。只想提取 [user] 和 [/user] 之间的任何内容
  • 你可以这样做:myString.match(/\d+/)[0]

标签: javascript regex


【解决方案1】:

通过在它们之前添加\ 来添加匹配的方括号将允许获得匹配的id 值,如下所示

(?:\[user\])([\s\S]*)(?:\[\/user\])

【讨论】:

  • 抱歉不清楚。在这种情况下,我只想提取实际值 10。
  • 当然,可以按照“用户 ID 为:[user]10[/user]”.match(/(?:[user])([\s\S] *)(?:[\/user])/)[1]
  • 返回:"用户ID为:[user]10[/use"
  • 正确用法"the user id is: [user]10[/user]".match(/(?:\[user\])([\s\S]*)(?:\[\/user\])/)[1]
猜你喜欢
  • 1970-01-01
  • 2013-04-12
  • 1970-01-01
  • 2015-09-19
  • 1970-01-01
  • 2014-08-25
  • 1970-01-01
  • 2020-09-15
  • 2021-05-24
相关资源
最近更新 更多