Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中多行注释的正则表达式_Python_Regex_Comments_Multiline - Fatal编程技术网

Python中多行注释的正则表达式

Python中多行注释的正则表达式,python,regex,comments,multiline,Python,Regex,Comments,Multiline,我想用Python为多行注释编写一个正则表达式。我试图在Java中为多行注释修改这个表达式,但我没能做到,因为在Python中,多行注释以不同的方式工作 Java的正则表达式: (/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/)|(//.*) Python中的多行注释示例: ''' comment comment comment comment ''' 或 (从技术上讲,多行字符串!=多行注释。但这不是重点) 正则表达式(['“])\1\1(.*?\1{3

我想用Python为多行注释编写一个正则表达式。我试图在Java中为多行注释修改这个表达式,但我没能做到,因为在Python中,多行注释以不同的方式工作

Java的正则表达式:

(/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/)|(//.*)
Python中的多行注释示例:

''' comment comment
comment comment
'''

(从技术上讲,多行字符串!=多行注释。但这不是重点)

正则表达式
(['“])\1\1(.*?\1{3}
应该可以工作,但请确保使用
re.DOTALL

  • (['“])
    找到一个
    '
    并将其捕获到
    \1
  • \1\1
    再找到两个相同的引号
  • (.*)
    捕获所有内容,直到
  • \1{3}
    再找到三个相同的引号
(从技术上讲,多行字符串!=多行注释。但这不是重点)

正则表达式
(['“])\1\1(.*?\1{3}
应该可以工作,但请确保使用
re.DOTALL

  • (['“])
    找到一个
    '
    并将其捕获到
    \1
  • \1\1
    再找到两个相同的引号
  • (.*)
    捕获所有内容,直到
  • \1{3}
    再找到三个相同的引号

下面的内容可以很好地捕捉python中的多行注释块

\"""(.|[\r\n])*\"""

下面的代码可以很好地捕获python中的多行注释块

\"""(.|[\r\n])*\"""

您似乎混淆了多行字符串文字和多行注释。见a。谢谢你的回复。但这个链接似乎为PHP多行注释的Python正则表达式提供了一个解决方案。见a。谢谢你的回复。但是,这个链接似乎为PHP多行注释的Python正则表达式提供了一个解决方案。感谢您的回复!这个表达式允许换行吗?因为我在这个网站上测试它:它只识别引号是否在同一行。你看到了吗:但是确保你使用re.DOTALL?我把它放在那里是有原因的。使用方法如下:
re.compile(“regex”,re.DOTALL)
感谢您的回复!这个表达式允许换行吗?因为我在这个网站上测试它:它只识别引号是否在同一行。你看到了吗:但是确保你使用re.DOTALL?我把它放在那里是有原因的。用法如下:
re.compile(“regex”,re.DOTALL)