我知道这可能违反SO的规则,但它们是JS中的一个主题,我无法理解。例如,当人们使用:input.replace(/[^\w\s]/gi, '')
我尝试使用谷歌时,我找不到一个能够解释这个问题的网站让我理解它。如果有人可以将我链接到某个地方或尝试解释它是如何工作的,因为它似乎是一个非常重要的学科。
感谢所有帮助人员!如果有人遇到过同样的问题,我发现这里有一个非常好的资源:http://www.w3schools.com/jsref/jsref_obj_regexp.asp
答案 0 :(得分:3)
这个问题将会被关闭,但让我花点时间教你如何思考。
你有一个函数replace
,它有两个参数。您应该查找参数的类型。
如果你google" javascript替换",您会看到指向MDN的链接:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace
在此页面上,您会看到第一个参数是regexp|substring
。在该说明中,指向类型 RegExp
和String
的链接。您应该能够识别出/[^\w\s]/gi
不是字符串,因此必须为RegExp
。您可以关注the link to the page on RegExp (Regular Expressions)并开悟。
学习如何思考问题不仅可以帮助你提出更好的问题,还可以帮助你成为更好的程序员。
答案 1 :(得分:1)
此:
/[^\w\s]/
是正则表达式。它匹配任何不是(^
在这种情况下的含义)和#34;字符" (\w
- 包括字母,数字和下划线)或空格(\s
)
所以如果你有一个字符串:
"hello *&&^( there"
你运行这个替代品,它会给你
"hello there"
gi
部分使其全局化(替换整个字符串,而不仅仅是第一次出现)和不区分大小写(在这种情况下实际上并不重要)。
检查人们已建议的链接,以了解有关正则表达式的更多信息。