Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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
正则表达式:仅当整数正确时才匹配python中的层次数字_Python_Regex_Match_Hierarchical - Fatal编程技术网

正则表达式:仅当整数正确时才匹配python中的层次数字

正则表达式:仅当整数正确时才匹配python中的层次数字,python,regex,match,hierarchical,Python,Regex,Match,Hierarchical,在Python2.7中,我只想在整数正确时匹配一个层次数字 my_str1 = "10.2.15" my_str2 = "10..2.15" my_str3 = "10.2..15" 我的正则表达式是: pattern = re.compile(r"^\d+\.?\d+\.?\d+") 这与我的\u str1和我的\u str3匹配(但不是整个) 在我的\u str2中,我不希望与我的\u str3相匹配。我需要在正则表达式中更改什么 谢谢。您还需要使用一个字符串结束锚点$,该锚点将强制从字

在Python2.7中,我只想在整数正确时匹配一个层次数字

my_str1 = "10.2.15"
my_str2 = "10..2.15"
my_str3 = "10.2..15"
我的正则表达式是:

pattern = re.compile(r"^\d+\.?\d+\.?\d+")
这与我的\u str1我的\u str3匹配(但不是整个)

我的\u str2中,我不希望与我的\u str3相匹配。我需要在正则表达式中更改什么


谢谢。

您还需要使用一个字符串结束锚点
$
,该锚点将强制从字符串开始(
^
)到字符串结束进行匹配

^\d+\.?\d+\.?\d+$
                ^

如果需要允许可选的
+
数字
序列,请将此版本与分组和:

您可以根据需要调整最小/最大值


请参见

您还需要使用一个字符串结束锚定
$
,该锚定将强制从字符串开始(
^
)到字符串结束进行匹配

^\d+\.?\d+\.?\d+$
                ^

如果需要允许可选的
+
数字
序列,请将此版本与分组和:

您可以根据需要调整最小/最大值

您还可以使用
lookahead
来否定出现
的匹配。请参阅演示

您还可以使用
lookahead
来否定出现
的匹配。请参阅演示


您的预期输出是什么?您的意思是
^\d+(?:\.\d+)*$
您的预期输出是什么?您的意思是
^\d+(?:\.\d+)*$
^(?!.*\.\.)[\d.]+$