正则表达式和特殊字符本身

时间:2012-08-13 00:35:57

标签: python regex

我想将&字符替换为and,但仅限于&本身。我在 Python 2.7.3

中尝试以下操作
import re
re.sub('&', 'and', '& r&b')

我得到and randb,但我想要的是and r&b

re.sub('\b&\b', 'and', '& r&b')

也不起作用。有什么建议?另外,如果我只想要一个普通字符和特殊字符的独特组合,如果我想要a&b,而不是a&bc,那么表达式是什么?

在类似的问题中找不到答案,所以提前谢谢!

2 个答案:

答案 0 :(得分:3)

不知道“本身”是什么意思。顺便说一句,没人知道正则表达式意味着什么。

Ror你的具体例子,

搜索(^| )&( |$)
替换$1and$2

虽然不知道Python。

编辑:在Python中

import re
re.sub('(^| )&( |$)', r'\1and\2', '& r&b')

答案 1 :(得分:1)

&安培;被视为非单词字符。所以只需使用这个简单的替换。

注意:这适用于普通文本中的大多数常见情况。

>>> re.sub(r" & ", " and ", " & r&b")
' and r&b'