wcmatch (AutoLISP)
对字符串执行通配符模式匹配 支持的平台:Windows 和 Mac OS 签名(wcmatch str pattern)
返回值类型:字符串或 nil 如果 str 和 pattern 匹配,则返回 ;否则,返回 。wcmatchTwcmatchnil
言论这两个参数都可以是带引号的字符串或字符串变量。将 AutoLISP 函数返回的变量和值用于 str 和 pattern 值是有效的。 若要测试字符串中的通配符,可以使用单反引号字符 () 来转义该字符。转义意味着单个反向引号后面的字符不被读取为通配符;按其面值进行比较。例如,若要在字符串“”中的任意位置搜索逗号,请输入以下命令:`Name (wcmatch "Name" "*`,*") nil C 和 AutoLISP 编程语言都使用反斜杠 (\) 作为转义字符,因此需要两个反斜杠 (\\) 才能在字符串中生成一个反斜杠。若要测试“”中任意位置的反斜杠字符,请使用以下函数调用:Name (wcmatch "Name" "*`\\*") nil 括在括号 ( . . . ) 中的所有字符都是按字面意思阅读的,因此无需转义它们,但以下情况除外:波浪号字符 (~) 仅在不是第一个括号字符时才按字面阅读(如 中 );否则,它被读取为否定字符,这意味着它应该匹配除波浪号后面的字符之外的所有字符(如 中所示)。短划线字符 (-) 仅当是第一个或最后一个括号字符(如 or )或跟在前导波浪号(如 )时,才按字面意思阅读。否则,短划线字符 (-) 用于括号内,以指定特定字符的值范围。该范围仅适用于单个字符,因此匹配 、 、 和 ,并匹配任何单个大写字母。[]"[A~BC]"wcmatch"[~ABC]""[-ABC]""[ABC-]""[~-ABC]""STR[1-38]"STR1STR2STR3STR8"[A-Z]" 如果右括号字符 () 是第一个带括号的字符,或者它跟在前导波浪号后面(如 或 ),则也可以按字面阅读。]"[ ]ABC]""[~]ABC]" 注意:由于 AutoLISP 的未来版本中可能会添加其他通配符,因此最好对模式中的所有非字母数字字符进行转义,以确保向上兼容。
例子例子 以下命令测试字符串,查看它是否以字符开头N: (wcmatch "Name" "N*") T 下面的示例执行三个比较。如果满足三个模式条件中的任何一个,则返回 。测试是:wcmatchT
如果满足三个模式条件中的任何一个,则返回:wcmatchT (wcmatch "Name" "???,~*m*,N*") T 在此示例中,满足最后一个条件,因此返回 。wcmatchT 相关概念 |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2024-12-15 22:10
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.