我怎样才能用正则表达式匹配除表达式之外的所有内容?

How can I match everything except for the expression with a regex?

我有以下文字:

MSH 1A C3
MSH B4-14 c3-1
AU1 C4 2
MA2A C1 1

我想从中获取以下信息:

MSH 1A
MSH B4-14
AU1
MA2A

我试过这个正则表达式来突出显示 C:

(( C[0-9].*)|( c[0-9].*))

除了我在正则表达式中突出显示的内容之外,我如何才能匹配所有内容?这需要是单行正则表达式。

您可以使用字符来缩短模式 class [Cc].

使用空字符串替换:

df_elements['POINT_ID'] = df_elements['POINT_ID'].str.replace(r'\s[Cc]\d.*', "")

将提取与捕获组一起使用:

df_elements['POINT_ID'] = df_elements['POINT_ID'].str.extract('^(.*?)(?=\s*[Cc]\d)', expand=False)

两者都会导致:

    POINT_ID
0     MSH 1A
1  MSH B4-14
2        AU1
3       MA2A