请教一个cookie中用到的正则

发布于 2022-09-06 10:21:49 字数 171 浏览 9 评论 0

new RegExp("address=([^;]*)")

var str = 'username=wang; address=shanghai'
表示 address= 加上除了分好外的东西??
那个星号是啥,加了星号能去除shanghai,不加的话就取了一个s

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

渔村楼浪 2022-09-13 10:21:49

表示 address= 加上除了分好外的东西??

嗯嗯,[^;] 表示匹配一个不为 ; 的字符,仅仅匹配一次

那个星号是啥,加了星号能去除shanghai,不加的话就取了一个s

*表示匹配任意次,默认是符合匹配规则的情况下,越多越好,所以匹配到了后面全部的,直到;
不加 * 就是上面的,默认仅仅匹配一次,所以只能匹配到一个 s

爱人如己 2022-09-13 10:21:49

谢邀!
首先恭喜您已经解决!白天忙于nextjs + react + 。。。 重构项目,没来得及看!在这里我再一一说一下,就当歉意了!
RegExp 构造函数创建了一个正则表达式对象,用于将文本与一个模式匹配。
语法:

new RegExp(pattern [, flags])

参数:
pattern:正则表达式的文本。
flags:可选,g、i、m、u、y,其中g和i最为常用。

正则表达式中特殊字符的含义:
(x):匹配 x 并且捕获匹配项,这被称为捕获括号。
[^x]:一个反义或补充字符集,也叫反义字符组。也就是说,它匹配任意不在括号内的字符。在这里[^;]:也就是除了分号以外的任意字符
x*:匹配前面的模式 x 0 或多次。在这里前面的模式为[^;]也就是除了分号以外的任意字符

顾铮苏瑾 2022-09-13 10:21:49

匹配0或多个字符啊,不加的话就匹配一个字符

苏辞 2022-09-13 10:21:49

[^;]除了分号以外的任意字符
*匹配前一个表达式0次或多次
所以就是匹配除了分号以外任意字符0次或多次

浮世清欢 2022-09-13 10:21:49

和?还有+在正则表达式中属于量词,的范围是[0,+∞),?的范围是0或1,+的范围是[1,+∞)。
但从你这题目中只能给你这么多解答了

他是夢罘是命 2022-09-13 10:21:49

* 相对于 {0,} 表示出现任意次数
重点是 它为 贪婪量词,表示尽可能多的匹配满足满足条件 [^;] 也就是非 分号的字符,

相反的就有惰性量词 *? ,也就是惰性匹配,尽可能少的匹配。

遇到 2022-09-13 10:21:49

[] 定义字符匹配的范围,其中可以加一些特殊符号,比如 [a-z]^ 表示取反,即不包含。

* 出现在字符后面是量词,表示字符的数量。比如 + 表示 1 到多,表示 0,1 ; 那 * 就表示这两者的合集,0 到多。当然还可以用 {} 表示数量,比如 {0,1}

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文