Python 如何防止在正则表达式匹配中出现多余的换行符?

Python 如何防止在正则表达式匹配中出现多余的换行符?,python,regex,Python,Regex,我有下面的绳子 'TOKEN a$dmin\r\n' 我想从中提取值'a$dmin'。我正在使用 re.findall("(?i)TOKEN (.*)",string) 但是我得到的是'a$dmin\r\n' 如何正确执行此操作?匹配str.strip: re.findall(r"(?i)TOKEN (\S*)", s.strip()) 或将表达式更改为仅匹配非空格: re.findall(r"(?i)TOKEN (\S*)", s) 如果您有文字斜杠,如: s = r'TOKEN a$

我有下面的绳子

'TOKEN a$dmin\r\n'
我想从中提取值
'a$dmin'
。我正在使用

re.findall("(?i)TOKEN (.*)",string)
但是我得到的是
'a$dmin\r\n'


如何正确执行此操作?

匹配
str.strip

re.findall(r"(?i)TOKEN (\S*)", s.strip())
或将表达式更改为仅匹配非空格:

re.findall(r"(?i)TOKEN (\S*)", s)
如果您有文字斜杠,如:

s = r'TOKEN a$dmin\r\n'
使用此表达式匹配第一个斜杠之前的所有内容:

re.findall(r"(?i)TOKEN (.*?)\\", s)

str.strip
匹配:

re.findall(r"(?i)TOKEN (\S*)", s.strip())
或将表达式更改为仅匹配非空格:

re.findall(r"(?i)TOKEN (\S*)", s)
如果您有文字斜杠,如:

s = r'TOKEN a$dmin\r\n'
使用此表达式匹配第一个斜杠之前的所有内容:

re.findall(r"(?i)TOKEN (.*?)\\", s)

+我没有意识到这包括我的解决方案以及其他好的解决方案。或者你可以在string.strip()上运行正则表达式。。。(除非它们是字面上的反斜杠,我对此表示怀疑)。我想第一个解决方案中的
split
应该是
strip
?+1没有意识到这包括了我的解决方案以及其他好的解决方案。或者你可以在string.strip()上运行正则表达式。。。(除非它们是字面上的反斜杠,我对此表示怀疑)。我想在第一个解决方案中,
split
应该是
strip
?您不会得到
'a$dmin\r\n'
。您得到的是
'a$dmin\r'
,对吗?不,我在最后得到了\r\n。我发现这很难相信(在这里无法复制),因为正则表达式点与换行符明显不匹配。这是哪个Python版本?您可以复制/粘贴Python shell中显示此行为的相关部分吗?只是为了发出咯咯的笑声,字符串是以回车符和换行符结尾,还是以四个字符的文字序列结尾
\r\n
?这是回车符和换行符,请不要在n00bs处咯咯地笑:)您不会得到
'a$dmin\r\n'
。您得到的是
'a$dmin\r'
,对吗?不,我在最后得到了\r\n。我发现这很难相信(在这里无法复制),因为正则表达式点与换行符明显不匹配。这是哪个Python版本?您可以复制/粘贴Python shell中显示此行为的相关部分吗?只是为了发出咯咯的笑声,字符串是以回车符和换行符结尾,还是以四个字符的文字序列结尾
\r\n
?这是回车符和换行符,请不要在n00bs:)