当前位置: 首页 > 知识库问答 >
问题:

捕获关键字之后和换行之前的文本

穆远
2023-03-14

我试图捕获关键字company:后面的文本,一直到行的结尾。我花了很多时间在堆栈交换和在线regex测试人员上,试图找到正确的组合。

我非常接近,但我的输出继续捕获新的行。regex101.com声明.*?匹配任何字符(换行符除外)。我很难理解为什么它总是捕获换行符。

下面是我正在搜索的文本的一个片段:

Blahblahlah\n公司:BALDWIN LINE CONST OF MD Inc\n联系人姓名:STEVE SMITH传真:(000)0000\n联系人电话:(000)0000\n

这是密码

sCompany = re.compile(r'(?<=Company : )(.+?)(?=Contact)')
m = re.search(sCompany,msgBody)

如有任何帮助,我们将不胜感激。

共有1个答案

沃阳飙
2023-03-14

我不确定您为什么要使用regex(也许您的问题或text/dataSet比您提供的更复杂/更长),但您要解决的问题可以在一行中轻松解决:

newmsgBody = [x.strip() for x in msgBody.split('\n') if x.startswith('Company')][0]
print(newmsgBody)
 类似资料:
  • 问题内容: 我目前有这个查询 我添加了一项新功能,可让您轻松导航到上一个或下一个项目。有没有一种简单的方法可以修改上面的查询,以便它提取上一行,当前行和下一行?还是仅执行另一个查询会更容易? 问题答案: 您可以使用子查询来获取previos和下一条记录的ID:

  • 问题内容: 有人可以举例说明在ElasticSearch中关键字和文本之间的区别吗? 问题答案: 关键字 类型:如果您将一个字段定义为像这样的关键字类型。 然后,当您对该字段进行搜索查询时,您必须插入整个值(关键字搜索),即关键字字段。 当您执行这样的搜索时: 它将不匹配任何文档。您必须搜索整个词“洗衣机”。 *另一方面,将分析 *文本 类型,您可以使用字段值中的标记进行搜索。 全文搜索 : 和搜

  • 这里有一个正则表达式。试试下面的字符串,我面临的问题是,在第一个组之后,每个捕获组的开头都有一个额外的空格。我需要匹配空白,但不需要捕捉它们。 正则表达式: 在上面的链接上查看它会使理解变得更简单。 这些是您可以一个接一个地粘贴到测试字符串区域中的一些字符串: 查看匹配组区域,注意在第1组之后,组之间的前1个空格被捕获。 我想做的是: 对于第一个和第二个捕获组,我希望他们检测到一个后续空间并吸收它

  • 问题内容: 我正在尝试打印,并且该方法在我遇到这种情况之前效果很好。假设我要打印之前,仅在第一页(不是标题)中打印文本“ Report”,最后在文本中打印“ This is the report end”。我想再次澄清一下,我在打印时不需要仅此页眉或页脚出现在第一页的顶部和最后一页的底部。 我怎样才能做到这一点? 问题答案: 要做到这一点的方法之一是一系列适合的一个实例,如图所示这里。 附录:有一

  • 在我的Android项目中,我必须将TextChangedListener(TextWatcher)添加到编辑文本视图中。它有三个部分: < Li > < code > ontext changed() < Li > < code > beforeTextChanged() < Li > < code > afterTextChanged() 这三个有什么区别?我必须在键侦听器上实现一个表搜索,对

  • 问题内容: 我很难理解将BEFORE和AFTER放在嵌套诺言之间的区别。 选择1: 选择2: 每个函数的行为如下,如果号码是test1的失败,如果号码是test2的失败,如果数量不TEST3失败。在这种情况下,test2仅失败。 我试图运行并使test2Async失败,然后在执行之前和之后都以相同的方式运行,并且未执行test3Async。有人可以向我解释在不同地方放置渔获物的主要区别吗? 在每个