正则表达式:具有\号

时间:2017-11-16 01:23:21

标签: python regex string

我认为我理解了如何在正则表达式中使用()分组的理论,但我对我在实践中看到的行为感到惊讶。我很感激有更多知识渊博的人解释正在发生的事情。

我的假设是: '^.'将匹配字符串开头的任何字符。这个按预期工作。

'^(.)'在功能上是相同的,但随后我可以抓住一个分组。这符合我的预期。

'^.+'将匹配字符串开头的至少一个字符,并转到结尾(即整个字符串)。这个按预期工作。

^(.)\1'应匹配字符串的前2个字符(如果它们是相同的字符)(即双字母。但是当我运行它时,Python告诉我字符串中没有任何内容匹配。(测试字符串:' eefghijklmnop' - 我认为它会匹配'ee')

'^(.)+'我认为应该抓住它自己组中字符串中的每个字符 - 除了当我运行它时,我只返回一个字符,它是字符串中的最后一个字符?

有人可以解释一下最后3个案件的情况,以及如何让它按照我的意愿去做 - 在这种情况下,在单词的开头查找双字母?

TIA

0 个答案:

没有答案