python - 我应该使用什么模式来替换零和一作为指数?

标签 python regex

我正在尝试在 binomial 表达式中使用 regex替换某些值,以替换等同于确定的常量<的值/em> x 以数字 10 为指数,示例:binomial = "625x^4+1500x^3 +1350x^2+540x^1+81x^0"

这是我正在使用的模式:r'[a-z][^][0]'

但它没有返回所需的值 "625x^4+1500x^3+1350x^2+540x+81"

我应该使用什么模式来将 'x^1''x^0' 替换为空字符或 null 字符,例如 ''?

最佳答案

你可以使用这个正则表达式:

x\^([01])\b

将匹配 x^ 后跟 01,并使用将返回 x 的替换函数进行替换code> 如果指数是 1,否则什么都没有:

binomial = "625x^4+1500x^3+1350x^2+540x^1+81x^0"
res = re.sub(r'x\^([01])\b', lambda m:'x' if m.group(1) == '1' else '', binomial)

输出:

625x^4+1500x^3+1350x^2+540x+81

关于python - 我应该使用什么模式来替换零和一作为指数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74083518/

相关文章:

python - Pandas read_csv : ignore trailing lines with empty data

python - 如何对二维列表进行排序?

python - 如何知道python中生成器中可迭代对象的数量

c++ - Boost C 正则表达式 - 如何返回所有匹配项

javascript - 匹配 JavaScript 代码中注释字符串之间的文本

javascript - JS 正则表达式不返回所有匹配的组

python - 是否可以可移植确定 Python 中 off_t 的适当映射以用于 ctypes?

python - 将 IPython 笔记本导出到 reveal.js 时如何分隔幻灯片?

javascript - 为什么这个正则表达式在 Python 和 Javascript 中给出两个不同的结果?

正则表达式检查一组字符的不重复