正则表达式与多行字符串

时间:2013-06-20 12:32:41

标签: python regex

我正在尝试使用正则表达式从项目路径diff文件中获取每个文件的差异。这是:

--- Training/main/1/a   (revision 18 06 2013 06:48)
+++ Training/main/1/a   (revision 18 06 2013 06:48)
@@ -1,1 +0,0 @@
-isdfsdfsdsadasdasd
\ No newline at end of file
--- Training/main/1/abc (revision After)
+++ Training/main/1/abc (revision After)
@@ -0,0 +1,1 @@
+isdfsdfsdsadasdasd
\ No newline at end of file
--- Training/main/1/test.txt    (revision 18 06 2013 06:48)
+++ Training/main/1/test.txt    (revision After)
@@ -1,1 +1,3 @@
-sfaa
\ No newline at end of file
+sfaaasdasssssdsadasdas
+
+test with moving files on depot
\ No newline at end of file

如何创建正则表达式模式以匹配每个文件的差异?例如匹配:

差异1:

--- Training/main/1/a   (revision 18 06 2013 06:48)
+++ Training/main/1/a   (revision 18 06 2013 06:48)
@@ -1,1 +0,0 @@
-isdfsdfsdsadasdasd
\ No newline at end of file

差异2:

--- Training/main/1/abc (revision After)
+++ Training/main/1/abc (revision After)
@@ -0,0 +1,1 @@
+isdfsdfsdsadasdasd
\ No newline at end of file

1 个答案:

答案 0 :(得分:0)

如果可能的话,你可以单独生成差异吗?如果您有权访问存储库,这应该是最简单的解决方案。

否则,您无法通过正则表达式执行此操作 - 任何行都可以从---+++开始。拆分更改的正确解决方案是实际解析diff格式并跳过指定数量的+-行以及每个文件块的可能的其他指示符。