匹配模式函数
- 更新时间2025-07-30
- 阅读时长4分钟
在从偏移量起始的字符串中搜索正则表达式。如函数查找到匹配,它将字符串分隔为三个子字符串。正则表达式为特定的字符的组合,用于模式匹配。该函数虽然只提供较少的字符串匹配选项,但执行速度比“匹配正则表达式”函数快。
“匹配模式”函数与限定数量的正则表达式兼容,且不支持字符分组、替换模式匹配、后部标记或非贪婪量化。通过一系列特殊字符可对搜索进行改进。连线板可显示该多态函数的默认数据类型。

输入/输出
字符串
—
字符串指定函数搜索的输入字符串。
正则表达式
—
正则表达式是要在字符串中搜索的模式。如函数未找到正则表达式,匹配子字符串返回空字符串,子字符串之前返回整个字符串,子字符串之后返回空字符串,匹配后偏移量返回-1。
偏移量(0)
—
偏移量指定一个数值,函数在该指定数量的字符后开始查找字符串中的匹配。偏移量必须为数值。 字符串 中第一个字符的偏移量为0。如果 偏移量 是未连接的或小于0,函数将 偏移量 作为0。
子字符串之前
—
子字符串之前该字符串包含匹配之前的所有字符。
匹配子字符串
—
匹配子字符串是匹配的字符串。
子字符串之后
—
子字符串之后包含匹配模式后的所有字符。
匹配后偏移量
—
匹配后偏移量返回子字符串之后的第一个字符在字符串中的索引。如函数未找到匹配,匹配后偏移量为-1。如空字符串是对正则表达式的有效匹配,偏移量输入和匹配后偏移量输出必须相同。例如,如果 正则表达式 是 b* ,而输入的 字符串 是 cdb,那么 过去匹配的偏移量 是0。如果 字符串 是 bbbcd, 超过匹配的偏移量 是3。 |
该函数类似于搜索及替换模式VI。该函数虽然只提供较少的字符串匹配选项,但执行速度比匹配正则表达式函数快。例如,该函数不支持括号和竖直线(|)。
下表是可与该函数配合使用的正则表达式范例。某些范例使用特殊符号优化搜索。
注: 要在搜索字符串中包含特殊字符,则必须将特殊字符置于方括号中。例如,如需搜索字符串hz+,需在正则表达式中输入hz[+]。否则,LabVIEW使用特殊字符优化搜索。
| 要搜索的符号 | 正则表达式 |
|---|---|
| VOLTS | VOLTS |
| 所有大小写格式的volts,例如:VOLTS、Volts、volts等。 | [Vv][Oo][Ll][Tt][Ss] |
| 空格、加号或减号 | [ +-] |
| 一位或多位数序列 | [0-9]+ |
| 零个或多个空格 | [\s*]或[ *](即后带一个星号的空格) |
| 一个或多个空格、制表符、换行、回车 | [\t \r \n \s]+ |
| 一个或多个字符而不是数位 | [~0-9]+ |
| 在字符串偏移位置开始的Level | ^Level |
| 在字符串结尾出现的Volts | Volts$ |
| 括号中最长的字符串 | (.*) |
| 括号内最长的字符串(不包含任何括号) | ([~()]*) |
| 左括号 | \[ |
| 右括号 | \] |
| cat、dog、cot、dot、cog等。 | [cd][ao][tg] |
字符串
—
偏移量(0)
—
子字符串之前
—
匹配后偏移量
—