正则表达式在python中不起作用
为什么这在Python中不起作用正则表达式在python中不起作用,python,regex,Python,Regex,为什么这在Python中不起作用 x=re.match('/^([a-z]){3}$/','ssw') 我试图检查长度为3且只有小写字母的字符串。我遗漏了什么吗?请建议。您在python中不使用分隔符 x=re.match('^([a-z]){3}$','ssw') 此外,原始正则表达式字符串始终是一个好习惯: x=re.match(r'^([a-z]){3}$','ssw') 捕获组不太合理。如果只想测试匹配项,请删除它们: x=re.match(r'^[a-z]{3}$','ssw')
x=re.match('/^([a-z]){3}$/','ssw')
我试图检查长度为3且只有小写字母的字符串。我遗漏了什么吗?请建议。您在python中不使用分隔符
x=re.match('^([a-z]){3}$','ssw')
此外,原始正则表达式字符串始终是一个好习惯:
x=re.match(r'^([a-z]){3}$','ssw')
捕获组不太合理。如果只想测试匹配项,请删除它们:
x=re.match(r'^[a-z]{3}$','ssw')
如果要捕获所有三个字母,请将量词放入:
x=re.match(r'^([a-z]{3})$','ssw')
因为现在,如果有匹配项,捕获组将只包含最后一个字母。将
{3}
放在捕获组中,并删除前斜杠
^([a-z]{3})$
你的代码是
x=re.match(r'^([a-z]{3})$','ssw')
>>> x
<_sre.SRE_Match object at 0x7f13bfdf98a0>
>>> x.group()
'ssw'
x=re.match(r'^([a-z]{3})$,'ssw')
>>>x
>>>十、集团()
“ssw”
仅当输入包含3个小写字母时,它才会捕获输入。字符“^”和“$”在python中是元字符,因此:
x=re.match('^([a-z]){3}$','ssw')
x.group(0)
如果要匹配“^”和“$”字符,需要对其进行转义:
x=re.match('/\^([a-z]){3}\$/', '/^ssw$/')
x.group(0)
“绘制”正则表达式字符串有什么作用?非常感谢您的帮助。@xander它可以防止一些替换。例如,
r'\ba\b'
将正确匹配字母单词a
。但是'\ba\b'
将失败,因为\b
首先被解释为“反斜杠”字符。