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

正则入门:匹配单词边界

2011-02-03 00:00 891 查看
先举一个简单的例子。

正则如下:

magic

效果演示

welcome to nowamagic this magic place!

本例代码

function reg_replace()
{
var test = document.getElementById("test");
aim = "magic";
var regex = new RegExp("("+aim+")","g");
test.innerHTML = test.innerHTML.replace(regex,"<span style='background-color:orange'>$1</span>");
}

可见,通常情况下,我们只希望匹配 magic ,而不希望匹配 nowamagic 中出现的 magic。

正则表达式中,可以在 字符 前加“\b”,来匹配其 后面 的字符位于字符串首位的字符。

以后提到 字符,指:单个字符(比如“j”)、字符组(比如“[abcde]”)、特定字符类型(比如“\d”)、转义过的特殊字符“\[” 或者 单个任意字符(即“.”)。

我们再来看这个例子:

效果演示

welcome to nowamagic this magic place!

这一次,匹配正确,有了刚才单个字符的例子,现在这个表达式很好理解了:“\b”只规定了“m”这个字符必须出现在字符串首位,接下来需要出现字符a、g、i、c。这两个字符的匹配与“\bm”无关,它们属于固定字符匹配的范畴。

正则表达式中,可以在 字符 后加“\b”,来匹配其 前面 的字符位于字符串末位的字符。

\bmagic\b,这个正则匹配,必须以m开头,以c为结尾的字符串。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: