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._&]+)+ - .*
我有一个包含以下示例数据的字符串列。
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。之后,您可以使用 .*
[A-Z0-9._&]+(?:/[A-Z0-9._&]+)+ - .*