CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoLISP 开发指南

关于通配符匹配(AutoLISP)

2023-1-6 13:30| 发布者: admin| 查看: 1026| 评论: 0|来自: AutoCAD

摘要: 字符串可以与具有 wcmatch 函数的通配符模式进行比较。

字符串可以与带有函数的通配符模式进行比较。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

下面的代码说明了如何在模式中使用括号。在这种情况下,returnsif包含“test4”,“test5”,“test6”(4-6)或“test9”(注意*字符的使用):wcmatchTmatchme

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

在这种情况下,returnswhy不包含模式指示的任何字符串。但是,使用模式“test[4-61]”确实与字符串匹配,因为它包含“test1”。wcmatchnilmatchme

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

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

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

路过

雷人

握手

鲜花

鸡蛋

最新评论

UG快捷键鼠标垫

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

GMT+8, 2024-5-7 01:04

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部