Skip to main content
 首页 » 编程设计

python之正则表达式忽略一定数量的字符重复

2024年09月03日25虾米姐

我正在尝试编写一个使用两个字符作为标记边界的解析器,但我无法找出允许我在对整个字符串进行正则表达式转义时忽略它们的正则表达式。

给定一个字符串:

This | is || token || some ||| text 

我想结束:

This \| is || token || some \|\|\| text 

所有的 |除非其中两个在一起,否则都会被转义。

是否有一个正则表达式可以让我转义每个 |那不是一对吗?

请您参考如下方法:

不需要正则表达式。毕竟您正在使用 Python。 :)

>>> s="This | is || token || some ||| text" 
>>> items=s.split() 
>>> items 
['This', '|', 'is', '||', 'token', '||', 'some', '|||', 'text'] 
>>> for n,i in enumerate(items): 
...     if "|" in i and i.count("|")!=2: 
...          items[n]=i.replace("|","\|") 
... 
>>> print ' '.join(items) 
This \| is || token || some \|\|\| text