我有一个看起来像这样的字符串:
one[two][three][four]
我想捕获最后一个括号的内容,所以我尝试了这个:
/\[(.*)\]$/
但是,返回的结果是:
two][three][four
如何构建正则表达式以仅匹配最后一个括号的内容?
最佳答案
您正在使用贪婪量词,它读取第一个 [
和最后一个 ]
之间的所有内容。您可以使用以下正则表达式:
/\[([^\]]*)\]$/
如果碰巧你的 ]
不在字符串的末尾,那么你可以使用添加另一个字符类来匹配除 [
和 之外的任何字符>]
结束前:
/\[([^\]]*)\][^\[\]]*$/
但是,老实说,这个问题最好使用字符串操作来解决,而不是使用正则表达式,如 @gdoron's answer.
关于javascript - 如何创建一个正则表达式来匹配最后一次出现的东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17598076/