我怎样才能用正则表达式匹配除表达式之外的所有内容?
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
我有以下文字:
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