在一段代码示例中,我偶然发现了这一行:
//将字符串更改为小写并删除所有非字母数字字符
var cstr = str_entry.toLowerCase()。replace(/ [^ a-zA-Z0-9] + / g,'');
我想我明白参数里面的/ g会使//之间的所有内容成为空字符串('')。我对么?
参数的^部分是做什么的? []括号内的所有内容是什么意思?
答案 0 :(得分:2)
replace
函数的第一个参数是regular expression,这是一种确定字符串是否与复杂模式匹配的方法。
/g
参数表示' global',因此,如果str_entry
字符串的两个部分匹配,则它们都将替换为空字符串,而不是仅替换第一个字符串。
^
中的[]
表示“不是”,因此它会说“检查字符串是否不是a-zA-Z0-9
&#39” ;
更简单地说,正则表达式识别字符串中的任何非字母数字字符。与replace(..., '')
一起使用将删除这些字符。
有关正则表达式如何工作的更多信息,请查看Regex101。你可以打入你的正则表达式,它会告诉你它的每个部分是做什么的。