Python中的特殊字符模式匹配

时间:2014-01-24 14:27:52

标签: python regex string

我必须在给定字符串中匹配此模式[**],但它没有给出准确的结果。

import re
str1 = '[**] [1:123:43] hello madam [**]'
m1 = re.match('/[/*/*/] .*', str1)

请帮助!!

1 个答案:

答案 0 :(得分:2)

使用反斜杠(\)来转义元字符,而不是正斜杠(/):

>>> import re
>>> str1 = '[**] [1:123:43] hello madam [**]'
>>> m1 = re.match(r'\[\*\*\] .*', str1)
>>> m1
<_sre.SRE_Match object at 0x0000000002898100>
>>> m1.group()
'[**] [1:123:43] hello madam [**]'

顺便说一下,使用r'raw string literal',你不需要自己反斜杠。


如果您只想检查字符串是否以[**]开头,请使用str.startswith

>>> str1.startswith('[**]')
True