如何在python中找到以[local]开头并以#结尾的中间字符串

时间:2016-10-20 13:59:24

标签: python

import re
line = '[local]SEPCF004#'
middle_str = re.search('[local](.+?)#', line).group(1)

当我使用上面的正则表达式代码时,[local]不会处理字符串。 我的要求是,我想找出以[local]开头并以#结尾的字符串。

3 个答案:

答案 0 :(得分:1)

你可以简单地使用这个

(?<=\[local\]).*?(?=#)

使用re.findall。

参见演示。

https://regex101.com/r/1TxF6I/1

x='[local]SEPCF004#'
print re.findall(r"(?<=\[local\]).*?(?=#)", x)

输出:

['SEPCF004']

答案 1 :(得分:0)

你期待这个吗?

import re 
line = '[local]SEPCF004#' 
middle_str = re.search('\[local\](.*)#', line).group(1)
middle_str

Output :
'SEPCF004'

答案 2 :(得分:0)

下面的代码应该这样做,它会尝试匹配[local]和#

之间的任何内容(包括空格或空格)
middle_str = re.search('\[local\](.*)#', line).group(1)