gpt4 book ai didi

python - 在正则表达式中查找带有大写字母并以特定单词结尾的字符串

转载 作者:太空宇宙 更新时间:2023-11-04 07:27:49 25 4
gpt4 key购买 nike

我有一个数据框,其中一列包含具有三种模式的字符串:

1) 仅限大写字母:APPLE COMPANY

2) 大写字母并以字母 AS 结尾:CAR COMPANY AS

3)大小写字母:John Smith

df = pd.DataFrame({'NAME': ['APPLE COMPANY', 'CAR COMPANY AS', 'John Smith']})

NAME ...
0 APPLE COMPANY ...
1 CAR COMPANY AS ...
2 John Smith ...
3 ... ...

如何把不满足2)和3)条件即1)的行取出来?换句话说,我如何才能取出只有大写字母、不以 AS 结尾或字符串中同时包含大写字母和小写字母的行?

我想到了这个:

df['NAME'].str.findall(r"(^[A-Z ':]+$)")
df['NAME'].str.findall('AS')

第一个提取只有大写字母的字符串,而第二个只找到AS。如果除了正则表达式之外还有其他方法,我也很乐意尝试。

预期结果是:

             NAME ...
1 CAR COMPANY AS ...
2 John Smith ...
3 ... ...

最佳答案

这个正则表达式应该可以工作:

^(?:[A-Z ':]+ AS|.*[a-z].*)$

它匹配以下之一:

  • [A-Z ':]+ AS - 所有大写字母后跟 AS 的大小写
  • .*[a-z].* - 小写字母的大小写

Demo

关于python - 在正则表达式中查找带有大写字母并以特定单词结尾的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55255582/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com