python - 如何使正则表达式忽略 python 中的新行?

标签 python regex

我就是这样使用正则表达式的

return(\s+([^"\n;]+))?;

为了匹配obj-c中的返回语句,但是当我像这样通过python使用它时:

re.sub(r'return(\s+([^"\n;]+))?;',r'{\g<0>}',str(content))

我发现它像这样匹配

//please {return
[self funcA];}

导致代码错误,我该如何处理?

最佳答案

我认为问题在于您的正则表达式具有匹配任何空格的 \s

您可能只想将文字空格或制表符与 [\t] 匹配:

r'return([ \t]+([^"\n;]+))?;'

( demo ) 或 - 更好:

r'return[ \t]+[^"\n;]*;'

参见 the regex demo

关于python - 如何使正则表达式忽略 python 中的新行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38832239/

相关文章:

Python 替换 Dataframe 字符串中的整个值而不是子字符串

c++ - boost::regex_replace 中两个参数格式函数的问题

python - 返回属性名称 Networkx Python

python - Symbian 应用程序上的 Python 注释用法

python - 我正在尝试打印 scrapy 请求的 301 状态。但是,页面每次都会重定向并显示200

java - 正则表达式通过字符串之间的给定匹配替换字符

Java 正则表达式查找/替换

java - java中单词的简单正则表达式

python - 使用 POST 和 urllib2 访问 Web API

python - 从[-1,1]创建网格,以将共形贴图应用于图像