正则表达式

qq137051908 2014-01-16 09:54:47

var a = "a.b";
var b = "a2";
alert(a.match(/.*?(?!\.)/));
alert(b.match(/.*?(?!\d)/));

为什么匹配不到我想要的值? 第一个我只想取出.前面的,第二个我只想取出数字前的。
...全文
128 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
stmal 2014-01-16
  • 打赏
  • 举报
回复
match(/.*?(?!\d)/) js 我不是很懂,我认为 .*? 可以改为 \S+ match(/\S+\.b/); .*? 代表全部匹配。 \S+ 好像匹配 英文数字下划线啊。自己百度一下
加达里的吉他 2014-01-16
  • 打赏
  • 举报
回复
var a = "a.b";
var b = "a2";
alert(a.match(/^(.*)\..*$/)[1]);
alert(b.match(/^(.*)\d$/)[1]);
如果字符串都是这种格式的话没必要写太麻烦~
似梦飞花 2014-01-16
  • 打赏
  • 举报
回复
alert(a.match(/.*?(?=\.)/)); alert(b.match(/.*?(?=\d)/)); 改成这样试试
似梦飞花 2014-01-16
  • 打赏
  • 举报
回复
对于第一个 a后边是. 所以无法匹配a的 第二个b后边是数字 所以b也没法匹配啊 在正则后价格g全局匹配看看

87,996

社区成员

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

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