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

时间:2012-05-24 01:07:32

标签: python regex

我有以下字符串

'TOKEN a$dmin\r\n'

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

re.findall("(?i)TOKEN (.*)",string)

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

我该如何正确地做到这一点?

1 个答案:

答案 0 :(得分:6)

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)