我想随后提取长字符串中两个路径之间的文本片段。
因此,我使用这样的东西:
while($data=~ m/\"(.:\\.*?)\".:\\/sg){...}
`\".:\\(.*?)
是一条带"
前的路径。而且,由于两条路径之间的部分可以是任何字符,因此我以下一条路径的开头结束正则表达式:\".:\\
不幸的是,代码总是跳过一个匹配项。我相信,这是因为后续搜索将在最后一个之后开始\".:\\
,因此它只会找到下一个。
我如何确保搜索的位置指针设置回正则表达式的最后一部分之前(之前\".:\\
:)
编辑:
"y:\car\main.cs@@jung" "Added format of version number to all sub-parts.
"Hallo Peter"
@@@ "tool kit" @@@"
"y:\car\main.cs@@kkla" (lkaskdn awdiwj)
"The filter "function of the new version works with Excel 2007"only,
but is the correct filter structure.
@@@ "Huihu boy" @@@"
这个文件应该在 $1 中给我两个结果:
1.
y:\car\main.cs@@jung" "Added format of version number to all sub-parts.
"Hallo Peter"
@@@ "tool kit" @@@"
2.
y:\car\main.cs@@kkla" (lkaskdn awdiwj)
"The filter "function of the new version works with Excel 2007"only,
but is the correct filter structure.
@@@ "Huihu boy" @@@"
但它只会给我第一个。