快速正则表达式问题。
我想要一个表达式,它会找到一行中的第一个数字,也会找到该行末尾的一个单词。 (这将排除其中的任何数字)
IE如果字符串是“12345hello”那么我希望正则表达式找到“1hello”
或者即使是“12345hel45667lo”也能找到相同的东西。
我有第一个数字,但我认为可行的表达是:
print re.findall(r'^\d\D+',string)
这只是给我空括号,或者如果我取出\ D的第一个数字。是什么赋予了?
编辑:如果我输入|因为或者我得到了我想要的东西。返回字符串中的单词以及第一个数字,但是在单独的分组中。我想把它放在一起。
答案 0 :(得分:2)
print re.findall(r'^\d|\D+',string)
print re.sub(r'(?<!^)\d', '', "12345hel45667lo9a") -> '1helloa'
答案 1 :(得分:0)
我唯一能想到的就是运行一个for循环,在字符串中扫描字母并将它们组合起来。