正则表达式的一些小例子,从简单到复杂

下面是一些正则表达式的小例子,说明在注释中

学习来源 http://manual.phpv.net/regular_expression.html

var str = "history";
console.log(/hi/.test(str)); // true
// \b是正则表达式规定的一个元字符
// 代表着单词的开头或结尾,也就是单词的分界处
console.log(/\bhi\b/.test(str)); // false	\b精确查找hi这个词

str = "hi lili and lucy";
console.log(/\bhi\b/.test(str)); // true

// .是另一个元字符,匹配除了换行符以外的任意字符。
// *同样是元字符,不过它代表的不是字符,也不是位置,而是数量
// 它指定*前边的内容可以连续重复出现任意次以使整个表达式得到匹配
// 因此,.*连在一起就意味着任意数量的不包含换行的字符。
console.log(/\bhi\b.*\blucy\b/.test(str)); // true

str = "010-12345678";
// 以0开头,然后是两个数字,然后是一个连字号"-",最后是8个数字
console.log(/0\d\d-\d\d\d\d\d\d\d\d/.test(str)); // true
// 为了避免那么多烦人的重复,我们也可以这样写这个表达式:0\d{2}-\d{8}
console.log(/0\d{2}-\d{8}/.test(str)); // true

// \ba\w*\b匹配以字母a开头的单词——先是某个单词开始处(\b)
// 然后是字母a,然后是任意数量的字母或数字(\w*),最后是单词结束处(\b)
console.log(/\ba\w*\b/.test("a234DS")); // true

// \d+匹配1个或更多连续的数字
// 这里的+是和*类似的元字符
// 不同的是*匹配重复任意次(可能是0次),而+则匹配重复1次或更多次
console.log(/\d+/.test("abc")); // false
console.log(/\d*/.test("abc")); // true

// \b\w{6}\b 匹配刚好6个字母/数字的单词
console.log(/\b\w{6}\b/.test("abc12")); // false
console.log(/\b\w{6}\b/.test("abc123")); // true

// 必须为5位到12位数字
console.log(/^\d{5,12}$/.test("123456")); // true

表1.常用的元字符
代码说明
.匹配除换行符以外的任意字符
\w匹配字母或数字或下划线或汉字
\s匹配任意的空白符
\d匹配数字
\b匹配单词的开始或结束
^匹配字符串的开始
$匹配字符串的结束

如果你想查找元字符本身的话,比如你查找.,或者*,就出现了问题:你没办法指定它们,因为它们会被解释成别的意思。这时你就得使用\来取消这些字符的特殊意义。因此,你应该使用\.和\*。当然,要查找\本身,你也得用\\.

例如:unibetter\.com匹配unibetter.com,C:\\Windows匹配C:\Windows。


表2.常用的限定符
代码/语法说明
*重复零次或更多次
+重复一次或更多次
?重复零次或一次
{n}重复n次
{n,}重复n次或更多次
{n,m}重复n到m次


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
正则表达式经典实例》讲解了基于8种常用的编程语言使用正则表达式的经典实例。书中提供了上百种可以在实战中使用的实例,以帮助读者使用正则表达式来处理数据和文本。对于如何使用正则表达式来解决性能不佳、误报、漏报等常见的错误以及完成一些常见的任务,《正则表达式经典实例》给出了涉及基于C#、Java、JavaScript、Perl、PHP、Python、Ruby和VB.NET等编程语言的解决方案。《正则表达式经典实例》的读者对象是对正则表达式感兴趣的软件开发人员和系统管理员。 《正则表达式经典实例》旨在教会读者很多新的技巧以及如何避免语言特定的陷阱,读者可以通过《正则表达式经典实例》提供的实例解决方案库来解决实践中的复杂问题。 《正则表达式经典实例》:每个程序员都会遇到需要使用正则表达式的情况,但是要用好正则表达式却并不容易。《正则表达式经典实例》提供了100多个实例,以帮助读者使用正则表达式处理数据和文本。即使有经验的用户也经常会遇到性能不佳、误报、漏报等让人挠头的错误,《正则表达式经典实例》对于如何使用正则表达式来解决一些常见的问题给出了按部就班的解决方案,其中包括C#、Java、JavaScript、Perl、PHP、Python、Ruby和VB.NET的实例。 《正则表达式经典实例》主要包括以下内容: 通过一个精练的教程理解正则表达式的基本原理和技巧; 在不同的编程语言和脚本语言中有效使用正则表达式; 学习如何对输入进行合法性检查和格式化; 处理单词、文本行、特殊字符和数值; 学习如何在uRL、路径、标记语言和数据交换中使用正则表达式; 学习更高深的正则表达式特性中的微妙之处; 理解在不同语言中正则表达式的API、语法和行为之间的区别; 创建更好的正则表达式来满足个性化的需求。 使用8种编程语言的详细解决方案,包括一个正则表达式简明教程

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值