【问题标题】:reg match to search a string informatica with delimiter '/'reg 匹配以使用分隔符“/”搜索字符串 informatica
【发布时间】:2019-06-26 09:24:17
【问题描述】:

我有一个包含以下示例数据的字符串列。

1) ABC/DEF/003 - 这是用于测试的

2) XYZV/T&X/ABC/004 - 这是为了测试

3) ZXC/004/007 - 这是用于测试的

4) 这是测试

使用 regextract/regmatch 我只需要搜索/提取以下数据

1) ABC/DEF/003

2) XYZV/T&X/ABC/004

3) ZXC/004/007

4) 它应该返回 null

我使用了模式搜索作为(.*)([^A-Z0-9\/\._]),但它不会 满足最后一个条件(4)的数据。

你能帮我解决这个问题吗?

【问题讨论】:

    标签: regex unicode regex-group informatica information-extraction


    【解决方案1】:

    (.*)([^A-Z0-9\/\._]) 模式将首先匹配除 .* 引起的换行符以外的所有字符,并在第 1 组中捕获该字符。

    第二部分使用 negated character class 匹配任何不在字符类中的字符 1 次,并将其捕获到第 2 组中。

    如果您不想匹配最后一个条件,您可以使正则表达式更具体。

    您可以重复字符类[A-Z0-9._&]+,然后重复一组(?:/...)+ 一次或多次,其中添加正斜杠。缺少一个&符号,您也可以添加它。

    然后匹配一个空格,- 和一个空格。之后,您可以使用 .* 匹配除换行符以外的任何字符 0+ 次

    [A-Z0-9._&]+(?:/[A-Z0-9._&]+)+ - .*
    

    Regex demo

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-06
      • 1970-01-01
      • 1970-01-01
      • 2018-04-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多