标签:匹配 正则表达 单行 usr 数字 encoding 指定 关于 算法
#
:使用井号进行单行注释
Python中貌似没有提供多行注释,不过我们可以利用三引号的多行字符串来进行多行注释
"""
多行注释内容
多行注释内容
......
"""
或者
'''
多行注释内容
多行注释内容
......
'''
在定义函数或类的时候,在缩进之后的第一行使用三引号注释,就是文档字符串
可以使用 __doc__
在之后查看这段字符串
def a():
'''这是文档字符串'''
pass
print(a.__doc__)
#!
指定解释器#! /usr/bin/env python3
带等于号的
# coding=<encoding name>
最常见的,带冒号的(大多数编辑器都可以正确识别的)
#!/usr/bin/python
# -*- coding: <encoding name> -*-
vim的:
#!/usr/bin/python
# vim: set fileencoding=<encoding name> :
精确表达:
更加精确的解释是:
? ? 符合正则表达式:"^[ \t\v]*#.*?coding[:=][ \t]*([-_.a-zA-Z0-9]+)" 就可以;
关于正则表达式的理解:
1."^"表示开始;
2."[ \t\v]"表示匹配制表符\t和垂直制表符\v,*表示匹配0次或者多次,则[ \t\v]*合起来理解就是匹配0次或者多次\t\v;
3."#"匹配#字符,即对应标题的#字符;
4.".*"表示接下来匹配任意字符,".*?"表示以非贪心算法匹配任意字符,对应标题中的“?-*-?”;
5."coding"对应标题中的coding;
6."[:=]"表示接下来的字符是":"或者"="出现的任意多个字符,对应标题中的":";
7.[ \t]*表示接下来匹配0次或者多次\t;标题中表示使用了0次;
8.[-_.a-zA-Z0-9]表示匹配出现'_'字符、小写字母'a至z'、大小字母'A至Z'、数字‘0至9’的任意多的字符,对应标题中的utf-8
9.接下来标题中的"?-*-?"则这个官方表达式没有给出解释,因此这个正则表达式应该是不完整的,我觉得完整的正则表达式可以为:
"^[ \t\v]*#.*?coding[:=][ \t]*([-_.a-zA-Z0-9]+).*$"
标签:匹配 正则表达 单行 usr 数字 encoding 指定 关于 算法
原文地址:https://www.cnblogs.com/wbyixx/p/12123862.html