正则表达式实例学习-TCL2

(1)空字符也算任何字符,也就是说一个点可以表示有一个字符,也可以表示没有字符

% regexp . ""
0
% regexp . " "
1
% regexp . a
1
% regexp . @
1
% regexp . #
1
% regexp . 1
1

% regexp {(a|b)+} "aaa" match
1
% set match
aaa

#为什么会这样?
% regexp {(a|b)+} "aaabbb" match
1
% set match
aaabbb
% regexp {(a)+} "aaabbb" match
1
% set match
aaa
% regexp {(a|b)+} "bbaaabb" match1
1
% set match1
bbaaabb
%

区间匹配用来表示匹配一系列字符串中间的一个

% regexp {[abcdef]} "ab" match
1
% set match
a
% regexp "\[abcdef]" "ab" match
1
% set match
a
% regexp "\[abcdef]+" "abc" match
1
% set match
abc

^这个字符也有2义性,如果把它放在中括号里面的话,它表示【非】的意思,比如[^a-z]表示匹配不是a-z字母的其他字符,但是不在中括号里面,比如^ab表示必须最前面是ab这2个字符。
% regexp {[^1-8]} a
1
% regexp {[^1-8]} 1
0
\d表示0-9之间的字符(1个)

% regexp {\d} 8
1
% regexp {\d} 11 match
1
% set match
1
% regexp {\w}  111aa_b match
1
% set  match
1
% regexp {(\w)+}  111aa_b match
1
% set  match
111aa_b
% regexp {\d} 1a1 match
1
% set match
1

% regexp {[:alnum:]} aBC2 match
1
% set match
a
% regexp {[:alnum:]+} aBC2 match
1
% set match
a
% regexp {[[:alnum:]]} aBC2 match
1
% set match
a
% regexp {[[:alnum:]]+} aBC2 match
1
% set match
aBC2

{m}       匹配前面模式的m次

% regexp {a{3}} aaa
1
% regexp {a{3}} aaaa
1
% regexp {a{3}} aaaa match
1
% set match
aaa
% regexp {a{3}} abaa match
0
% regexp {a{3}} aa match
0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值