EDA365电子论坛网

标题: 筛选电容的表达式怎么写 [打印本页]

作者: ldy523    时间: 2020-10-26 20:39
标题: 筛选电容的表达式怎么写

获取所有器件的位号后,如何用表达式筛选电容器件,电容位号默认为 "CXXX"

用car(refdef)=“C” 可以筛选出大部分的C器件,但是也会有其他器件被筛选到,为什么呢


作者: Uifhjvv    时间: 2020-10-27 09:08
帮你顶一下
作者: leilei4908    时间: 2020-10-27 11:19
本帖最后由 leilei4908 于 2020-10-27 11:35 编辑

假如位号的格式固定,字母C开头,后面跟的都是数字,可以用正则表达式匹配
rexMatchp("^C[0-9]+$" refdes)
其中,refdes就是位号,^表示首个字符,$表示末尾字符,[]内表示允许的字符范围,[0-9]就表示所有的数字,+表示[]里的内容至少一次

Skill > refdes = "C11"
"C11"
Skill > rexMatchp("^C[0-9]+$" refdes)
t
Skill > refdes = "c123"
"c123"
Skill > rexMatchp("^C[0-9]+$" refdes)
nil
Skill > refdes = "Ca1"
"Ca1"
Skill > rexMatchp("^C[0-9]+$" refdes)
nil
Skill > refdes = "C1C"
"C1C"
Skill > rexMatchp("^C[0-9]+$" refdes)
nil





作者: leilei4908    时间: 2020-10-27 11:25
看你的 car(refdef)=“C”
你的refdef应该是用parseString分解过字符串了吧

作者: ldy523    时间: 2020-10-27 21:28
leilei4908 发表于 2020-10-27 11:19
假如位号的格式固定,字母C开头,后面跟的都是数字,可以用正则表达式匹配
rexMatchp("^C[0-9]+$" refdes) ...

多谢指点,学习了,本想用reMatchp的,今天用substring解决了

作者: ldy523    时间: 2020-10-27 21:29
leilei4908 发表于 2020-10-27 11:25
看你的 car(refdef)=“C”
你的refdef应该是用parseString分解过字符串了吧

电容位号统一C开头

作者: leilei4908    时间: 2020-10-28 09:10
ldy523 发表于 2020-10-27 21:28
多谢指点,学习了,本想用reMatchp的,今天用substring解决了

用substring只能提取字符串,比如CT10,C10T这种类型的是不能排除的哦
作者: ldy523    时间: 2020-11-1 11:28
leilei4908 发表于 2020-10-28 09:10
用substring只能提取字符串,比如CT10,C10T这种类型的是不能排除的哦

多谢解惑,因为要筛选的电容,不只是C+数字组合,还有C+数字+字母+数字这种形式,需求只要晒出C开头的电容就可以了,所以用substring基本满足需求。
另外再请教一下,下面函数里的?是什么意思呢,谢谢
axlSetFindFilter(?enabled lt_enabled ?onButtons lt_filterOn)

作者: leilei4908    时间: 2020-11-2 14:42
本帖最后由 leilei4908 于 2020-11-2 14:46 编辑
ldy523 发表于 2020-11-1 11:28
多谢解惑,因为要筛选的电容,不只是C+数字组合,还有C+数字+字母+数字这种形式,需求只要晒出C开头的电 ...

procedure函数,可以传递不同类型的参数@key,可以设定关键词参数默认的值
procedure(Myproc(a b @key (d 0) (e 0))
...
)

Myproc(2 3 ?d 5)
执行后,a == 2, b ==3, d == 5, e == 0


Myproc(2 3 ?e 2)
执行后,a == 2, b == 3, d == 0, e == 2

Myproc(2 3 ?d 4 ?e 6)
执行后,a == 2, b == 3, d == 4, e == 6

不知道这样你是否能理解

具体可以参考 C:\Cadence\SPB_16.6\doc\sklangref文件夹里的
sklangref.pdf关于
procedure 函数的解释(554页)







欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2