怎么用正则匹配ab之间的内容但不包括ab

acmilank22 2015-08-24 09:02:15
假如我有这样一个字符串

dsaxc7vbnloia56op-bpo

我想把这里面的xc7v和56op-匹配如来

也就是说匹配ab之间的内容但不包括ab

要怎么写正则
...全文
373 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2015-08-24
  • 打赏
  • 举报
回复
引用 5 楼 jslang 的回复:
[quote=引用 4 楼 acmilank22 的回复:] [quote=引用 3 楼 jslang 的回复:]

var str = "dsaxc7vbnloia56op-bpo";
var arr = str.match(/[^a]+(?=b)/ig);
alert(arr.join("\n"));
好像真的可以,能详细的说一下么[/quote] 就是获取b前面不是a的字符[/quote] 哦哦 用的零宽断言吧
天际的海浪 2015-08-24
  • 打赏
  • 举报
回复
引用 4 楼 acmilank22 的回复:
[quote=引用 3 楼 jslang 的回复:]

var str = "dsaxc7vbnloia56op-bpo";
var arr = str.match(/[^a]+(?=b)/ig);
alert(arr.join("\n"));
好像真的可以,能详细的说一下么[/quote] 就是获取b前面不是a的字符
「已注销」 2015-08-24
  • 打赏
  • 举报
回复
引用 3 楼 jslang 的回复:

var str = "dsaxc7vbnloia56op-bpo";
var arr = str.match(/[^a]+(?=b)/ig);
alert(arr.join("\n"));
好像真的可以,能详细的说一下么
天际的海浪 2015-08-24
  • 打赏
  • 举报
回复

var str = "dsaxc7vbnloia56op-bpo";
var arr = str.match(/[^a]+(?=b)/ig);
alert(arr.join("\n"));
  • 打赏
  • 举报
回复
/a(.*?)b/ig.exec('dsaxc7vbnloia56op-bpo')
用while来循环,js的正则没有负向零宽断言的……
  • 打赏
  • 举报
回复
(?<=a).*?(?=b)

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧