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

str = 'nba345n这里任意字符123'

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

阅读 7.7k
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 正则表达式迷你书》问世了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进