Python 是否可以使用re.search在搜索模式中将切片与正则表达式组合?

Python 是否可以使用re.search在搜索模式中将切片与正则表达式组合?,python,Python,e[1]等于192.168.1.1。我想在此搜索中添加正则表达式,以防止与192.168.11匹配。有人能帮忙吗?我已经有一段时间不同意了。如果我试图在切片后追加任何内容,就会出现语法错误 检索(e[1],'192.168.1.11') 由于e[1]是一个字符串,您可以使用“+”运算符将其添加到其中。例如,您可以添加r'\b'来设置a(注意原始字符串;没有'r'前缀'\b'是一个退格): 你确定你没有把它们倒过来吗?我不太确定我是否理解你的问题。但是您知道“.”(点)与任何字符都匹配吗?也就是说

e[1]等于192.168.1.1。我想在此搜索中添加正则表达式,以防止与192.168.11匹配。有人能帮忙吗?我已经有一段时间不同意了。如果我试图在切片后追加任何内容,就会出现语法错误

检索(e[1],'192.168.1.11')


由于e[1]是一个字符串,您可以使用“+”运算符将其添加到其中。例如,您可以添加
r'\b'
来设置a(注意原始字符串;没有'r'前缀'\b'是一个退格):


你确定你没有把它们倒过来吗?我不太确定我是否理解你的问题。但是您知道“.”(点)与任何字符都匹配吗?也就是说,例如
re.search('1.2.3.4','1a293.4')
将匹配。如果只想匹配“.”,可以在模式中使用
\.
>>> e = ['', '192.168.1.1']
>>> pattern = r'\b' + re.escape(e[1]) + r'\b'  #remember to escape e[1]

>>> re.search(pattern, '192.168.1.11')
>>> re.search(pattern, '192.168.1.1spam')

>>> re.search(pattern, '192.168.1.1').group()
'192.168.1.1'

>>> re.search(pattern, 'spam 192.168.1.1 eggs').group()
'192.168.1.1'

>>> string = '192.168.1.1,192.168.1.11,192.168.1.1'
>>> [x.group() for x in re.finditer(pattern, string)]
['192.168.1.1', '192.168.1.1']