为了账号安全,请及时绑定邮箱和手机立即绑定

正则表达式(^|&)什么意思?

正则表达式(^|&)什么意思?

qq_杀意隆_0 2017-12-12 15:07:15
查看完整描述

8 回答

?
牛奶老哥哥

TA贡献204条经验 获得超92个赞

匹配字符串中的&和输入字符串的开始位置 ʅ(‾◡◝)没有怎么学过正则,大概就是这个意思吧

查看完整回答
2 反对 回复 2017-12-12
?
PingAnt

TA贡献1条经验 获得超1个赞

给定 regexp 为 /(^|&)name=value/ test "name=value" => true test "&name=value" => true test "%name=value" => false
查看完整回答
1 反对 回复 2020-12-25
  • PingAnt
    PingAnt
    换行没了,这个是 js 版本的,对应的还有 (&|$):表示后面是&或者直接结束
?
lenmer

TA贡献4条经验 获得超4个赞

我也是今天才看到的,不好意思啊!

说一下自己的愚见吧:

()  标记一个子表达式的开始和结束位置;

^  匹配输入字符串的开始位置;

|   指明两项之间的一个选择;

没什么问题。

如果不懂(^|&)我们把它分开来看;

字符串123abc&

单是^会匹配到什么?空吧。

单是&会匹配到什么?&吧。

那么^|&会匹配到什么?如果你用测试工具,会有两个匹配:一个空,一个&;那么在js中来测试的话,结合上 | ,也就是什么都不会输出,因为^已经匹配到一个空了,自然不会再去匹配到&,如果你加一个a,变成(^a|&),同理,^a匹配不到吧,当然就匹配到&咯。

以上是我的个人见解,你可以多测试,实践检验真理

查看完整回答
1 反对 回复 2017-12-18
?
ahao430

TA贡献35条经验 获得超41个赞

以xxx开头,或者&xxx。应该是用于匹配url参数的,比如'a=1&b=2&c=3',查找某个key,可能在开头,也可能在某个&后。

查看完整回答
1 反对 回复 2017-12-12
?
kevinZee

TA贡献50条经验 获得超39个赞

这个表示开头匹配或者结尾匹配,因为没有给定条件,所以匹配任意字符串都是true

var reg = /(^a|b$)/;

比如我给定上面一个正则实例,他就可以匹配 【开头是a 或者 结尾是b】 的字符串,并且因为括号分组,使用macth等方法可以拿到这个字符串的开头或者结尾.

比如

"assdasdsdb".match(reg);   // ["a", "a", index: 0, input: "assdasdsdb"]
查看完整回答
反对 回复 2017-12-12
?
qq_被朋友说的我要改网名_0

TA贡献5条经验 获得超0个赞

我怎么感觉他都匹配呢,任何都匹配

查看完整回答
反对 回复 2017-12-12
?
小哥歌

TA贡献6条经验 获得超1个赞


以&或者$结尾的字符串

查看完整回答
反对 回复 2017-12-13
?
Alan小林子

TA贡献3条经验 获得超0个赞

我不知道

查看完整回答
反对 回复 2017-12-12
?
习惯受伤

TA贡献885条经验 获得超1144个赞

匹配^或者&这两个符号,|相当于or

查看完整回答
1 反对 回复 2017-12-12
  • qq_杀意隆_0
    qq_杀意隆_0
    var p=/(^|&)/; var str='^'; str.match(p); 返回的是空字符串。显然不是你说的那样
  • 习惯受伤
    习惯受伤
    是空字符串不是null证明是匹配成功的,匹配不成功会返回null,这个正则表达式写法本身就是错误的。你试试/(^|&)/.test('^'),这个是返回true的。想要匹配是&或者^开头应该用这个表达式:(\^|&)
  • 习惯受伤
    习惯受伤
    另外,这个表达式匹配任意类型变量都是成功的。所以我认为这个是个错误的写法
  • 8 回答
  • 0 关注
  • 5155 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信