Cadence Skill 论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 104|回复: 0

[讨论] rexMatchp和rexMatchList函数

[复制链接]
发表于 2025-4-8 11:56:24 | 显示全部楼层 |阅读模式
/***********
[a-z] //匹配所有的小写字母
[A-Z] //匹配所有的大写字母
[a-zA-Z] //匹配所有的字母
[0-9] //匹配所有的数字
[0-9\.\-] //匹配所有的数字,句号和减号
[ \f\r\t\n] //匹配所有的白字符
^表示字符串的开头,但它还有另外一个含义。当在一组方括号里使用^是,它表示"非"或"排除"的意思,常常用来剔除某个字符。
************/
rexMatchList("[a-z][0-9]" '("01a" x02 "003" aa01 "abc"))     => (x02 aa01);一个小写字母一个数字,且小写字母要在数字前
rexMatchList("[a-z][0-9]*" '("01a" x02 "003" aa01 "abc" ))   => ("01a" x02 aa01 "abc");元素包含多个小写字母或多个数字或数字和字母随意排列
rexMatchList("[^a-z][a-z]" '("01a" x02 "003" aa01 "abc"))    => ("01a" x02 "003" aa01)
;[^a-z]表示字符不是小写字母,"[^a-z][0-9]"表示一个是非小写字母和一个数字,且^[a-z]在[0-9]前
rexMatchList("^[a-z][0-9]*" '("01a" x02 "003" aa01 "abc" ))  => (x02 aa01 "abc")
;^[a-z]表示字符串开头是小写字母,"^[a-z][0-9]*"表示首位是小写字母,其他位是多个字母或数字
rexMatchList("^[^a-z][0-9]*" '("01a" x02 "003" aa01 "abc" "a0a1aaa")) => ("01a" "003")
;[^a-z]表示字符不是小写字母,^[^a-z]表示字符串开头是[^a-z]即非小写数字,"^[^a-z][0-9]*"表示需要非小数字母开头,其他位是包含多个非小写字母或多个数字或数字和非小写字母随意排列


/**************
[a-zA-Z]    匹配单个大写或小写字母。
[a-zA-Z]*   匹配一行中的零个或多个大写或小写字母。
^[a-zA-Z]+$ 匹配以一个或多个大写或小写字母开头并以其结尾的字符串。这意味着,字符串中只有大写或小写字母。
**************/

rexMatchp("[0-9]*[.][0-9][0-9]*" "100.001") => t  ;小数点前是[0-9]*即多个数字,小数点后是多个数
rexMatchp("[0-9]*[.][0-9]*" "100.001") => t
rexMatchp("[0-9]*[.][0-9]+" ".001") => t
rexMatchp("[0-9]*[.][0-9]+$" ".001") => t
rexMatchp("[0-9]*[.][0-9]+" ".") => nil
rexMatchp("[0-9]*[.][0-9][0-9]*" "10." => nil

;见过一个代码如下,分析一下吧
rexMatchp("^[ A-Za-z]*[ ]+[A-Za-z]*[ ]+[-?0-9.]*[ *(]+[-?0-9.]*[ ]+[-?0-9.]*[) to (]+[-?0-9.]*[ ]+[-?0-9.]*[)].$" next_line)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|网站地图|Cadence Skill 论坛 ( 蜀ICP备13024417号 )

GMT+8, 2025-4-22 08:06 , Processed in 0.172919 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表