satan421 发表于 2019-8-16 12:57:40

Bao_lai 发表于 2019-8-16 12:51
可以匹配到不?
%%130、%%131、%%132 分别是一二三级钢筋的tssd字体码,中括号[]才是修饰符号,匹配里面 ...

AutoCAD貌似是不识别你的%%130、%%131、%%132的,即使识别,你的也不够用吧

869471067 发表于 2019-8-16 14:34:41

satan421 发表于 2019-8-15 17:00
;;假设你要匹配的字符串是str

;; 匹配φ前只有一位数字,后有一位数字的:


能写是能写出来,但比较麻烦,φ前和φ后是个位数还是十位数需要全部穷举出来,导致写出来的代码会很长....不能像正则那样用*表示重复1次或更多。例如第一个最简单的2φ12,我写出的匹配符是:
(wcmatch entdata-1 "#?#,##?#,#?##,##?##,###?#,###?##,[([]#?#[])],[([]##?#[])],[([]#?##[])],[([]##?##[])],[([]###?#[])],[([]###?##[])]")
还要匹配加了括号,(2φ12)和【2φ12】的情况。
不过好歹还是写出了能区分上面七种情况的通配符。

869471067 发表于 2019-8-16 14:36:41

869471067 发表于 2019-8-16 09:45
您好,请问能不能解释一下这串通配符的意思,因为我没找到%的调配字符意义

如果用 "*%%13*" 来匹配的话,就不能区分2φ12 和 2φ12;2φ14的区别了

satan421 发表于 2019-8-16 16:41:53

你可以试着用正则表达式写条件,你能把条件写好,我就能给你写个正则表达式的函数

869471067 发表于 2019-8-16 17:53:07

satan421 发表于 2019-8-16 16:41
你可以试着用正则表达式写条件,你能把条件写好,我就能给你写个正则表达式的函数

是能用正则的表达式实现wcmatch功能的函数吗,能不能告诉我主要用到哪些函数来写,我可以自己先研究一下,谢谢您。

satan421 发表于 2019-8-16 19:43:17

869471067 发表于 2019-8-16 17:53
是能用正则的表达式实现wcmatch功能的函数吗,能不能告诉我主要用到哪些函数来写,我可以自己先研究一下 ...

不是,我是说你先写正则表达式的pattern

baitang36 发表于 2019-8-20 08:00:47

satan421 发表于 2019-8-16 12:57
AutoCAD貌似是不识别你的%%130、%%131、%%132的,即使识别,你的也不够用吧

看来你不是结构专业的,%%130、%%131、%%132是结构用shx字体中的标配,没有它,钢筋类别就显示问号。
页: 1 [2]
查看完整版本: 【求助】关于wcmatch函数后面的pattern参数。