我有这种形式的字符串
NAME Firstame
我想得到Firstname
部分。字符串可以更复杂(LAST LAST2 First First2
)。规则是大写的元素是姓,其余的是名。我们可以假设第一部分将是大写(=姓),当它开始是混合大小写时,它是第一个名字,直到结束。你知道吗
我确信正确的regex组合[A-Z]
和\w
会起作用。我想到的最好的办法是
import re
re.findall('[A-Z]*\w+', 'LAST LAST2 First First2')
但是它几乎返回了正确的解决方案(['LAST', 'LAST2', 'First', 'First2']
)
在Python中将这个名字提取为一个字符串的好方法是什么?你知道吗
我想提出一个非正则表达式的解决方案:
结果:
尝试:
这将导致:
带正则表达式:
[A-Z]
匹配a和Z之间的单个字符 (区分大小写)[a-z]
匹配 a和z之间的范围(区分大小写).*
匹配任何字符 (新行除外)量词:介于零次和无限次之间,如 尽可能的多次,按需回馈[贪婪]$
断言 在字符串末尾的位置非正则表达式
[输出]:
相关问题 更多 >
编程相关推荐