CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2023 开发者帮助

关于通配符匹配 (AutoLISP)

2024-5-18 18:52| 发布者: admin| 查看: 108| 评论: 0|原作者: admin|来自: AutoCAD

关于通配符匹配 (AutoLISP)

可以使用该函数将字符串与通配符模式进行比较。wcmatch

当需要构建动态选择集(与 结合)或按应用程序名称检索扩展实体数据(与 结合)时,这可能很有帮助。该函数将单个字符串与模式进行比较。如果字符串与模式匹配,则函数返回,如果字符串不匹配,则返回。通配符模式类似于许多系统和应用程序使用的正则表达式。ssgetentgetwcmatchTnil

以下规则适用于通配符模式:

  • 字母字符和数字在图案中按字面意思处理。
  • 括号可用于指定可选字符或字母或数字范围。
  • 问号 ( ) 匹配单个字符。
  • 星号 ( * ) 与字符序列匹配;并且,某些其他特殊字符在图案中具有特殊含义。在搜索模式的开头和结尾使用 * 字符时,可以在字符串中的任意位置找到所需的部分。

在以下示例中,已声明并初始化了一个名为的字符串变量:matchme

(setq matchme "this is a string - test1 test2 the end")
"this is a string - test1 test2 the end"

以下代码检查是否以四个字符“this”开头:matchme

(wcmatch matchme "this*")
T

下面的代码演示了在模式中使用括号。在本例中,如果包含 “test4”、“test5”、“test6” (4-6) 或 “test9”(注意使用 * 字符),则返回:wcmatchTmatchme

(wcmatch matchme "*test[4-69]*")
nil

在本例中,返回 because 不包含模式指示的任何字符串。但是,使用模式“test[4-61]”确实与字符串匹配,因为它包含“test1”。wcmatchnilmatchme

(wcmatch matchme "*test[4-61]*")
T

模式字符串可以指定多个模式,以逗号分隔。如果等于“ABC”,或者以“XYZ”开头,或者以“end”结尾,则返回以下代码。Tmatchme

(wcmatch matchme "ABC,XYZ*,*end")
T

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1   苏公网安备32011402011833)

GMT+8, 2024-12-15 22:22

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部