reg 匹配以使用分隔符 '/' 搜索字符串 informatica

reg match to search a string informatica with delimiter '/'

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

1) ABC/DEF/003 - 这是为了测试

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

3) ZXC/004/007 - 这是为了测试

4) 这是测试

使用regextract/regmatch我需要search/extract只获取以下数据

1) ABC/DEF/003

2) XYZV/T&X/ABC/004

3) ZXC/004/007

4) 它应该 return null

我曾像这样使用模式搜索 (.*)([^A-Z0-9\/\._]) 但它不会 满足最后一个条件(4)data.

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

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

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

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

您可以重复字符 class [A-Z0-9._&]+,然后重复一组 (?:/...)+ 一次或多次,其中正斜杠位于前面。少了一个符号,你也可以加上。

然后匹配一个space、-和一个space。之后,您可以使用 .*

匹配除换行符之外的任何字符 0+ 次
[A-Z0-9._&]+(?:/[A-Z0-9._&]+)+ - .*

Regex demo