gpt4 book ai didi

python - 如何将 re.split 中的分隔符保留在返回列表的同一索引上

转载 作者:行者123 更新时间:2023-11-30 22:45:48 24 4
gpt4 key购买 nike

当使用re.split()时我知道如何在分割结果中保留分隔符,是使用 ()捕获组。

但我有一个问题,这是我的正则表达式 (<br>*\s*[a-z]+)这是字符串

Attribute Information:</b><br>Listing of attributes:<br>&gt;50K, <br>age: continuous.<br>workclass: Private, Self-emp-not-inc, Self-emp-inc, Federal-gov, Local-gov, State-gov, Without-pay, Never-worked.<br>fnlwgt: continuous.

split返回的结果为

[u'<br>age', u': continuous.\r', u'<br>workclass', u': Private, Self-emp-not-inc, Self-emp-inc, Federal-gov, Local-gov, State-gov, Without-pay, Never-worked.\r', u'<br>fnlwgt',   u': continuous.\r']

意味着这两个都在不同的索引上 [u'<br>age', u': continuous.\r']

我希望它们位于相同的索引 [u'<br>age: continuous.\r'

编辑

实际上我正在抓取这部分 enter image description here来自此网址http://archive.ics.uci.edu/ml/datasets/Adult我想得到 age: continuous.fnlwgt: continuous.所有这些都在列表内的单独元素中

最佳答案

您似乎想在 <br> 上进行拆分后跟 0 个以上空格和 1 个以上字母或连字符。

您需要将模式的一部分转变为非消耗子模式,积极的前瞻:

r'<br>(?=\s*[A-Za-z-]+:)'
^^^^^^^^^^^^^^^^^

请参阅regex demo

一个(?=\s*[a-zA-Z-]+:) ,是zero-width assertion ,不消耗(=将文本放入匹配中) <br> 之后的子字符串满足 \s*[a-z-]+:模式,但要求它出现在那里。

关于python - 如何将 re.split 中的分隔符保留在返回列表的同一索引上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41098782/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com