简体   繁体   English

在第二次出现时在方括号之间提取字符串

[英]extract string between square brackets at second occurrence

I have a string pattern like this: 我有这样的字符串模式:

She is [my] little [daughter].

How can I extract daughter from the above string? 如何从上述字符串中提取daughter

You can use this regex: 您可以使用此正则表达式:

/\[[^\]]*\][^[]*\[([^\]]*)\]/

And grab captured group #1 并抓住第一组

RegEx Demo 正则演示

You need to use an anchored regex with capturing group. 您需要使用具有捕获组的锚定正则表达式。

^.*?\[[^\]]*\].*?\[([^\]]*)\]

Then get the string you want from group index 1. 然后从组索引1中获取所需的字符串。

DEMO DEMO

> console.log(/^.*?\[[^\]]*\].*?\[([^\]]*)\]/.exec('She is [my] little [daughter].')[1])
daughter
var st="She is [my] little [daughter].";
console.log(st.match(/.*\[(\w+)\]/)[1]);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM