基本操作之——正则表达式
1.halcon-轮廓拟合圆fit_circle_contour_xld2.Halcon 标定例程(calibration-adjust_mosaic_images.hdev)3.Halcon 相机外部参数(camera_calibration_external.hdev)4.halcon 标定5.Halcon 相机内部参数(camera_calibration_internal.hdev)6.halcon 标定算子汇总7.halcon 拼接参考8.halcon 双目相机标定9.HALCON 杂记10.dump_window & dump_window_image 区别11.拟合——直线12.halcon崩溃,未及时保存文件临时存储路径13.halcon-——显示颜色对照表14.矩阵基本操作15.通过高斯的导数获取法向量16.halcon ——从几个不同照明的图像重建表面17.脱离halcon环境运行18.Halcon 一维测量/1D-Measuring19.Halcon——矩阵/Matrix20.dev_set_lut显示效果21.基础设置之——dev_set_check22.基础设置之——dev_open_file_dialog23.基础设置之——dev_open_dialog24.基础设置之——dev_disp_text25.基础操作之——生成一张背景图像26.基础设置之——dev_open_tool27.基本设置之——算术运算28.基础设置之——字符显示格式设置29.基础设置之——条件判断(一)30.基础操作之——tuple基本操作31.基本操作之——位运算32.基本操作之——正弦函数绘制33.基本操作之——多维空间欧几里得距离距离计算及标量积计算34.基本操作之——集合基本操作35.基本操作之——字符截取操作36.基本操作之——Unicode编码
37.基本操作之——正则表达式
38.基本操作之——字典39.基础设置之——条件判断(二)40.基本操作之——tuple类型41.基本操作之——tuple值分布范围获取42.基本操作之——tuple增删查改操作43.基本操作之——Object比较44.基本操作之——Object插入45.基本操作之——Object差异46.基本操作之——Object移除操作47.基本操作之——Object替换48.分类器——高斯混合模型/Gaussian-Mixture-Models(GMM)之图像分割49.分类器——高斯混合模型之水果分类50.分类器——高斯混合模型之缺陷检测(纹理缺陷检测)51.基本操作之——图像纹理处理texture_laws52.分类器——高斯混合模型之查找表分类器(保险丝分类)53.模版匹配——set_shape_model_param54.模板匹配——set_shape_model_clutter55.模板匹配——金字塔图像计算gen_gauss_pyramid56.模板匹配——determine_shape_model_params57.模板匹配——create_shape_model58.模版匹配——inspect_shape_model1.定义
* 允许0 次或多次重复
+ 允许1次或多次重复
? 允许0次或1次重复
{n,m} 允许n到m次重复
{n} 允许n次重复
^ 匹配字符串开头
$ 匹配字符串结尾
. 匹配除换行符外所有字符
2.事例
*正则表达式基本操作 tuple_regexp_match ('abba', 'ab*', Matches) *return abb tuple_regexp_match ('abbaa', 'ba*', Matches) *return b tuple_regexp_match ('abaa', 'ba*', Matches) *return baa tuple_regexp_match ('abba', 'a*b*', Result) * Returns 'abb' tuple_regexp_match ('abba', 'b*a*', Result) * Returns 'a' tuple_regexp_match ('babba', 'b*a*', Result) * Returns 'ba' tuple_regexp_match ('abba', 'b+a*', Result) * Returns 'bba' tuple_regexp_match ('abba', '.a', Result) * Returns 'ba' tuple_regexp_match ('abba', '[ab]*', Result) * Returns 'abba' tuple_regexp_match ('abba', '[ba]*', Result) * Returns 'abba' tuple_regexp_match (['img123','img124'], 'img(.*)', Result) * Returns ['123','124'] tuple_regexp_match ('mydir/img001.bmp', 'img(.*)\\.(.*)', Result) * Returns ['001','bmp'] tuple_regexp_test ('p10662599755', '[A-Z]*', Result) * Returns 0 tuple_regexp_test ('p10662599755', ['[A-Z]*','ignore_case'], Result) * Returns 1 tuple_regexp_test ('ababab', '(ab){3}', NumMatches) *return 1 tuple_regexp_test ('abab', '(ab){3}', NumMatches) *return 0 tuple_regexp_test ('abababa', '(ab){3}', NumMatches) *return 1 tuple_regexp_test ('abababa', '^(ab){3}$', NumMatches) *return 0 tuple_regexp_test ('ababab', '^(ab){3}$', NumMatches) *return 1 tuple_regexp_replace ('abba', 'b*', 'x', Result) *return xabba tuple_regexp_replace ('abba', 'a*', 'x', Result) *return xbba tuple_regexp_replace ('abba', 'b', 'x', Result) *return axba tuple_regexp_replace ('abba', ['b','replace_all'], 'x', Result) *return axxa tuple_regexp_replace(['img10.bmp','img11.bmp','img12.bmp'], 'img(.*).bmp', 'out$1.txt', Result) * Returns ['out10.txt','out11.txt','out12.txt'] tuple_regexp_replace (['SN/1234567-X','SN/2345678-Y','SN/3456789-Z'], 'SN/(\\d{7})-([A-Z])', 'Product Model $2, Serial Number $1', Result) *return ['Product Model X, Serial Number 1234567', 'Product Model Y, Serial Number 2345678', 'Product Model Z, Serial Number 3456789'] tuple_regexp_replace (['01/04/2000','06/30/2007'], '(\\d{2})/(\\d{2})/(\\d{4})', 'Day: $2, Month: $1, Year: $3', Result) *return ['Day: 04, Month: 01, Year: 2000', 'Day: 30, Month: 06, Year: 2007'] get_system ('image_dir', HalconImages) get_system ('operating_system', OS) if (OS{0:2} == 'Win') tuple_split (HalconImages, ';', HalconImagesSplit) else tuple_split (HalconImages, ':', HalconImagesSplit) endif list_files (HalconImagesSplit[0], ['files','follow_links'], Files) * 查找拓展名为png的文件 tuple_regexp_select (Files, '\\.png$', FilesPNG) * 查找拓展名为png的文件,且剔除掉文件名最后为数字的文件 tuple_regexp_select (FilesPNG, ['\\d\\.png$','invert_match'], FilesNoDigit) * 查找拓展名为png的文件,且只获取文件名称,不要完整路径,形如"8.png" tuple_regexp_match (FilesNoDigit, '[^/\\\\]*.png', ShortNames) * 更改文件的名称 tuple_regexp_replace (ShortNames, '(.*)\\.png$', 'out_$1.jpg', ConvertedNames) * Count number of files with multi-word names (name contains hyphen or underscore) tuple_regexp_test (ShortNames, '_|-', NumCombined) * *************************************************** * ***** Using regular expressions in HDevelop expressions * *************************************************** * Again count number of files with digit and calculate percentage if (|ShortNames| > 0) Result := 100.0 * regexp_test(ShortNames,'\\d') / |ShortNames| + '% of PNG file names contain a digit' endif * Return letters 2-n of all files starting with 'a' Result := regexp_match(regexp_select(ShortNames,'^a'),'^a(.*)') * The operator =~ is short for regexp_test and useful for boolean expressions if (ShortNames =~ '^z') Result := 'A filename starting with z exists' endif
------------------------------------
承接
**视觉检测软件开发及调试
**工业软件开发
**上位机软件开发
wechat:luoran2024
qq:565934058
email:taoyuansu@qq.com
海量教育资源及影视资源下载
微信公众号:EFun科技
------------------------------------
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!