设置首页收藏本站
授权版本:2024_10
开启左侧

[HALCON文档] Halcon正则表达式匹配规则?

[复制链接]
绝地武士 发表于 2020-6-16 17:16:43 | 显示全部楼层 |阅读模式
^             匹配字符串的开头
$             匹配字符串的结尾(允许尾部换行符)
.              匹配除换行符以外的任何字符
[...]          匹配括号中列出的任何字符。如果第一个字符是'^',这将匹配除括号以内的其他任何字符。您可以使用“-”字符作为在“[A-Z0-9]”中选择字符范围。括号中其他字符将丢失他们的特殊含义,除了“\”。

*              允许前面的文字或组0次或者多次重复;
+             允许1次或者多次重复;
?              允许0次或者1次重复;
{n,m}       允许 n 到 m 次重复
{n}           只允许n次重复


( )            对子模式进行分组,并创建一个捕获组。该组捕获的子字符串将被单独存储。
(?: )          将子图案分组,而不创建捕获组

\             转义任何字符,将其视为字符。
请注意:一些宿主语言,如HDevelop和C/C++已经使用了反斜杠作为一个普通的空白角色。在这种情况下,“\\ .”匹配字符点,而“\\\\”匹配字符反斜杠。
此外,还有一些特殊代码(大写每个表示否定的版本):
\d,\D         匹配一个数组
\w,\W       匹配字母、数字或下划线
\s,\S          匹配空白字符
\b,\B         匹配单词边界

如果指定的表达式在语法上不正确,您将收到一条错误消息,指出控制参数2的值是错误的。如果设置了set_system('do_low_error', 'true'),则会在消息框中显示其他详细信息。
此外,您可以通过为表达式传递字符串元组来设置一些选项。在这种情况下,第一个元素用作表达式,每个附加元素都被视为一个选项。
ignore_case': 执行不区分大小写的匹配
'multiline': "^"和"$"匹配各行的开始和结束
'dot_matches_all': 允许 '.' 字符也能匹配换行符
'newline_lf', 'newline_crlf', 'newline_cr': 指定输入数据中换行符的编码。默认情况下,在Windows系统上使用CR/LF,在类似Unix的系统上使用 LF。

参考例子:
tuple_regexp_match ('abba', 'ab*', Matches)
tuple_regexp_match ('abba', 'ba*', Matches)
tuple_regexp_match ('abba', 'b+a*', Matches)
tuple_regexp_test ('ababab', '(ab){3}', NumMatches)
tuple_regexp_test ('abababa', '(ab){3}', NumMatches)
tuple_regexp_test ('abababa', '^(ab){3}$', NumMatches)
tuple_regexp_replace ('abba', 'b*', 'x', Result)
tuple_regexp_replace ('abba', 'b', 'x', Result)
tuple_regexp_replace ('abba', ['b','replace_all'], 'x', Result)

奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
zshy2020 发表于 2020-8-31 15:34:10 | 显示全部楼层
谢谢大佬的分享,刚好看到这方面的代码,才知道原来这是正则表达式
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表