找回密码
 注册
关于网站域名变更的通知
查看: 655|回复: 8
打印 上一主题 下一主题

筛选电容的表达式怎么写

[复制链接]
  • TA的每日心情
    奋斗
    2021-3-9 15:56
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    跳转到指定楼层
    1#
    发表于 2020-10-26 20:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x

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

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

    该用户从未签到

    2#
    发表于 2020-10-27 09:08 | 只看该作者
    帮你顶一下
  • TA的每日心情
    开心
    2022-5-6 15:29
  • 签到天数: 34 天

    [LV.5]常住居民I

    3#
    发表于 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




    点评

    多谢指点,学习了,本想用reMatchp的,今天用substring解决了  详情 回复 发表于 2020-10-27 21:28
  • TA的每日心情
    开心
    2022-5-6 15:29
  • 签到天数: 34 天

    [LV.5]常住居民I

    4#
    发表于 2020-10-27 11:25 | 只看该作者
    看你的 car(refdef)=“C”
    你的refdef应该是用parseString分解过字符串了吧

    点评

    电容位号统一C开头  详情 回复 发表于 2020-10-27 21:29
  • TA的每日心情
    奋斗
    2021-3-9 15:56
  • 签到天数: 4 天

    [LV.2]偶尔看看I

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

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

    点评

    用substring只能提取字符串,比如CT10,C10T这种类型的是不能排除的哦  详情 回复 发表于 2020-10-28 09:10
  • TA的每日心情
    奋斗
    2021-3-9 15:56
  • 签到天数: 4 天

    [LV.2]偶尔看看I

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

    电容位号统一C开头
  • TA的每日心情
    开心
    2022-5-6 15:29
  • 签到天数: 34 天

    [LV.5]常住居民I

    7#
    发表于 2020-10-28 09:10 | 只看该作者
    ldy523 发表于 2020-10-27 21:28
    多谢指点,学习了,本想用reMatchp的,今天用substring解决了

    用substring只能提取字符串,比如CT10,C10T这种类型的是不能排除的哦

    点评

    多谢解惑,因为要筛选的电容,不只是C+数字组合,还有C+数字+字母+数字这种形式,需求只要晒出C开头的电容就可以了,所以用substring基本满足需求。 另外再请教一下,下面函数里的?是什么意思呢,谢谢 axlSetFind  详情 回复 发表于 2020-11-1 11:28
  • TA的每日心情
    奋斗
    2021-3-9 15:56
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    8#
     楼主| 发表于 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)

    点评

    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)  详情 回复 发表于 2020-11-2 14:42
  • TA的每日心情
    开心
    2022-5-6 15:29
  • 签到天数: 34 天

    [LV.5]常住居民I

    9#
    发表于 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页)


    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-6-25 13:43 , Processed in 0.093750 second(s), 31 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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