当前位置: 首页 > 面试题库 >

Python-在字符串中找到正则表达式匹配项的位置?

谷梁裕
2023-03-14
问题内容

我目前正在使用正则表达式搜索RSS提要,以查找是否提到了某些单词和短语,然后想在匹配的任一侧提取文本。例如:

String = "This is an example sentence, it is for demonstration only"
re.search("is", String)

我想知道找到“ is”匹配项的位置,以便提取并输出如下内容:

1 match found: "This is an example sentence"

我知道拆分很容易,但是我需要知道字符串中匹配的第一个字符的索引是什么,我不知道该怎么找到


问题答案:

您可以使用.find("is"),它将返回字符串中“ is”的位置

或从重新使用.start()

>>> re.search("is", String).start()
2

实际上,它的匹配“是”来自“ Th

如果需要每个单词匹配,则应\b在“ is”之前和之后使用,\b即单词边界。

>>> re.search(r"\bis\b", String).start()
5
>>>

有关python正则表达式的更多信息,请参见此处的文档



 类似资料:
  • 问题内容: 我在尝试将我的javascript regex经验转移到Python时遇到了麻烦。 我只是想让它工作: …但是它打印无。如果我做: 它匹配…默认情况下是否匹配字符串的开头?当匹配时,如何使用结果? 我如何进行第一场比赛?是否有比python网站提供的文档更好的文档? 问题答案: 隐式添加到您的正则表达式的开头。换句话说,它仅在字符串的开头匹配。 将在所有位置重试。 一般来说,建议您在需

  • 本文向大家介绍Python正则表达式匹配字符串中的数字,包括了Python正则表达式匹配字符串中的数字的使用技巧和注意事项,需要的朋友参考一下 1.使用“\d+”匹配全数字 代码: 结果: ['479', '501', '870', '209', '213', '650'] 但是上述这种方式也会引入非纯数据,例子如下: 结果: ['479', '501', '870', '209', '213',

  • 问题内容: 有没有办法找出Python字符串中某个正则表达式的匹配项?例如,如果我有字符串 我想知道字符串中出现了多少次。在该字符串中,出现两次。我希望函数告诉我它出现了两次。这可能吗? 问题答案: 现有的基于解决方案的解决方案适用于非重叠匹配(毫无疑问是最佳的,可能是因为匹配数量巨大),尽管诸如(避免在您只关心计数时实现列表)的替代方案也很可能。某种特质将使用并忽略结果字符串…: 如果您只想数数

  • 问题内容: 我已经阅读了Stackoverflow上的其他问题,但还没有结束。抱歉,如果已经可以回答,但是我没有任何建议在那里工作。 一切都很好,然后我尝试使用其中包含挪威字符的内容(或更像unicode的内容): 如何匹配øæå等典型的unicode字符?我希望能够同时在上述标记组和文件名标记组中匹配这些字符。 问题答案: 您需要指定标志, 并 使用前缀将您的字符串输入为Unicode字符串:

  • 问题内容: 我在用Python将字符串中的数字匹配时遇到麻烦。尽管应该明确匹配,但甚至不匹配 或仅匹配。我的监督在哪里? 问题答案: 阅读文档:http : //docs.python.org/2/library/re.html#re.match 如果在零个或多个字符 开头 的 字符串 您要使用(或)

  • 问题内容: 我会在开头提到这个问题,尽管我离正则表达式专家很远,但是它们对我来说并不完全陌生。对于我来说,构建正则表达式来搜索特定字符串中的模式通常不是问题,但是我有一个(也许是?)独特的情况。 我有一组价值观,例如: 028938 DEF567987 390987.456 GHI345928.039 我想匹配一组特定的字符串,例如: 完全由6位数字组成的字符串 字符串,由正好6位数字,十进制组成