正则表达式快速查询

时间:2012-09-27 01:40:15

标签: python regex

快速正则表达式问题。

我想要一个表达式,它会找到一行中的第一个数字,也会找到该行末尾的一个单词。 (这将排除其中的任何数字)

IE如果字符串是“12345hello”那么我希望正则表达式找到“1hello”

或者即使是“12345hel45667lo”也能找到相同的东西。

我有第一个数字,但我认为可行的表达是:

print re.findall(r'^\d\D+',string)

这只是给我空括号,或者如果我取出\ D的第一个数字。是什么赋予了?

编辑:如果我输入|因为或者我得到了我想要的东西。返回字符串中的单词以及第一个数字,但是在单独的分组中。我想把它放在一起。

2 个答案:

答案 0 :(得分:2)

print re.findall(r'^\d|\D+',string)

print re.sub(r'(?<!^)\d', '', "12345hel45667lo9a") -> '1helloa'

答案 1 :(得分:0)

我唯一能想到的就是运行一个for循环,在字符串中扫描字母并将它们组合起来。

相关问题