2024-05-19 17:38:53 发布
网友
有人能告诉我在下面的Python正则表达式中“\1”是什么意思吗?
re.sub(r'(\b[a-z]+) \1', r'\1', 'cat in the the hat')
谢谢!
\1相当于re.search(...).group(1),正则表达式中的第一个括号分隔的表达式。
\1
re.search(...).group(1)
有趣的是,这也是正则表达式在Python和其他编程语言中比required to be by CS theory慢得多的部分原因。
第一个\1表示第一个组,即第一个括号表达式(\b[a-z]+)
(\b[a-z]+)
从docs\number
\number
“匹配同一号码组的内容。组从1开始编号。例如,(.+)\1匹配“the”或“5555”,但不匹配“thethe”(请注意组后面的空格)
在你的例子中,它是在寻找一个重复的“单词”(好吧,一组小写字母)。
第二个\1是匹配时使用的替换,因此重复的单词将被单个单词替换。
\1是反向引用。 它匹配您方括号中匹配的内容,在本例中是the
the
你基本上是说
猫在帽子里
\1
相当于re.search(...).group(1)
,正则表达式中的第一个括号分隔的表达式。有趣的是,这也是正则表达式在Python和其他编程语言中比required to be by CS theory慢得多的部分原因。
第一个
\1
表示第一个组,即第一个括号表达式(\b[a-z]+)
从docs
\number
“匹配同一号码组的内容。组从1开始编号。例如,(.+)\1匹配“the”或“5555”,但不匹配“thethe”(请注意组后面的空格)
在你的例子中,它是在寻找一个重复的“单词”(好吧,一组小写字母)。
第二个
\1
是匹配时使用的替换,因此重复的单词将被单个单词替换。\1
是反向引用。 它匹配您方括号中匹配的内容,在本例中是the
你基本上是说
猫在帽子里
相关问题 更多 >
编程相关推荐