TRegexp 类

(翻译:YunHai 更新日期:2004年11月1日 E-Mail:yun_hai@hotmial.com)

TRegexp 类

 

包含文件

<owl/regexp.h>

 

描述

这是一个正则表达式类。Tregexp是一个被用作字符串搜索的类。

    正则表达式使用这些特殊字符:.     [    ]    -    ^     *    ?    +    $

 

一般的规则:

    除了特殊字符,字符相匹配它们自己。举例来说 "yardbird" 匹配 "yardbird"。

    一个反斜线 (/)跟随的一个特殊字符,相匹配特殊字符它本身。举例来"Pardon /?" 匹配 "Pardon?"

下列各项转义代码可能用来相配控制字符:

 

/b  

Backspace(退格)

 

/e  

Esc(取消)

 

/f  

Formfeed(进纸)

 

/n  

Newline(新行)

 

/r  

carriage return(回车)

 

/t  

Tab(制表)

 

/xddd  

这是十六进制数值 0xddd

 

/^x  

X相配一些控制代码 (举例来说 /^c, /^c)

 

单字符正则表达式:

“.” 匹配除/n以外的任何一个字符和特殊字符。举例来说 ".ive" 匹配 "jive" "five"
 “[” 与 “]” 匹配所包含的任意一个字符。举例来说 "[aeiou]" 也会相配 "a","e" , "i" , "o" "u" 。特殊字符被用在[]里面,匹配指定范围内的任意字符。举例来说, "[ a-z ]" 会在a与z之间匹配任意的小写字母。

^”匹配未包含的任意字符。 举例来说, "[ ^g-v ]" 会不匹配g-v之间的任意的小写字母。 举例来说,"[^ g- v]"。会匹配除g与v之间的任意小写字母。

 

多字符正则表达式:

*”匹配前面的子表达式零次或多次。举例来说, "[ a-z ]*" 匹配以字母开头的表达式零次或多次

“+” 匹配前面的子表达式一次或多次。举例来说, "[ 0-9 ]+" 匹配以数字开头的字符。

“?”匹配前面的子表达式零次或一次。举例来说"xy?z" 匹配 "xy" 或 "xyz".

 

正则表达式组合

 

举例来说, "[ A-Z ][ a-z ]*" 匹配以大写字母开头的单词。

匹配从开始的位置到换行结束。

如果正则表达式以^开始,^匹配输入字符串的开始位置。举例来说, "^[ A-Z ][ a-z ]*"匹配以大写字母开始的行。

如果正则表达式以$结尾,$ 匹配输入字符串的结束位置。举例来说, "[ A-Z ][ a-z ]*$" 匹配用大写字母开头的单词结束的行.

 

StatVal

语法:

        enum StatVal{OK=0, ILLEGAL, TOOLONG};

描述

        StatVal 枚举被 TRegexp::status 返回的状态

 

 

  状态

描述

 

OK  

意谓着给定的正则表达式是合法的

 

ILLEGAL  

意谓式样是违法的违法的

 

TOOLONG  

意谓式样超过了最大的长度 (128)

 

公有构造函数

形式1:

        TRegexp(const char far* cp);

形式2:

        TRegexp(const TRegexp far& r);

描述:

形式1:

构造一个正则表达式对象,使用cp作为正则表达式。

形式2:

构造正则表达式对象复制对象r。

 

公有成员函数

find

语法:

        size_t find(const string& s, size_t* len, size_t start=0)

描述:

在一个字符串中查找第一个匹配正则表达式的字符串。搜索从start开始,而且 len 返回相匹配字符串的长度。返回匹配字符串的开始位置。如果没有匹配被发现,len 是 0,并且返回 -1 。

 

status

语法:

        StatVal status()

描述:

        返回这一个正则表达式的状态。

状态值是:

 

  状态

描述

 

OK  

意谓着给定的正则表达式是合法的

 

ILLEGAL  

意谓式样是违法的违法的

 

TOOLONG  

意谓式样超过了最大的长度 (128)

 

操作符

=

形式1:

       TRegexp& operator=(const TRegexp& r)

形式2:

     TRegexp& operator=(const char* cp)

描述

形式1:

将正则表达式对象实例r复制给当前正则表达式实例。

形式2:

将一个正则表达式对象的正则表达式设置为cp。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值