正则表达式怎样反向贪婪匹配

向日一说
  • 254
str = 'nba345n这里任意字符123'

匹配n到123之间的字符,注意前面也有个n。

回复
阅读 6k
3 个回答

楼上两个题都不看清楚
楼主不需要考虑那么多 我给楼主一个例子 各种情况 看了就明白了 贪婪匹配是右边的 左边的可以用[^abcd]直接排除其他的起点就可以了

clipboard.png

匹配得时候就是n[^n]*123

// 不一定是要用正则,其中这里任意字符,应该不包含`n`
str.slice(str.lastIndexOf('n') + 1, -3);
// 这里任意字符
// 要用正则则可以用(跟楼上回答一样)
// [^n]表示不是n的任意字符,*表示:一个或多个
/n([^n]*)123/.exec(str)[1]
// 这里任意字符

关于JS正则,推荐看看JavaScript 正则表达式迷你书》问世了

宣传栏