regex - Python-正则表达式语法。查找字符串,删除部分并返回结尾

标签 regex python-3.x

我正在努力解决一些正则表达式语法。

我正在寻找的答案是“橡胶”这个词。我从“橡胶”开始。基本上“ub”已添加在元音之前。为了解密它以将单词返回到“rubber”,我不能只删除任何“ub”组合。我必须寻找“ub + 元音”

import re

text = "rububbuber"
vowels = ["a","e","i","o","u"]
vowel_string = str(vowels)

def decrypt(text):
    decrypted_text = ""
    pattern = re.compile(r'ub'+vowel_string)

我已经成功地能够读取“文本”来识别“ub + 元音”模式。我不知道如何做其余的事情,这是下面的伪代码......

我想迭代“text”中的字符。寻找“ub + 元音”模式。如果字符是常规字符,则将该字符添加到“decrypted_text”。如果函数找到“ub + 元音”模式,则 pop() 元音并将其添加到“decrypted_text”以重建我的最终单词,即“rubber”。

最后一点,我不希望这仅适用于“橡胶”一词。我只知道如何解决这个词。

最佳答案

更复杂的前瞻可以解决它,但我会简单地搜索和捕获 ub+元音,并用捕获的元音替换:

import re

s = "rububbuber"
print(re.sub("ub([aeiou])",r"\1",s))

结果:

rubber

关于regex - Python-正则表达式语法。查找字符串,删除部分并返回结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49864888/

相关文章:

java - 有什么方法可以模仿 python 的端口密码加密?

javascript - JavaScript中字符串匹配的switch语句

JavaScript 正则表达式 : Finding a String that does not contain </p>

c++ - 正则表达式 : group for every found item (PCRE)

python-3.x - Python3 get.requests url 缺少参数

python - 为什么 if else 条件在 python 中执行这两个条件?

java - 使用replaceAll()替换字符串中所有出现的字符

r - 如何只删除单括号并保留成对的

Python smtplib 和 smtputf8 修复的国际化错误

python - 使用 pywin32 获取 GUIThreadInfo()