python - 如何反转正则表达式替换?

标签 python regex

回到这个例子,

Having trouble dealing with similar characters to print different things using regex in Python

我想知道如何反转我所做的正则表达式替换并只打印出原始文本?

也就是说,如果我有

text = "This is my first regex python example yahooa yahoouuee bbbiirdd"

作为我的原始文本,那么它的输出将是:

re.sub text = "tookhookisook isook mookyook fookirooksooktook pookyooktookhookonook..."

然后我希望将该输出转换回原始文本。

我该怎么做?

最佳答案

Python 字符串是不可变的。您没有更改 原始字符串,只是创建了一个新字符串。只保留对原件的引用。

编辑
不可变是指它们的实际值一旦创建就被卡住。

>>> s = "abc"
>>> s[0]
'a'
>>> s[1] = 'd'

Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    s[1] = 'd'
TypeError: 'str' object does not support item assignment
>>> 

在上面的示例中,我可以让变量 s 引用另一个对象,但我分配给它的字符串是常量。因此,当您执行 s.replace() 时,结果是一个 字符串,并且原始字符串没有变化。

>>> s.replace ('a', 'd')
'dbc'
>>> s
'abc'
>>> 

关于python - 如何反转正则表达式替换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15188534/

相关文章:

php - 字符串中的下标数字

python - scrapy中一一选择结果

python - 非均匀分布随机数组

python - 使用 Python 从 Gmail 下载特定电子邮件

python - 在哪里可以使用 python 真实项目作为单元测试部分的示例?

javascript - 如何在不丢失文本格式的情况下替换内容可编辑 div 中部分文本的文本格式

c# - 查询字符串值的 .NET 正则表达式

java - "Empty"Java Pattern 类中的间隔量词

regex - 是否可以在 WiX 中使用正则表达式验证文本字段?

python - 使用 BeautifulSoup 提取特定的 TD 表格元素文本?