我在正则表达式非常微弱,现在我调试一些代码,该代码与像一个表达式搜索字符串:这个正则表达式是什么意思?
r"coding[:=]\s*([-\w.]+)"
它寻求什么样的绳子吗?
对我来说,这似乎符合这样的:
coding= xxxxx
,但我不知道的神秘字符的确切含义。任何人都可以更详细地解释一下吗?
我在正则表达式非常微弱,现在我调试一些代码,该代码与像一个表达式搜索字符串:这个正则表达式是什么意思?
r"coding[:=]\s*([-\w.]+)"
它寻求什么样的绳子吗?
对我来说,这似乎符合这样的:
coding= xxxxx
,但我不知道的神秘字符的确切含义。任何人都可以更详细地解释一下吗?
让我们打破这:
coding
:文字文本匹配,只有两个字“编码”会做[:=]
:字符组,一个冒号“:”或等号“=”匹配\s*
:0或更多空白字符;空格和制表符,但如果这样配置,也可以匹配换行符。(..)
:匹配组,该内容将作为匹配组用于进一步处理。[-\w.]+
:组中的一个或多个字符,匹配短划线“ - ”,点“。”。或任何单词字符; \w
是通常匹配字母'a'到'z'(大写和小写),数字'0'到'9'和下划线“_”的字符类。如果您打开unicode支持(默认情况下在Python 3中启用),但\w
类捕获了更多。任何在Unicode数据库中被分类为字母数字的字符都会匹配。匹配
实例:
foobar320_42spam_eggs
something-or-other
whatever.42
为正则表达式的示例表达式http://rubular.com/r/cqE6HTD8Vb
它将匹配以下内容:
coding
+的:
一个或=
+零个或多个空格(\s
=空格,制表符,任何空白字符)+一些文字,也可能包含.
和-
。