繁体   English   中英

/; /和/ ^ + /表示什么?

[英]What does /;/ and /^ +/ denote?

我最近遇到了这样的声明:

var cookies = document.cookie.split(/;/);

var pair = allCookies[i].split("=", 2);
if (pair[0].replace(/^ +/, "") == "lastvisit")

在第一个语句中,split的参数中的/;/表示什么?

在第二个语句中,替换参数中的/^ +/表示什么?

这些是正则表达式

Javascript原生支持它们

在这个特定的例子中:

  1. .split(/;/)使用; 作为分裂的角色;
  2. .replace(/^ +/, "")删除( "" )任何( + )前导( ^ )空格( )。

在这两个示例中, /环绕或分隔正则表达式(或“正则表达式”),通知Javascript您正在提供正则表达式。

请按照上面提供的链接获取更多信息; 正则表达的范围很广,值得学习。

斜杠分隔正则表达式,就像引号分隔字符串一样。

/; /匹配分号。 特别:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM