Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex pylint错误地将常量名称标识为C0103,不符合常量rgx表达式_Regex_Python 3.x_Pylint_Pylintrc - Fatal编程技术网

Regex pylint错误地将常量名称标识为C0103,不符合常量rgx表达式

Regex pylint错误地将常量名称标识为C0103,不符合常量rgx表达式,regex,python-3.x,pylint,pylintrc,Regex,Python 3.x,Pylint,Pylintrc,为了使Pythonian更具Pythonian性,我已经对python代码进行了一段时间的lint,为此,我一直在使用pylint来帮助识别有问题的代码块。然而,现在我遇到了一种奇怪的错误,pylint将格式正确的常量名称标记为不符合提供的正则表达式 最初,常量名为main,它应该与regex[a-z\\][a-z0-9\\\\\]{2,30}$匹配,但我还是收到了违反约定的消息。我尝试将常量更改为run\u main,没有任何更改。我甚至尝试将正则表达式更改为[\\\\\\][a-z0-9\\

为了使Pythonian更具Pythonian性,我已经对python代码进行了一段时间的lint,为此,我一直在使用pylint来帮助识别有问题的代码块。然而,现在我遇到了一种奇怪的错误,pylint将格式正确的常量名称标记为不符合提供的正则表达式

最初,常量名为
main
,它应该与regex
[a-z\\][a-z0-9\\\\\]{2,30}$
匹配,但我还是收到了违反约定的消息。我尝试将常量更改为
run\u main
,没有任何更改。我甚至尝试将正则表达式更改为
[\\\\\\][a-z0-9\\\]{2,30}$\124;[a-z][\\\\\\\][a-z0-9\\\\\\{2,30}$
,但违反约定的情况仍然存在。我已经尝试在几个正则表达式测试站点上测试这些表达式,以确保我没有弄错。这是pylint中的一个bug还是我遗漏了一些明显的东西

该常数在以下代码块中定义:

if __name__ == "__main__":
javabridge.start_vm(class_path=bf.JARS)
run_main = mainInterface()
我的pylintrc文件的相关部分是:

# Naming style matching correct constant names
#const-naming-style=

# Regular expression matching correct constant names. Overrides const-naming-
# style
const-rgx='[\_][a-z0-9\_]{2,30}$|[a-z][\_][a-z0-9\_]{2,30}$'
这将产生以下输出:

393,4,convention,C0103:Constant name "run_main" doesn't conform to "'[\\_] 
[a-z0-9\\_]{2,30}$|[a-z][\\_][a-z0-9\\_]{2,30}$'" pattern ("'[\\_][a-z0- 
9\\_]{2,30}$|[a-z][\\_][a-z0-9\\_]{2,30}$'" pattern)

Pylint希望在最外层范围内分配的任何变量都是大写的。将其命名为MAIN将删除警告

仅供参考:
\uu
是一个字字符,您不需要对其进行转义。@WiktorStribiżew我是从pylint生成的pylintrc文件编辑的,该文件包含原始序列,因此我认为这是必要的。但是很高兴知道,谢谢。为什么你不能简单地使用-
r'[\u]?[a-z0-9\\u]{2,30}$'
?可选下划线,后跟alhapnum_。这个正则表达式也有一个小问题,它可能匹配20_main之类的东西,这是无效的。所以像
r'[]?[a-z][a-z0-9'{1,30}$'
这样的东西会更接近你想要的want@gabhijit这也不管用。我仍然收到相同的C0103消息。可能有意思的是,注释掉
const rgx
并设置
const naming style=any
将抑制消息,代价是丢失对常量的样式检查。如果是这种情况,那么消息不是错了吗?我看不出这在短信中是多么明显。