您的位置:首页 > 编程语言 > PHP开发

正则入门:匹配空字符

2011-02-02 00:00 1116 查看
我想先介绍一下回车换行的由来。通常,当我们在键盘上敲击一下回车键时,不管光标此时在哪里,总是会新起一行,然后将光标位于新行的首位置。这在计算机上看起来一气呵成,用一个符号来表示就 OK 了,可在正则表达式中,以及很多语言中(比如 VBScript),却被表示成了两个动作,一个叫“回车”(Carriage Return),一个叫“换行”(Line Feed),在语言,比如 VBScript中,就表示成了:Chr(13)&Chr(10)。这与打印机的工作原理有关,大家知道,打印机先于计算机键盘很多年,是键盘的雏形,在打印机上换行时,将进行两个动作:1、将打印头换到下一行;2、将打印头返回到新行的行首位置。也就分别对应了现在的“换行”和“回车”。

在正则表达式中,比较常用的三类空白字符如下表所示:

元字符匹配描述
\r回车
\n换行
\tTab键
这种情况使得书写表达式时,变得稍有不便,例如,如果我们想匹配一个换行的效果,我们需要将表达式写成“\r\n”。然后,我们在 IE 和 Firefox 中用 javascript 分别做个测试,却发现对于 IE6(NOTE:IE7 我没有试过)来说“\r\n”可以匹配一个换行,而在 Firefox 中,只用一个“\n”就可以了,使用“\r\n”则无法匹配。

效果演示

正则如下:

\s


www.nowamagic4 net

www.google2 com

www.nowamagic5 org

www.nowamagic4 net

www.google2 com

www.nowamagic5 org

匹配空字符了,其语法如下表所示:

元字符匹配描述
\s所有单个空字符,与 [\f\n\r\t\v] 相同
\S所有单个非空字符,与 [^\f\n\r\t\v] 相同

本例代码

<script type="text/javascript">
function reg_replace()
{
var test = document.getElementById("test");
//regex = new RegExp("\s","g");
regex = new RegExp("[\f\n\r\t\v]","g");
test.innerHTML = test.innerHTML.replace(regex,"<span style='background-color:orange'>.</span>");
}
function reg_split()
{
var test = document.getElementById("split");
//regex = new RegExp("\s","g");
regex = new RegExp("[\f\n\r\t\v]","g");
test.innerHTML = test.innerHTML.split(regex);
}
</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: