Python 正则表达式(\..+)?

标签 python regex

我对以下 Python 正则表达式的语义感到困惑:

r"/actors(\\..+)?"

我查看了关于正则表达式的 Python 文档部分,但无法理解这个表达式。有人可以帮帮我吗?

最佳答案

/        # literal /
actors   # literal actors
(        # starting a subpattern
\\       # (escaped) literal  \
.        # arbitrary character
.+       # 1 or more arbitrary characters
)?       # ends the subpattern and makes it optional

这意味着,它匹配正斜杠、“ Actor ”,然后是可选的反斜杠和 2 个或更多任意字符。

我想这里有一个错字。要么字符串不应该被标记为原始字符串,要么有一个反斜杠太多。在这两种情况下,都会有转义的 . 而不是转义的 \ 后跟任意字符。这反过来会匹配文件,称为 actors 具有任意或缺少文件扩展名。

所以 "/actors(\\..+)?"r"/actors(\..+)?"

关于Python 正则表达式(\..+)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13021093/

相关文章:

python - 我的 Python if else 语句有什么问题?

python - 在Mac上创建应用程序时无法启用Python虚拟环境

python - 如何将 Enter 键绑定(bind)到 Tkinter 中的按钮

php - 正则表达式用于检测同一字符五次以上?

mysql - mysql 中的正则表达式 - 查找包含所有关键字(AND 运算符)的字符串

regex - R 正则表达式 : issues with character vectors containing NAs

python - Django:或与多个语句

python - django 中 migrate 和 syncdb 命令的区别?

javascript - 数据表清除搜索输入和正则表达式

javascript - 正则表达式,/(?!^)/g 是什么意思?