正则入门:边界的定义与相对性
来源:互联网 发布:桌面切换软件 编辑:程序博客网 时间:2024/05/16 13:53
讲了这么多,还漏掉了一个重要的内容:究竟什么才算边界?
通常情况下,以 空格、段落首行、段落末尾、逗号、句号 等符号作为边界,值得注意的是,分隔符“-”也可以作为边界。
正则如下:
\bmagic\b
效果演示
welcome to nowa-magic this magic place!
本例代码
function reg_replace(){var test = document.getElementById("test");var regex = /\b(magic)\b/g;test.innerHTML = test.innerHTML.replace(regex,"<span style='background-color:orange'>$1</span>");}
这是什么原因呢?其实很好理解,从“-”的字面意思:分隔符,大致就可以想到了。实际上,在英语中,它是用来做单词分隔的。
这里有个重要的搜索引擎优化常识,大家注意到本文档的命名,我采用的是:Regular-Expression-Tutorial.pdf,为什么不用下划线分隔,命名成Regular_Expression_Tutorial.pdf 呢?因为当搜索引擎看到“-”的时候,会把它视为一个空格“ ”,而看到下划线“_”的时候,会把它视为空字符“”,实际上,下划线的正确叫法是“连字符”。于是,当我命名为 Regular-Expression-Tutorial.pdf 时,搜索引擎看到的是: Regular Expression Tutorial.pdf,而当我命名成 Regular_Expression_Tutorial.pdf 时,搜索引擎看作 RegularExpressionTutorial.pdf 。
可以看出,正则表达式在字符边界问题上 对“-”的处理方式 与 搜索引擎相同。
边界的相对性:
- 当你对一个普通字符,比如“s”,设定边界的时候,它的边界是诸如空格、分隔符、逗号、句号等。
- 当你对一个边界,比如分隔符“-”或者“,”等,设定边界的时候,它的边界是普通字符。
正则如下:
\b(,)\b
效果演示
welcome to nowamagic,this magic place!
与上面唯一不同的是:这次我们匹配逗号“,”,而它本身也是一个边界,结果与上面完全相反。可见,对于“,”而言,它的边界是一个普通字母。
边界的相对性是很重要的,因为我们很多时候需要匹配诸如“<”这样的字符。
0 0
- 正则入门:边界的定义与相对性
- Java文件的 In 与 Out 的相对性
- Java文件的 In 与 Out 的相对性
- 质量的相对性
- 中文屋的相对性
- 技术决策的相对性
- 技术决策的相对性
- 控件停靠边界的定义
- 重新定义计算的边界
- 边界类和控制类的定义
- 从头认识java-11.5 扫描输入(2)-scanner的边界与使用正则表达式扫描
- 相对性原理的四维描述
- 扩展与耦合的边界
- PHP入门-函数的定义与使用
- PHP入门-数组的定义与使用
- 正则表达式的定义
- “雾计算”重新定义物联网的计算边界
- 正则 - 单词边界 /b
- 自动化运维工具Ansible详细部署
- 关于Cocos2dx的游戏暂停方法
- 蓝桥杯 回文数
- pushlet 之 Pushlet使用手把手实例
- POJ 3273 Monthly Expense (二分枚举)
- 正则入门:边界的定义与相对性
- oracle日期函数大全
- linux iptables 配置总结(WEB服务器)
- (hdu step 3.1.3)母牛的故事(简单递推)
- HDOJ 4499 Cannon
- Pushlet的工作原理
- poj2965The Pilots Brothers' refrigerator
- "cannot be resolved or is not a field"问题解决
- Java程序中异常的相关知识