我有这样的字符串
[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/