首页 > 解决方案 > 通过正则表达式提取数据表信息

问题描述

我想使用正则表达式从数据表中提取寄存器名称、地址、枚举等信息。我找到了很棒的网站 regexr.com,它在大多数情况下都有帮助,但不能解决这个问题(复杂吗?)。

http://regexr.com/4jeug

我尝试做几个小组并拿出一个列表(CSV)。但是每次我放入多个组时,我都会卡住。我需要类似 (A2B_????) blablablablab Address: (0x??) blablablalbalb "16 digits" ([AZ]+)

我希望

A2B_NODEADR, 0x01, BRCST, NODE, PERI
A2B_VENDOR, 0x0A, VENDOR
A2B_PRODUCT, 0x03, PRODUCT

标签: regexextract

解决方案


所以我只会说只有“The”在前面并且没有“。” 下列的。我试图添加 (?!.) 但没有帮助。

这听起来你已经想出了“The”是否在:之前的模式(?<=The )(?!.) 但没有帮助的原因是,这只是导致前面(A2B_[A-Z]+)匹配没有最后一个字母的名称,从而实现了no “。” 以下. 为了避免这种情况,我们可以指定后面也不能有字母;我们甚至不需要前瞻:(A2B_[A-Z]+)[^A-Z.].

https://regexr.com/4jit2


推荐阅读