正则表达式 (regex) 基础知识
下表提供了在 Cognex ViDi Suite 内使用正则表达式的一些基础知识。
|
定位标记 |
|
|
^ |
指定字符串或行的开头,例如 ^0 将匹配以 0 开头的字符串。 Note: 在括号内使用 ^ 符时,即 [^ 0],^ 表示不启动。
|
|
$ |
指定字符串或行的结尾,例如 0$,将匹配以 0 结尾的字符串。 |
|
基本匹配 |
|
|
. |
匹配任何单个字符。 Note: 要匹配句点,必须使用斜杠来转义点。例如,您输入:\.
|
|
\d |
匹配 0123456789 范围内的任何数字。 还可以通过键入数字来表示实际数字 0-9。 |
|
\w |
匹配任何字母、数字和下划线字符 (_)。 区分大小写的实际字符可以通过键入字符 a-z 或 A-Z 来表示。 |
|
\s |
匹配空格。 |
|
具体字符 |
|
|
[...] |
方括号 [ ] 用于匹配特定字符,这些字符在方括号内定义。例如,[a-z]匹配 a 到 z 的一个小写字母,或 T[ao]p 将匹配 Tap 或 Top。括号可用于复合结构,例如 [A-C][0-3][g-i],可以匹配字符串 A0g、A0h、B1i 和 C3g 的字符串。 |
|
重复 |
|
| {...} | 花括号{ }用于表示重复。例如,t{2}返回两个t;[def]{3}返回三个字符,可以是 d、e 或 f;而.{1,4} 匹配 1 至 4 的任意字符。 |
|
* |
表示字符或数字的零个或多个实例。例如,a* 会匹配零个或多个字符。 |
|
+ |
表示字符的一个或多个实例。例如,[nop]+ 将匹配 n、o 或 p 字符中的一个或多个。 |
|
可选字符 |
|
|
? |
问号 ? 用于匹配零个或一个前面字符或组。例如,12?3 将匹配 123 或 13。 Note: 要匹配问号,必须使用斜杠来转义问号。例如,您输入:\?
|
|
分组 |
|
|
(...) |
括号用于定义字符组,使一对括号内的子模式构成一个组。这非常有利于从图像文件名中提取信息。例如,如果您策划图像使用某种命名约定,例如 Good_0001.png,并且只想返回那些图像,则可以使用 ^(Good.+)\.png$ 您还可以使用括号捕获嵌套组。使用上面的示例,可以根据数字细化搜索,例如 ^(Good(\d+))\.png$ 此外,也可在括号内使用上述量词以捕获模式。例如,如果要捕获大于 1000 的可能区域,则可以使用 (\d{4})x(\d{4}) 逻辑 OR 标识符 | 可用于表示不同的可能字符集。例如,如果您想在一组文件名中返回“scratch”,“dent”或“hole”,则可以使用 ^(Bad(\d+)(scratch|dent|hole))\.png$ |