正则入门:字符组的使用

“[dt]”含义是:“匹配 d 或者 t”
服务器君一共花费了303.982 ms进行了6次数据库查询,努力地为您提供了这个页面。
试试阅读模式?希望听取您的建议

有的时候,我们不想让“.”去匹配任何的字符,仅仅想让它匹配“.”这一单个字符,也就是仅匹配它本身,此时,可以使用“.”来对它进行转义。

比如使用正则 w. 可以匹配到 www.nowamagic.net 中的 w. 字符。

如果要匹配“”,可以使用“\”来对它进行转义。后面还会介绍更多需要转义的字符。

“.”过于灵活了,它可以匹配几乎所有的单个字符。有的时候,我们只希望匹配有限个字符中的某一个。这个时候,可以使用字符组。

假设有这样一种情况,我们希望验证某个单词是不是拼写正确,比如说 “head” 是一个单词,“heat”也是一个单词,但“heay”就不是一个单词,所以,“hea”后面要么出现“d”,要么“t”,而如果我们使用“.”来进行匹配,那么不管是“heay”也好,“heas”也罢,都会被匹配(被认为是正确的单词)。

正则表达式提供 字符组 来解决这一问题,对于上例,“hea”后面仅可以匹配“d”或者“t”的情况,它的语法是 “[dt]”。中括号是特殊标记,用以划定属于组内的字符的界限,它所代表的含义是:“匹配 d 或者 t”。

效果演示

正则如下:

.ea[dt]

www.nowamagic.net is heat

www.google.com is head of internet

www.abc.org is heart

www.nowamagic.net is heat

www.google.com is head of internet

www.abc.org is heart

本例代码

<script type="text/javascript">
function reg_replace()
{
	var test = document.getElementById("test");
	regex = new RegExp(".ea[dt]","g");
	test.innerHTML = test.innerHTML.replace(regex,"<span style='background-color:orange'>heax</span>");
}

function reg_split()
{	
	var test = document.getElementById("split");
	regex = new RegExp(".ea[dt]","g");
	test.innerHTML = test.innerHTML.split(regex);
}
</script>

字符组 虽然由多个字符构成,但它仍只匹配 单个 字符,而字符组能够匹配的单个字符,即是它定义中的字符(“[]”内的字符)。“[]”本身不进行字符匹配,它仅仅划定字符组边界。

延伸阅读

此文章所在专题列表如下:

  1. 什么是正则表达式?
  2. 正则入门:匹配固定的单个字符
  3. 正则入门:匹配任意的单个字符
  4. 正则入门:字符组的使用
  5. 正则入门:在字符组中使用字符区间
  6. 正则入门:反义字符组的使用
  7. 正则入门:匹配空字符
  8. 正则入门:匹配一个或多个字符
  9. 正则入门:匹配零个或多个字符
  10. 正则入门:匹配零个或一个字符串
  11. 正则入门:匹配固定数目的字符
  12. 正则入门:匹配区间内数目的字符
  13. 正则入门:贪婪匹配
  14. 正则入门:惰性匹配
  15. 正则入门:两个匹配模式
  16. 正则入门:匹配单词边界
  17. 正则入门:边界的定义与相对性
  18. 正则入门:匹配非单词边界
  19. 正则入门:匹配文本首和尾
  20. 正则入门:子模式
  21. 正则入门:“或”匹配
  22. 正则入门:后向引用文本替换
  23. 正则入门:非获取匹配
  24. 正则总结:JavaScript中的正则表达式
  25. 正则总结:正则表达式在js中的高级应用

本文地址:http://www.nowamagic.net/librarys/veda/detail/1022,欢迎访问原出处。

不打个分吗?

转载随意,但请带上本文地址:

http://www.nowamagic.net/librarys/veda/detail/1022

如果你认为这篇文章值得更多人阅读,欢迎使用下面的分享功能。
小提示:您可以按快捷键 Ctrl + D,或点此 加入收藏

大家都在看

现代魔法研究协会欢迎你

阅读一百本计算机著作吧,少年

很多人觉得自己技术进步很慢,学习效率低,我觉得一个重要原因是看的书少了。多少是多呢?起码得看3、4、5、6米吧。给个具体的数量,那就100本书吧。很多人知识结构不好而且不系统,因为在特定领域有一个足够量的知识量+足够良好的知识结构,系统化以后就足以应对大量未曾遇到过的问题。

奉劝自学者:构建特定领域的知识结构体系的路径中再也没有比学习该专业的专业课程更好的了。如果我的知识结构体系足以囊括面试官的大部分甚至吞并他的知识结构体系的话,读到他言语中的一个词我们就已经知道他要表达什么,我们可以让他坐“上位”毕竟他是面试官,但是在知识结构体系以及心理上我们就居高临下。

所以,阅读一百本计算机著作吧,少年!

《C程序设计语言(第2版新版)》 克尼汉 (作者), 等 (作者, 译者), 徐宝文 (译者)

《C程序设计语言》(第2版新版)是由C语言的设计者Brian W.Kernighan和Dennis M.Ritchie编写的一部介绍标准C语言及其程序设计方法的权威性经典著作。全面、系统地讲述了C语言的各个特性及程序设计的基本方法,包括基本概念,类型和表达式、控制流、函数与程序结构、指针与数组、结构、输入与输出、UNIX系统接口、标准库等内容。

更多计算机宝库...