【问题标题】:instantly replacing match patterns in sentence with regex python立即用正则表达式 python 替换句子中的匹配模式
【发布时间】:2019-01-29 08:40:23
【问题描述】:

我可以使用什么来条件替换正则表达式 python 中的正则表达式对象,就像这个 javascript 代码一样?

var string = "heLlo, woRlD!";
string = string.replace( /([a-zA-Z])([a-zA-Z]+)/g, function(match, g1, 
g2) {
return g1.toUpperCase() + g2.toLowerCase();
    }); 
console.log( string ); // "Hello, World!"

我想替换句子中的每个模式匹配。在正则表达式模式中,有两个条件,如果我们输出 re.groups,则有 2 个组,我想执行另一个正则表达式操作,然后用原始句子中的匹配部分替换这些新的转换组。它的操作与此 javascript 代码描述的相同,但仅对组的操作不同。你有什么建议吗?

【问题讨论】:

标签: javascript python regex


【解决方案1】:

Javascript 使用(或一位 Javascript 程序员选择使用)正则表达式并不是在 Python 中采用相同方法的好理由。而是查看原始和重新实现的意图。

>>> string = "heLlo, woRlD!"
>>> print (string.title())
Hello, World!

【讨论】:

  • 我想替换句子中的每个模式匹配。在正则表达式模式中,有两个条件,如果我们输出 re.groups,则有 2 个组,我想执行另一个正则表达式操作,然后用原始句子中的匹配部分替换这些新的转换组。它的操作与此 javascript 代码描述的相同,但仅对组的操作不同。你有什么建议吗?
  • 我建议您将所有评论转移到您的问题正文中,并举几个例子。仅通过一个硬编码示例,无法判断出您心中有一个非常普遍的问题。还要记住,可以提供 Python 专家帮助的人可能并不都是 Javascript 向导。您可能需要解释 Javascript 代码的作用。
  • 谢谢。这很难解释,因为我正在用我的语言对句子执行规范化任务。它与这些js脚本完全相同。在匹配的模式(单词)中,我取第一个字符,然后对其余字符执行一些排序。然后将其合并回来并使用新合并的单词作为匹配模式的替换材料。但是如果我不使用替换,那么结果将只是正则表达式匹配的模式。我想在正则表达式操作中忽略句子中的某些字符,但想将它们附加到最终输出。给您带来的不便深表歉意!
  • 请不要在 cmets 中放大您的问题。 编辑您的问题 以包含您第一次没有解释的所有这些内容。响应者不会梳理 cmets 并将它们合成为他们可以回答的问题。他们将继续下一个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-24
  • 1970-01-01
  • 2011-04-01
  • 1970-01-01
  • 2012-05-16
  • 2023-03-26
相关资源
最近更新 更多