post[content_1537704579186][settings][code]
您需要code从字符串中获取方括号中的最后一个单词。
我这样做:
"post[content_1537704579186][settings][code]".match( /\[(.+?)\]/ig );
但这就是我获得三个数组的方式。当然,我可以稍后再拿到最后一个,哦,那不对。突然会有更多的元素在括号中,否则我需要得到倒数第二个。
post[content_1537704579186][settings][code]
您需要code从字符串中获取方括号中的最后一个单词。
我这样做:
"post[content_1537704579186][settings][code]".match( /\[(.+?)\]/ig );
但这就是我获得三个数组的方式。当然,我可以稍后再拿到最后一个,哦,那不对。突然会有更多的元素在括号中,否则我需要得到倒数第二个。
在正则表达式中,可以使用以下模式搜索字符串中的最后一个匹配项: 如果字符串中没有换行符:
如果一行可以包含换行符:
在第一种情况下,匹配将匹配预期结果,在第二种情况下,您需要从第一个子模式中获取结果。
选项1
请参阅正则表达式演示。它的本质是首先找到整个字符串(
[\w\W]*找到零个或多个任何字符),然后索引向后移动以尝试找到一个模式\[([^\]\[]*)\]:\[- 象征[([^\]\[]*)[- 捕获组 #1:除和之外的零个或多个字符]\]-符号]。JavaScript 代码示例:
选项 2
请参阅正则表达式演示。
这里的重点是,引擎找到 后
\[([^\]\[]+)\],模式(?![\w\W]*\[[^\]\[]*\])(负前向预览块)会在找到另一个类型的子字符串时不匹配[...]。