javascript正则中使用[sS]*用来匹配任意字符(包括换行符)的方法不起作用

JavaScript08

javascript正则中使用[sS]*用来匹配任意字符(包括换行符)的方法不起作用,第1张

正则表达式可以用.*匹配任意除换行之外的字符。但如果内容中包含任意多个换行怎么匹配?用.*是匹配失败的。但可以用[\s\S]*?。

\s是匹配所有空白字符,\S是匹配所有非空白字符,那么[\s\S]这个组合就可以匹配所有字符了。

但是换行符是匹配不到的:

//-- 通过正则表达式来替换换行符

var regRN = /\r\n/g

str = str.replace(regRN,"<br />")

//-- 其他场景(分别替换\r和\n)

var regR = /\r/g

var regN = /\n/g

str = str.replace(regR,"\\r").replace(regN,"\\n")

用document.write方法将文本输出到网页。

\n是JS换行符的转义符,BR标签是HTML的换行标签。

你用document.write方法将文本输出到网页,要在网页里产生换行效果,要用BR标签,因为浏览器会忽略换行符。

'asd'+'

'+'dsf' == 'asd

dsf'

<BR>是HTML4及以下版本的换行标签, <br />是XHTML1.0及以后版本的换行标签. 其实产生的效果是完全一致的, 只不过遵循的标准不同, 语法上有些差异。