删除以字符串开头的仅包含2-3个单词的行

时间:2019-07-19 05:24:15

标签: regex python-3.x

我需要删除仅以2-3个单词开头的行 嗨/嗨/你好/你好

示例

嗨,马特

我尝试使用以下代码

dropcols = ['Hi','hi','Hello']
dataextract = dataextract[~dataextract['text'].str.contains('|'.join(dropcols))]

但这会删除相关的行,例如 例如-“嗨,马特,您收到我的电子邮件了吗?”

如果行有,我只需要删除它 “嗨,马特”

2 个答案:

答案 0 :(得分:0)

此表达式

_ids = ['123', '234', '345'];

_ids.map(id => {
 await model.remove({ _id:id });  
});

带有 function p() { a("#emi-widget-iframeinner").html('<div class="container-calculator"><form id="emi-formwrapper" class="no-pad"><h2 class="title-emi-calculator">Business Loan EMI Calculator</h2><div id="emi-form"><div class="form-group"> <label for="emi-loanamount" class="control-label">Loan Amount</label> <p class="emi-value">Rs.<span id="emi-principalAmount"></p></span> <div class="input-group"><p class="emi-tooltip tooltip-left">1 lac</p> <p class="emi-tooltip tooltip-right">2 cr</p><input type="range" class="form-control emi-userinput slider" id="emi-loanamount" onchange="principalAmount()" min="100000" max="20000000" value="100000" steps="100000" tabindex="1" placeholder="Loan Amount"/> </div></div></div></div>');``` HTML and JavaScript. <!DOCTYPE html><html><head><title>EMI Calculator Widget</title><meta name="viewport" content="width=device-width, initial-scale=1"/><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><link rel="stylesheet" type="text/css" href="css/bootstrap.min.css"/><link rel="stylesheet" type="text/css" href="css/widget.css"/><script src="js/emicalc-lib.js" type="text/javascript"></script><script src="js/emicalc-main.min.js" type="text/javascript"></script> <script> function principalAmount() { var x = document.getElementById("emi-loanamount").value; document.getElementById("emi-principalAmount").innerHTML = x; } function loanInterest() { var y = document.getElementById("emi-loaninterest").value; document.getElementById("emi-loanInterest").innerHTML = y; } function loanPeriod() { var y = document.getElementById("emi-loanterm").value; document.getElementById("emi-loanPeriod").innerHTML = y; } </script> </head><body><div id="emi-widget-iframeinner"></div></body></html> 可能是一个选项。

^(?=.*\b(?:hi|hello)\b).*$[\r?\n]

输出

re.sub

如果要浏览/简化/修改该表达式,请在this demo的右上角进行解释。

答案 1 :(得分:0)

要匹配以hi / Hi / Hello / hello开头的前2或3个单词,您可以使用可以从字符串中删除的这种模式:

^[hH](?:i|ello)(?: \w+){1,2}

说明

  • ^字符串的开头
  • [hH]匹配h或H
  • (?:i|ello)匹配i或ello
  • (?: \w+){1,2}重复1-2次以匹配一个空格和1个以上的单词字符

Regex demo

如果要匹配所有非空格字符,则可以使用\S+代替\w+