求一个JS正则匹配“pageNo:1keyWord:智联招聘searchEngine:搜搜”

学无止境-逆流而上 2013-05-08 05:09:03
求一个正则表达式,把“pageNo:1keyWord:智联招聘searchEngine:搜搜”中红色部分显示出来,pageNo为数字,keyWord,searchEngine为任意字符串,/pageNo:([0-9]*)keyWord:((\w|[\u4E00-\u9FA5])*)searchEngine:((\w|[\u4E00-\u9FA5])*)$/这个匹配出来的好奇怪,JS中有没有像java的group中那样的很方便。
...全文
229 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Go 旅城通票 2013-05-08
  • 打赏
  • 举报
回复
引用 4 楼 ITbasketplayer 的回复:
如果要匹配的1,智联招聘,搜搜变了,会不会匹配到不是1,2,4数组下标?
只要你正则对的,匹配到的内容中1,2,4就是你要的分组
  • 打赏
  • 举报
回复
只要你给的字符串格式不变,内容无论是什么,下标都不用变 0 匹配的是整个字符串 3 匹配第二段大括号中的(\w|[\u4E00-\u9FA5])就是你第二段文字的最后一个字 5 跟3同理

<script type="text/javascript">
	var str="pageNo:1keyWord:智联招聘searchEngine:搜搜";
	var source="pageNo:1keyWord:一呼百应1searchEngine:搜搜百度";
	var reg=source.match(/^pageNo:([\d]*)keyWord:((\w|[\u4E00-\u9FA5])*)searchEngine:((\.|[\u4E00-\u9FA5])*)$/);
	alert(reg[1]);
	alert(reg[2]);
	alert(reg[4]);
</script>
  • 打赏
  • 举报
回复
如果要匹配的1,智联招聘,搜搜变了,会不会匹配到不是1,2,4数组下标?
  • 打赏
  • 举报
回复
<script type="text/javascript"> var source="pageNo:1keyWord:一呼百应searchEngine:搜搜百度"; var pattern=/pageNo:([0-9]*)keyWord:((\w|[\u4E00-\u9FA5])*)searchEngine:((\w|[\u4E00-\u9FA5])*)$/; var result=source.match(pattern); alert(result[1]); alert(result[2]); alert(result[4]); </script> 我也是这样的,我想为什么只有1,2,4那怎么会匹配到0,3,5那些呢?
Go 旅城通票 2013-05-08
  • 打赏
  • 举报
回复
有啊,楼主认真看下js的正则吧。。
    var s = "pageNo:1keyWord:智联招聘searchEngine:搜搜";
    var m = /pageNo:([0-9]*)keyWord:((\w|[\u4E00-\u9FA5])*)searchEngine:((\w|[\u4E00-\u9FA5])*)$/.exec(s);
    if (m) {
        alert(m[1])
        alert(m[2])
        alert(m[4])
    }
    else alert('没有匹配!');
Assassin_ 2013-05-08
  • 打赏
  • 举报
回复
按':'号匹配

87,922

社区成员

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

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