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

Dan*_*ray 1 python regex

我有下面的字符串

'TOKEN a$dmin\r\n'
Run Code Online (Sandbox Code Playgroud)

我想从中提取价值'a$dmin'.我正在使用

re.findall("(?i)TOKEN (.*)",string)
Run Code Online (Sandbox Code Playgroud)

但我得到的是 'a$dmin\r\n'

我该怎么做呢?

geo*_*org 6

要么匹配str.strip:

re.findall(r"(?i)TOKEN (\S*)", s.strip())
Run Code Online (Sandbox Code Playgroud)

或更改表达式以仅匹配非空格:

re.findall(r"(?i)TOKEN (\S*)", s)
Run Code Online (Sandbox Code Playgroud)

如果你有字面斜杠,如:

s = r'TOKEN a$dmin\r\n'
Run Code Online (Sandbox Code Playgroud)

使用此表达式匹配第一个斜杠之前的所有内容:

re.findall(r"(?i)TOKEN (.*?)\\", s)
Run Code Online (Sandbox Code Playgroud)