Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.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_String_Text - Fatal编程技术网

Python 如果整个字符串不';不匹配

Python 如果整个字符串不';不匹配,python,regex,string,text,Python,Regex,String,Text,这里有点雷格士新手。 我有这个字符串: year\u随附_txt='foo 1999'和 仅年份='1999' 我想省略任何4个连续数字。 当我这样做时: re.sub(r'^[0-9]{4}$','',仅限年份) 或 re.sub(r'^\d{4}$','',仅限年份) 它起作用了。但是,如果中有其他文本,则不会: re.sub(r'^[0-9]{4}$','',年份,带txt) 或 re.sub(r'^\d{4}$','',年份,带txt) 有什么建议吗?原因是您的^和$代币。这些分别指字符

这里有点雷格士新手。 我有这个字符串:

year\u随附_txt='foo 1999'

仅年份='1999'

我想省略任何4个连续数字。 当我这样做时:

re.sub(r'^[0-9]{4}$','',仅限年份)

re.sub(r'^\d{4}$','',仅限年份)

它起作用了。但是,如果中有其他文本,则不会:

re.sub(r'^[0-9]{4}$','',年份,带txt)

re.sub(r'^\d{4}$','',年份,带txt)


有什么建议吗?

原因是您的
^
$
代币。这些分别指字符串的开始和结束

re.sub(r'\d{4}','',年份随txt)

输出:

“foo”


注意:您使用txt将字符串定义为
year\u,但在代码的其余部分将其称为带有文本的
year\u,原因是您的
^
$
标记。这些分别指字符串的开始和结束

re.sub(r'\d{4}','',年份随txt)

输出:

“foo”


注意:您使用txt将字符串定义为
year\u
,但在代码的其余部分将其称为
year\u with\u text

为什么要将其标记为
r
?老实说,我不打算这么做。但是stackoverflow按照建议给它加了标签。抱歉:)简短回答:它只匹配年份,因为你告诉它只匹配年份。这到底是为什么标记为
r
?老实说,我不打算这么做。但是stackoverflow按照建议给它加了标签。抱歉:)简短回答:它只匹配年份,因为您告诉它只匹配年份。