Python匹配器不匹配

时间:2017-03-29 18:23:07

标签: python regex

我试图在python中编写一个非常简单的正则表达式脚本,匹配所有小写字符,但匹配器返回"无"

这是我的代码:

p = re.compile('[a-z]+')
print(p.match('This is a test'))
p

2 个答案:

答案 0 :(得分:2)

match在字符串的开头匹配。你的字符串以大写字母开头,因此它不匹配并放弃。

也许您想要findall

>>> p = re.compile('[a-z]+')
>>> print(p.findall('This is a test'))
['his', 'is', 'a', 'test']

答案 1 :(得分:0)

您使用了错误的方法,search不会搜索整个字符串,它只检查字符串是否从字符串的开头开始匹配。

查看this documentation

p = re.compile('[a-z]+') s = p.search('This is a test') print(s.group(0)) 函数可能会这样做!

   Select name ,
          ed_level ,
          case when ed_level = 18 or ed_level = 20 then Salary + 1200 else 
               salary  end as New_salary,
          case when ed_level = 18 or ed_level = 20 then bonus * 0.5 else bonus 
               end  as new_bonus

   from yourTBL