如何在字符串中搜索包括 \n by re.search
how to search in a string includes \n by re.search
我正在使用 python 3.8。我有一个字符串如下:
s="V n :=
v1 5 ;"
我想获取“:=”和“;”之间的字符串(其中包括换行符 (\n))。我 运行 以下命令:
x = re.search(r'n :=(.*?);', s).group(1)
但我收到以下错误:
AttributeError: 'NoneType' object has no attribute 'group'
这意味着它找不到字符串。当我从输入字符串中删除换行符 (\n) 时:
s="V n := v1 5 ;"
运行正常,没有错误!
我该如何解决这个问题?
您希望 re.DOTALL 标志更改为“.”包括“\n”:
x = re.search(r'n :=(.*?);', s, flags=re.DOTALL).group(1)
试试这个:
search(r":=\s*(.*);", s).group(1)
只需使用\s
来匹配换行符和空格。不需要额外的标志。
我正在使用 python 3.8。我有一个字符串如下:
s="V n :=
v1 5 ;"
我想获取“:=”和“;”之间的字符串(其中包括换行符 (\n))。我 运行 以下命令:
x = re.search(r'n :=(.*?);', s).group(1)
但我收到以下错误:
AttributeError: 'NoneType' object has no attribute 'group'
这意味着它找不到字符串。当我从输入字符串中删除换行符 (\n) 时:
s="V n := v1 5 ;"
运行正常,没有错误! 我该如何解决这个问题?
您希望 re.DOTALL 标志更改为“.”包括“\n”:
x = re.search(r'n :=(.*?);', s, flags=re.DOTALL).group(1)
试试这个:
search(r":=\s*(.*);", s).group(1)
只需使用\s
来匹配换行符和空格。不需要额外的标志。