在Python中从第一个数字字符开始拆分字符串
我需要以这种方式管理Python中的字符串:在Python中从第一个数字字符开始拆分字符串,python,regex,Python,Regex,我需要以这种方式管理Python中的字符串: 我有一个带有“>=”、“=”、“的字符串,您可以使用以下正则表达式进行拆分: (?<=[<>=])(?=\d) 您可以使用以下正则表达式进行拆分: (?<=[<>=])(?=\d) 产出: ('>=', '1_2_3') ('<', '2_3_2') 这只是将所有内容分组,直到一个组中的第一个数字,然后将第一个数字和之后的所有内容合并为第二个数字 您可以使用mat.group1、mat.group
我有一个带有“>=”、“=”、“的字符串,您可以使用以下正则表达式进行拆分:
(?<=[<>=])(?=\d)
您可以使用以下正则表达式进行拆分:
(?<=[<>=])(?=\d)
产出:
('>=', '1_2_3')
('<', '2_3_2')
这只是将所有内容分组,直到一个组中的第一个数字,然后将第一个数字和之后的所有内容合并为第二个数字
您可以使用mat.group1、mat.group2访问各个组
产出:
('>=', '1_2_3')
('<', '2_3_2')
这只是将所有内容分组,直到一个组中的第一个数字,然后将第一个数字和之后的所有内容合并为第二个数字
您可以使用mat.group1、mat.group2访问各个组。可能有更好的方法,但您可以使用捕获进行拆分,然后连接后两个元素:
values = re.split(r'(\d)', '>=1_2_3', maxsplit = 1)
values = [values[0], values[1] + values[2]]
可能有更好的方法,但您可以使用捕获进行拆分,然后加入后两个元素:
values = re.split(r'(\d)', '>=1_2_3', maxsplit = 1)
values = [values[0], values[1] + values[2]]
这将有助于:
re.split(r'(^[^\d]+)', string)[1:]
例如:
>>> re.split(r'(^[^\d]+)', '>=1_2_3')[1:]
['>=', '1_2_3']
>>> re.split(r'(^[^\d]+)', '<2_3_2')[1:]
['<', '2_3_2']
这将有助于:
re.split(r'(^[^\d]+)', string)[1:]
例如:
>>> re.split(r'(^[^\d]+)', '>=1_2_3')[1:]
['>=', '1_2_3']
>>> re.split(r'(^[^\d]+)', '<2_3_2')[1:]
['<', '2_3_2']