Tho*_*ggi 7 javascript regex match exact-match
在下面的示例中,输出为true.它cookie和它也匹配cookie14214我猜它是因为cookie在字符串中cookie14214.我如何磨练这场比赛才得到cookie?
var patt1=new RegExp(/(biscuit|cookie)/i);
document.write(patt1.test("cookie14214"));
Run Code Online (Sandbox Code Playgroud)
这是最好的解决方案吗?
var patt1=new RegExp(/(^biscuit$|^cookie$)/i);
Run Code Online (Sandbox Code Playgroud)
答案取决于你对单词周围字符的容差cookie.如果单词要严格地出现在一行上,那么:
var patt1=new RegExp(/^(biscuit|cookie)$/i);
Run Code Online (Sandbox Code Playgroud)
如果你想允许符号(空格,.,,,等),而不是字母数字值,你可以试试:
var patt1=new RegExp(/(?:^|[^\w])(biscuit|cookie)(?:[^\w]|$)/i);
Run Code Online (Sandbox Code Playgroud)
第二个正则表达式,解释说:
(?: # non-matching group
^ # beginning-of-string
| [^\w] # OR, non-alphanumeric characters
)
(biscuit|cookie) # match desired text/words
(?: # non-matching group
[^\w] # non-alphanumeric characters
| $ # OR, end-of-string
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9677 次 |
| 最近记录: |