这是我用来尝试被两个字符串分开的代码行。

name = str(re.search(r'/(?<=currencies\/)([^/])+(?=\/#markets|$)/', str(tag)).group(0))


这是我要拆分的字符串。

<a href="/currencies/ripple/#markets" class="price" data-usd="0.303049255753"
 data-btc="8.78557136457e-05">$0.303049</a>


我正在获取/ripple/,但我只想要ripple
我知道我可以只使用.replace(),但是我正在尝试学习正则表达式,因此,如果有人可以将我指向正确的方向,将不胜感激。

最佳答案

您需要将+修饰符放在捕获组内(而不是外部),然后选择组1而不是0:

>>> re.search(r'/(?<=currencies\/)([^/]+)(?=\/#markets|$)/', str(tag)).group(1)
'ripple'

关于python - 正则表达式有多余的斜杠,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53733553/

10-09 20:21