/;/和/^ +/表示什么?
What does /;/ and /^ +/ denote?
我最近看到这样一句话:
var cookies = document.cookie.split(/;/);
和
var pair = allCookies[i].split("=", 2);
if (pair[0].replace(/^ +/, "") == "lastvisit")
在第一个语句中,split参数中的/;/
表示什么?
在第二个语句中,replace参数中的/^ +/
表示什么?
这些是正则表达式。
Javascript原生支持。
在这个特殊的例子中:
-
.split(/;/)
使用;
作为分割字符; -
.replace(/^ +/, "")
删除(""
)任何(+
)前导(^
)空格()。
在这两个示例中,//
包围或分隔正则表达式(或"regex"),通知Javascript您正在提供一个regex。
点击上面提供的链接获取更多信息;
斜杠分隔正则表达式,就像引号分隔字符串一样。
/;/匹配分号。具体来说:
var cookies = document.cookie.split(/;/);
表示拆分文档。Cookie字符串变成一个数组,在有分号的地方分割它。所以它会把"a;b;c"这样的东西变成["a","b","c"]。
pair[0].replace(/^ +/, "")
只是去掉所有前导空格。结果
" lastvisit"
到
"lastvisit"
插入符号^表示"行首",后面跟空格,+表示尽可能多地重复空格一次或多次。
/;/
语法表示正则表达式(也称为'regex')。
Regex是用于搜索和替换字符串的语法。
你给出的第一个例子是split(";")
。这是一个非常简单的正则表达式,它只是搜索字符串中的分号,然后根据结果将其拆分为一个数组。因为这没有使用任何特殊的正则表达式功能,它可以很容易地表示为一个简单的字符串,即/^ +/
(就像你的其他例子中的等号一样),而不会对结果产生任何影响。
第二个例子是CC_14。这就比较复杂了,并且需要一些关于正则表达式工作原理的知识。简而言之,它所做的就是在字符串中搜索前导空格,并删除它们。
要了解更多关于正则表达式的知识,我推荐这个站点作为一个很好的起点:http://www.regular-expressions.info/
希望对你有帮助。
我认为/^ +/的意思是:一个或多个非" "字符
- 什么是'值是引用'表示JavaScript对象
- d3.js中日期的默认表示形式是什么
- 什么是“||{}' 表示
- node.js 中的匿名函数和 => 表示法有什么区别
- 在 Node.js 中表示状态的普遍接受模式是什么?
- 使用'[ ]'表示法而不是点表示法来访问javascript对象成员的原因是什么?
- 什么是'x'表示为“src”属性中的最后一个字母
- 什么's表示函数使用'自变量'对象
- 什么是'x<<~y'用JavaScript表示
- 什么是使用 JSON 表示命令行参数的好方法
- 用JavaScript表示地牢,然后用怪物填充地牢的最佳方式是什么
- 在webpack中创建多个块时,数组表示法和对象表示法之间的区别是什么
- 什么'我的代码在用对象文字表示法创建方法时出错了
- 空白大括号在javascript中表示什么?
- 我将使用什么正则表达式来表示07X XXXX XXX作为一个数字
- 使用对象文字表示法创建对象的有效Javascript语法是什么?
- 什么是“~"在此JavaScript中表示
- 这个javascript对象文字表示法有什么问题?
- Facebook graph api JSONP格式,第一行的/* */表示什么
- 什么是“价值”?用d3表示力有向图