gpt4 book ai didi

regex - 使用正则表达式识别 EQUIPMENTID 编号 - VBA

转载 作者:行者123 更新时间:2023-12-03 20:48:14 24 4
gpt4 key购买 nike

努力构建一个 Regexp 来识别设备编号,我需要它来识别多种格式的设备编号,包括池设备编号,例如 AFD21101AFD21101-02-03AFD21101-2-3包括根据测试数据的各种前缀。
欢迎任何提示或反馈,对于每个场景使用多个 RegExp 可能会更容易,但我希望有一个大师来识别这些模式中的任何一个,并能够从字符串中提取以更详细的顺序进行进一步处理。可能转换为长格式等。
非常感谢任何帮助。希望我能报恩。
到目前为止我尝试过的:

^[abcpfsmschafddfcpdcdplldt][glvmdugmrxftiichlewsnuabn][mmrprbdpucdsxtvuwcrslbubk][0-9][0-9xX][0-9xX][0-9xX][0-9xX]|[0-9xX-][0-9]|[0-9]

^[abcpfsmschafddfcpdcdplldt][glvmdugmrxftiichlewsnuabn][mmrprbdpucdsxtvuwcrslbubk][0-9][0-9xX][0-9xX][0-9xX][0-9xX]

^(BLM)|(SUB)|

(CVR)|FDR|SMP|CRU|HXC|ATS|AFD|FTS|DIX|DIT|FIT|FCV|KV|FV|CHU|PLW|BCR|DEC|CTR|CWR|V|DSS|PNL|MTR|LUB|LAU|CCL|DBB|TNK|THK|PIT|[0-9][0-9xX][0-9xX][0-9xX][0-9xX]
测试数据 - 必须按照下面的测试数据示例处理由逗号或多行分隔的多个
// Example test data 1: (CSV+)
CRN21003 (CB-3), CRN21004 (CB-4)

// Example test data 2: (CSV)
CVR21404, CHU21437, AFD21401

// Example test data 3: (Multi-line)
MGD22401 - 16
DEC22401 - 16

// Example test data 4: (In string)
AFD11122 SOME OTHER RANDOM DATA WDC11121_22 SOME OTHER RANDOM DATA

//Additional matches
AFD21101-03
AFD21101_03
AFD21101-02-03
AFD21101_02_03
AFD21101-2-3
AFD21101_2_3
FDR21407-08
BLM21401
SUB21601
CVR21601
Fdr21601
SMP21501
CRU21501
HXC21501
AFD21501
FTS21X01
DIX21301
DIT22501
FIT21X0X
FCV21501
图案:
  • 基数最多为 8 位
  • 1-3 个字母 (A-Z)
  • 5 位数字 (0-9),包括 X 作为通配符

  • 其次是汇集的设备 ID
     e.g. AFD21101-2-3, AFD21101-02-03 or AFD21101_02_03
  • _-是指示缩写的后续设备 ID 或范围的分隔符。
  • AFD21101-02-03相当于 AFD21101 , AFD21102 , AFD21103完整版


  • 可能的前缀续
    KV
    CHU
    PLW
    BCR
    DEC
    CTR
    CWR
    V
    DSS
    PNL
    MTR
    LUB
    LAU
    CCL
    DBB
    TNK
    THK
    PIT
    AGM2XXXX - valid
    一些无效匹配将类似于 AGM211011AGMXXXXX211012110AGM21101-094-034AGM (仅前缀没有尾随的 5 位数字/X 通配符)

    最佳答案

    如果我理解您的问题,您需要获取以提供的子字符串开头并包含数字的字符串。
    您可以尝试以下正则表达式。

    ^(?:BLM|SUB|CVR|FDR|SMP|CRU|HXC|ATS|AFD|FTS|DIX|DIT|FIT|FCV|KV|FV|CHU|PLW|BCR|DEC|CTR|CWR|V|DSS|PNL|MTR|LUB|LAU|CCL|DBB|TNK|THK|PIT)[0-9_-]+
    详情:
  • ^ : 字符串开头
  • ?: : 非捕获组
  • (?:BLM|SUB|CVR|FDR|SMP|CRU|HXC|ATS|AFD|FTS|DIX|DIT|FIT|FCV|KV|FV|CHU|PLW|BCR|DEC|CTR|CWR|V|DSS|PNL|MTR|LUB|LAU|CCL|DBB|TNK|THK|PIT) : 前缀列表。

  • Demo

    关于regex - 使用正则表达式识别 EQUIPMENTID 编号 - VBA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64546932/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com