[英]What does /;/ and /^ +/ denote?
我最近遇到了这样的声明:
var cookies = document.cookie.split(/;/);
和
var pair = allCookies[i].split("=", 2);
if (pair[0].replace(/^ +/, "") == "lastvisit")
在第一个语句中,split的参数中的/;/
表示什么?
在第二个语句中,替换参数中的/^ +/
表示什么?
斜杠分隔正则表达式,就像引号分隔字符串一样。
/; /匹配分号。 特别:
var cookies = document.cookie.split(/;/);
意味着我们将document.cookie字符串拆分为一个数组,将其拆分为分号。 所以它需要像“a; b; c”这样的东西,然后把它变成[“a”,“b”,“c”]。
pair[0].replace(/^ +/, "")
只需删除所有前导空格。 事实证明
" lastvisit"
成
"lastvisit"
插入符号^表示“行首”,后面跟空格,+表示尽可能多地重复该空格一次或多次。
//
语法表示正则表达式(也称为“正则表达式”)。
Regex是一种用于搜索和替换字符串的语法。
你给出的第一个例子是/;/
。 这是一个非常简单的正则表达式,只是在字符串中搜索半冒号,然后根据结果将其拆分为数组。 由于这不是使用任何特殊的正则表达式功能,它可以很容易地被表达为一个简单的字符串,即split(";")
(就像你在其他例子中使用等号一样),没有任何区别。结果。
第二个例子是/^ +/
。 这更复杂,需要了解正则表达式的工作原理。 简而言之,它正在做的是在字符串上搜索前导空格并删除它们。
要了解有关正则表达式的更多信息,我建议将此站点作为一个很好的起点: http : //www.regular-expressions.info/
希望有所帮助。
我认为/ ^ + /表示:一个或多个no-“”字符
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.