その後、長い文字列の2つのパス間のテキストスニペットを抽出したいと思います。
したがって、私は次のようなものを使用します。
while($data=~ m/\"(.:\\.*?)\".:\\/sg){...}
`\".:\\(.*?)
は"
前のパスです。また、2つのパスの間の部分は任意の文字にすることができるため、次のパスの先頭で正規表現を終了します。\".:\\
残念ながら、このようにコードは常に1つの一致をスキップします。これは、後続の検索が最後の検索の後に開始されるため、次の検索\".:\\
のみが検出されるためだと思います。
検索の位置ポインターが正規表現の最後の部分の前(:の前\".:\\
)に戻されていることを確認するにはどうすればよいですか?
編集:
"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で2つの結果を与えるはずです。
1.1。
y:\car\main.cs@@jung" "Added format of version number to all sub-parts.
"Hallo Peter"
@@@ "tool kit" @@@"
2.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" @@@"
しかし、それは私に最初のものを与えるだけでしょう。