正则表达式 - 如何在正则表达式中将字符串匹配到“其中一个字符”?

问题描述 投票:-1回答:1

我有一个数据集,其中包含一个包含信用卡商家数据的字段。我想使用正则表达式预处理值(“清洁值”之前使用模糊匹配来标准化字段(“期望输出”)

[merchant]         [clean value]    [desired output]
UPS1Z3734A345      UPS              UPS
UPS 1Z68A3125      UPS              UPS
HOME DEPOT #3421   HOME DEPOT       HOME DEPOT
STAPLES - #123     STAPLES          STAPLES
STPLS #4560        STPLS            STAPLES

我需要解决许多不同的情况(例如“ - ”,数字值,“#”字符等)

我在正则表达式方面相当新,但这是我到目前为止所提出的

(.+)[?=#]

但是,这仅在字符串中有“#”时才会解决。此外,如果字符串中没有非字母字符,则该字段返回空白

我很想得到一些关于如何正确制作这个表达的帮助。

regex alteryx
1个回答
0
投票

试试这个:

((?:[^\d#-]){2,}).*$

它将创建一个应包含清洁值的组。 (任何字符,直到找到一个数字,#或 - )

https://regex101.com/r/tFUcct/1

© www.soinside.com 2019 - 2024. All rights reserved.