【问题标题】:JS Regex get everything between two matchesJS Regex 获取两个匹配项之间的所有内容
【发布时间】:2015-06-11 22:22:00
【问题描述】:

regex101.com 上搞砸了,不知道该怎么做。鉴于这种模式:

/u001b[35m
/u001b[38m
/u001b[67m
/u001b[92m

我知道/u001b[ 将始终相同,m 将始终相同。我需要匹配两者包含的任何内容,并让它返回整个字符串(例如/u001b[67m)。

嘿 - 我想通了:对正则表达式了解不够,无法知道它是否总是有效:

/\/u001b\[[0-9]*m/

【问题讨论】:

  • 我的问题有什么问题?正则表达式只是关于 SO 的坏消息吗?
  • @dc2:这看起来像是某种控制字符。先不说你是怎么得到它的,看起来你在这个表单中匹配它们是错误的。

标签: javascript regex


【解决方案1】:

你可以使用这个正则表达式:

/^\/u001b\[\d+m$/gm

RegEx Demo

  • / 需要在正则表达式中转义,因为它用作正则表达式分隔符。
  • [ 是特殊的元字符,因此也需要转义。

PS:如果开始和结束字符串之间可以有任何东西(不仅仅是数字),那么使用:

/^\/u001b\[.*?m$/gm

【讨论】:

  • 这很好用,为解释和演示 +1。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-02
  • 1970-01-01
  • 2012-11-06
  • 1970-01-01
  • 2022-06-28
相关资源
最近更新 更多