对字符串执行通配符模式匹配 支持的平台:视窗和 Mac OS 签名(wcmatch str pattern)
返回值类型:字符串或零 如果str和模式匹配,则返回;否则,返回。wcmatchTwcmatchnil
言论这两个参数都可以是带引号的字符串或字符串变量。将 AutoLISP 函数返回的变量和值用于str和模式值是有效的。 若要测试字符串中的通配符,可以使用单个反引号 字符 () 对该字符进行转义。转义表示单反引号后面的字符不读作通配符;它以其面值进行比较。例如,要在字符串 “” 中的任意位置搜索逗号,请输入以下内容:`Name (wcmatch "Name" "*`,*") nil Both the C and AutoLISP programming languages use the backslash (\) as an escape character, so you need two backslashes (\\) to produce one backslash in a string. To test for a backslash character anywhere in “”, use the following function call: Name (wcmatch "Name" "*`\\*") nil 括在方括号 (. . .) 中的所有字符都按字面意思读取,因此无需转义它们,但以下情况除外:波浪号字符 (~) 仅在不是第一个带括号的字符(如 in)时才按字面读取;否则,它被读作否定字符,这意味着它应该匹配除波浪号后面的字符(如 in)之外的所有字符。短划线字符 (-) 仅在第一个或最后一个括号字符(如 inor)或前导波浪号后(如 in)时,才会从字面上读取。否则,将在括号内使用短划线字符 (-) 来指定特定字符的值范围。该范围仅适用于单个字符、somatches,,, 和 ,并匹配任何单个大写字母。[]"[A~BC]"wcmatch"[~ABC]""[-ABC]""[ABC-]""[~-ABC]""STR[1-38]"STR1STR2STR3STR8"[A-Z]" 如果右括号字符 () 是第一个带括号的字符,或者它跟在前导波浪号(作为 inor)后面,也会从字面上读取。]"[ ]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-16 00:32
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.