首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >'$‘正则蟒蛇

'$‘正则蟒蛇
EN

Stack Overflow用户
提问于 2017-12-14 02:14:45
回答 1查看 33关注 0票数 0

我试图了解$在python 3.6的re模块中是如何工作的。

python文档说,'$' Matches the end of the string or just before the newline at the end of the string...,我并不完全理解。

你能给我一些re.match中$功能的基本例子吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-14 02:44:41

$字符始终与输入字符串的末尾匹配。

在多行模式下(例如,当re.M作为标志传递给re函数之一时),它还匹配多行输入的每一行的末尾,就在换行符之前。

你想要一个re.match的例子

代码语言:javascript
复制
some_string = "foo bar baz"
if re.match("foo.*baz$", some_string):
    print("Starts with foo and ends with baz") # this will be printed

这里的模式中的$字符确保匹配的baz发生在输入字符串的末尾。该模式不会匹配像"foo baz bar"这样的字符串,因为即使发生了baz,它也不在输入的末尾。

使用设置了多行标志的re.match调用通常并不有用。相反,更常见的做法是使用类似于re.findall的方法

代码语言:javascript
复制
multi_line_string = """
foo
bar
foobar
barrel"""

for match in re.findall("^bar$", re.M):
    print("bar is whole line") # this will get printed only once

给出的模式中的^$字符确保bar是得到匹配的行的全部内容。没有它们,foobarbarrel也会匹配。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47804902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档