(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 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|