我们在这里为大家总结了几种Ruby正则表达式,包括:表示英文字母和数字、非英文字母和数字、词边界字符以及其他字符的表达式等。

Ruby是一款应用灵活的语言,它也包含许多正则表达式,熟练掌握这些表达式,可以帮助我们理解Ruby语言。在这里我们将会学到几种常见的Ruby正则表达式。#t#

Ruby正则表达式示例讲解(ruby 正则表达式)  Ruby正则表达式 第1张

Ruby正则表达式是用来表达字符串的模式(pattern)的。也可以这么理解:我们使用正则表达式来表示某种搜索规则,然后使用该正则表达式来完成字符串的搜索工作。

举个例子,假定有这样的搜索规则:“字符串以’FOO’开始,以’R’结束”,那么就可以使用以下正则表达式来表示该规则。

Ruby用//将正则表达式括起来。^表示开头,$表示结尾,.*表示0个以上的任意字符。现在就讲讲正则表达式的规则的写法。正则表达式中有很多上述的具有特别意义的字符。首先是下列字符。

[ ] 范围描述符。[a-z]表示从a到z之间的任意一个。( 注意大小写的区分:)

\w 英文字母和数字。即[0-9 A-Z a-z]。
\W 非英文字母和数字
\s 空字符,即[\t\n\r\f]。
\S 非空字符。
\d 数字,即[0-9]。
\D 非数字。
\b 词边界字符(在范围描述符外部时)
\B 非词边界字符
\b 退格符(0x08)(在范围描述符内部时)
* 前面元素出现0次以上
+ 前面元素出现1次以上
{m,n} 前面元素最少出现m次,最多出现n次
? 前面元素出现0次或1次
| 选择
( ) 群组

Ruby正则表达式中其他字符 该字符本身

例如,“^f[a-z]+”表示“***个字符是f,后面是若干个从a到z之间的字符”,可以是“fobar”或“fool”等等。

这种表达法就是正则表达式(regular expression)。在搜索字符串时正则表达式非常有用,因此在UNIX的世界里,Ruby正则表达式得到了广泛的应用。grep程序就是个代表。许多人是不是经常会用到它呢?

转载请说明出处
知优网 » Ruby正则表达式示例讲解(ruby 正则表达式)

发表评论

您需要后才能发表评论