"/\s/g"如何用其他字符替换空格?

Nhi*_*ter 13 javascript

我使用该代码将空格替换为另一个字符,但我想知道它的真正含义.

有人可以向我解释一下这意味着什么?谢谢

Aln*_*tak 25

这是一个正则表达式,其中\s"匹配空格"的g意思是"全局",即匹配所有空格,而不仅仅是第一个.


小智 10

It(/.../)是一个正则表达式文字 - 它创建一个新的RegExp对象就像"嘿"创建一个新字符串(有一些小的警告,字符串vs String但是...)更多信息可以在Mozilla正则表达式中找到文档页面.

最后的"g"是一个标志,表示"全局匹配"(正则表达式现在将匹配多次 - 否则它只会匹配一次).

\ s是正则表达式转义,表示"任何空白字符".具体来说:它"匹配单个空格字符,包括空格,制表符,换页符,换行符.相当于[\ f \n\r\t\t\v\u00A0\u2028\u2029].",来自上面的链接.

当传递给String.replace函数时,正则表达式对象的所有匹配(文字只是创建对象)将被替换为给定的字符串(可选地,String.replace可以使用回调函数以获得更大的灵活性).

正如开发人员链接中所讨论的,也可以在没有正则表达式文字的情况下构造相同的对象.以下代码段只是尝试显示RegExp对象的对象特性以及演示非文字形式等.

// note the double \'s as first needed to pass the \ through the string
// literal parsing -- usually better as /\s/g unless need to build regex dynamically
var re = new RegExp("\\s", "g")
// just an object with its own properties/functions (now stored in `re`)
re.test("have a space") // -> true
re.test("nospace")      // -> false
"hello world again!".replace(re, "") // -> "helloworldagain!"
// without "g", matches only once
"hello world again!".replace(/\s/, "") // -> "helloworld again!"
Run Code Online (Sandbox Code Playgroud)

快乐的编码.


zzz*_*Bov 9

/\s/g
Run Code Online (Sandbox Code Playgroud)

/是正则表达式分隔符.它标志着一种模式的开始和结束

\s匹配所有空格字符:'\t','\n','\r','\f',' ',和许多其他的

g表示正则表达式应该全局匹配字符串,以便str.replace替换所有出现的模式.


kmi*_*iro 4

http://www.regular-expressions.info/

这是一个正则表达式。//是正则表达式的语法,/ 之间的所有内容都将在输入上求值,然后与表达式匹配的任何内容都将传递给您正在使用的任何函数。

末尾g的 表示//“全局”,这意味着对整个输入进行搜索,而不仅仅是它遇到的第一个匹配项。正则表达式非常流行,并且可能变得非常复杂,请在上面的链接中阅读它们。

Javascript 有一些使用正则表达式的方法,例如searchmatch。正则表达式存在于许多编程语言中,它们通常在每种语言中略有不同。http://www.w3schools.com/jsref/jsref_obj_regexp.asp

\s是许多特殊字符之一,这意味着“任何空白字符”。