Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将字符串分段为数组,正则表达式?_Python_Regex - Fatal编程技术网

Python 将字符串分段为数组,正则表达式?

Python 将字符串分段为数组,正则表达式?,python,regex,Python,Regex,我有一个字符串,看起来像这样: "[segment1][segment2][segment2]" 我希望能够将字符串拆分为一个数组,这样我就可以得到: Array[0] = "segment1", Array[1] = "segment2", Array[2] = "segment3" 我尝试过使用stringsplit函数,但它似乎并不完全符合我的要求。我想知道是否有人有一些正则表达式可以帮助我 提前感谢您可以使用重新拆分功能: subject = "[segment1][segment2

我有一个字符串,看起来像这样:

"[segment1][segment2][segment2]"
我希望能够将字符串拆分为一个数组,这样我就可以得到:

Array[0] = "segment1", Array[1] = "segment2", Array[2] = "segment3"
我尝试过使用stringsplit函数,但它似乎并不完全符合我的要求。我想知道是否有人有一些正则表达式可以帮助我

提前感谢

您可以使用重新拆分功能:

subject = "[segment1][segment2][segment2]"
reobj = re.compile("[][]+")
result = reobj.split(subject.strip("[]"))
print result
给你:

['segment1', 'segment2', 'segment2']
编辑:添加.strip以避免结果列表的第一个和最后一个元素为空。

您可以使用re.split函数:

subject = "[segment1][segment2][segment2]"
reobj = re.compile("[][]+")
result = reobj.split(subject.strip("[]"))
print result
给你:

['segment1', 'segment2', 'segment2']

编辑:添加了一个.strip以避免结果列表中的第一个和最后一个元素为空。

您可以在不包含第一个和最后一个字符的情况下获取字符串片段,然后在上拆分][:

输出

['segment1', 'segment2', 'segment2']

您可以获取不包含第一个和最后一个字符的字符串片段,然后按][:

输出

['segment1', 'segment2', 'segment2']

此外,根据Tim Pietzcker的回答,您可以使用s.strip'[]'.split'][',使用.strip代替切片[1:-1]。此外,根据Tim Pietzcker的回答,您可以使用s.strip'[]'.split'][',使用.strip代替切片[1:-1]。