第一个括号之间的 Javascript 正则表达式字符串,包括括号内

标签 javascript regex

我有这样的字符串

[test: test1: http://localhost?test=[1,2]]
[test: test2: http://localhost?test=[2,3]]

我想从上面的文本中提取下面的内容

$1 = "test1"
$2 = "http://localhost?test=[1,2]"

$1 = "test2"
$2 = "http://localhost?test=[2,3]"

我正在尝试的是

/\[test:(.*?):(.*?)\]/

但它像这样返回。没有“]”

$2 = "http://localhost?test=[2,3"

如何更改我的正则表达式以获得我想要的?谢谢。

最佳答案

对正则表达式的一个修复是在第二组中包含 ]:

/\[test:(.*?):(.*?\])\]/
// add this ------^^

另一个修复方法是让正则表达式末尾的现有 \] 仅当它位于字符串末尾时才匹配:

/\[test:(.*?):(.*?)\]$/

关于第一个括号之间的 Javascript 正则表达式字符串,包括括号内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30795050/

相关文章:

javascript - ES6 Node.js 导入然后重写文件?

javascript - 拆分日期范围重叠成 block (javascript)

regex - 使用正则表达式验证密码

正则表达式 : match value within string

regex - emacs org 模式,只搜索标题

javascript - 如何断开 JavaScript 弹出窗口与开启器的连接

javascript - jquery draggable 如何保持 x 约束并使拖动有效?

javascript - 使用sendIntent.putExtras(bundle)的空页面,页面未填充Android studio

java - 正则表达式找到一个 float

php - 日期验证的正则表达式帮助 - dd/mm/yyyy - PHP