如何创建一个正则表达式来匹配最后一次出现的东西?

And*_*rew 1 javascript regex

我有一个看起来像这样的字符串:

one[two][three][four]
Run Code Online (Sandbox Code Playgroud)

我想捕获最后一个括号的内容,所以我尝试了这个:

/\[(.*)\]$/
Run Code Online (Sandbox Code Playgroud)

但是,返回的结果是:

two][three][four
Run Code Online (Sandbox Code Playgroud)

如何形成正则表达式以仅匹配最后一个括号的内容?

Roh*_*ain 5

你正在使用贪心量词,它读取第一个[和最后一个之间的所有内容].你可以使用下面的正则表达式:

/\[([^\]]*)\]$/  
Run Code Online (Sandbox Code Playgroud)

如果由于某种原因,你]是不是在字符串的结尾,那么你可以使用添加另一个字符类匹配任何字符,但[与]年底前:

/\[([^\]]*)\][^\[\]]*$/
Run Code Online (Sandbox Code Playgroud)

但是,老实说,这个问题应该更好地使用字符串操作而不是使用正则表达式来解决,就像@gdoron的回答一样.