在JavaScript中,符号/\s*是什么\s*/是什么意思?
在下面的示例中,符号在JavaScript中,符号/\s*是什么\s*/是什么意思?,javascript,regex,split,separator,Javascript,Regex,Split,Separator,在下面的示例中,符号/\s*\s*/是什么意思?它用作string.split()命令中的分隔符 var names = 'Harry Trump ;Fred Barney; Helen Rigby ; Bill Abel ;Chris Hand '; console.log(names); var re = /\s*;\s*/; var nameList = names.split(re); console.log(nameList); /\s*\s*/是一个正则表达式,通常用于模式
/\s*\s*/
是什么意思?它用作string.split()
命令中的分隔符
var names = 'Harry Trump ;Fred Barney; Helen Rigby ; Bill Abel ;Chris Hand ';
console.log(names);
var re = /\s*;\s*/;
var nameList = names.split(re);
console.log(nameList);
/\s*\s*/
是一个正则表达式,通常用于模式匹配。您的正则表达式(\s*;\s*
)转换为:
匹配任何空白字符[\s
]\r\n\t\f
表示在零次和无限次之间应用上一次匹配,尽可能多次,根据需要返回[贪婪]*
代码>与
匹配代码>字符
匹配任何空白字符[\s
](与项目符号1相同)\r\n\t\f
意味着在零次和无限次之间应用上一次匹配,尽可能多次,根据需要返回[贪婪](与bullet#2相同)*
这里使用正则表达式而不是
.split
的简单字符串参数的原因是原始字符串在元素之间有不同的分隔符-空格和分号的不同组合。没有一个简单的字符串可以通过传递找到所有的字符串-您可以使用代码>,但这会在数组的某些元素的开始和/或结束处留下空格。正则表达式确保我们匹配所有变体。/\s*\s*/
是一个正则表达式,通常用于模式匹配。您的正则表达式(\s*;\s*
)转换为:
\s
匹配任何空白字符[\r\n\t\f
]
*
表示在零次和无限次之间应用上一次匹配,尽可能多次,根据需要返回[贪婪]
代码>与匹配代码>字符
\s
匹配任何空白字符[\r\n\t\f
](与项目符号1相同)
*
意味着在零次和无限次之间应用上一次匹配,尽可能多次,根据需要返回[贪婪](与bullet#2相同)
这里使用正则表达式而不是.split
的简单字符串参数的原因是原始字符串在元素之间有不同的分隔符-空格和分号的不同组合。没有一个简单的字符串可以通过传递找到所有的字符串-您可以使用代码>,但这会在数组的某些元素的开始和/或结束处留下空格。正则表达式确保我们匹配所有变体。使用JavaScript的.split(separator)
方法,可以从字符串生成数组<代码>分隔符
是一个简单的字符串或-更复杂的-正则表达式
在您的示例中,提供的正则表达式是/\s*\s*/
。前斜杠和后斜杠只是表示它是正则表达式的分隔符<代码>\s*\s*
是您的模式,意思是:任意数量的空格字符(空格、制表符),后跟分号,后跟任意数量的空格字符。它是“我的字符串”.split(;”)
的一个更奇特的版本,因为它修剪了分号前后的空格
例如:
var test1 = "dog;cat;fish".split(";");
// test1 is ["dog", "cat", "fish"]
var test2 = "dog;cat;fish".split(/\s*;\s*/);
// test2 is ["dog", "cat", "fish"]
只要分号周围没有白色字符,这两个分号返回的结果就完全相同。但是:
var test3 = "dog ; cat; fish".split(";");
// test3 is ["dog ", " cat", " fish"]
var test4 = "dog ; cat; fish".split(/\s*;\s*/);
// test4 is ["dog", "cat", "fish"]
这一次,test4的结果要复杂得多,因为不包含空格。使用JavaScript的
.split(separator)
方法,可以从字符串生成数组<代码>分隔符是一个简单的字符串或-更复杂的-正则表达式
在您的示例中,提供的正则表达式是/\s*\s*/
。前斜杠和后斜杠只是表示它是正则表达式的分隔符<代码>\s*\s*是您的模式,意思是:任意数量的空格字符(空格、制表符),后跟分号,后跟任意数量的空格字符。它是“我的字符串”.split(;”)
的一个更奇特的版本,因为它修剪了分号前后的空格
例如:
var test1 = "dog;cat;fish".split(";");
// test1 is ["dog", "cat", "fish"]
var test2 = "dog;cat;fish".split(/\s*;\s*/);
// test2 is ["dog", "cat", "fish"]
只要分号周围没有白色字符,这两个分号返回的结果就完全相同。但是:
var test3 = "dog ; cat; fish".split(";");
// test3 is ["dog ", " cat", " fish"]
var test4 = "dog ; cat; fish".split(/\s*;\s*/);
// test4 is ["dog", "cat", "fish"]
这一次,test4的结果要复杂得多,因为不包含空格。在\s
中,元字符代表空白字符
空白字符可以是:
空格字符制表符
回车符
新行字符
垂直制表符
表单馈送字符
*
代表所有。代码>表示冒号。
此处的表达式\s*\s*
表示任何后跟或前面有的空格
将使用JavaScript方法拆分成一个数组 在\s
中,元字符代表空白字符
空白字符可以是:
空格字符
制表符
回车符
新行字符
垂直制表符
表单馈送字符
*
代表所有。
代码>表示冒号。
此处的表达式\s*\s*
表示任何后跟或前面有的空格
将使用JavaScript方法拆分成一个数组 大致来说,它将输入字符串拆分为
省略此周围的任意数量的空格代码>
粗略地说,它将输入字符串拆分为
省略此周围的任意数量的空格代码>
它是一个。\s
表示空白*
表示0次或更多次,因此它将在任何处拆分代码>前面或后面有任何金额o