<p>我需要以下模式的帮助,我现在挣扎了很多小时。
我有这样一段文字:</p>
<pre><code><<12/24/2015 00:00 userrrr>>
********** Text all char and symbols ************
<<12/24/2015 00:00 CET userr>>
Text all char and symbols
<<12/24/2015 00:00 GMT+1 userrrr>> Text in same line
<<12/24/2015 00:00 CET userrr>>
Text all characters and symbols
<<12/24/2015 00:00 GMT+1 userrrrrrr>> Text in same line
More Text all characters and symbols
<<12/24/2015 00:00 CET userrrrr>>
More text all characters and symbols
<<12/24/2015 00:00 CET userrrrrrrrrrr>>
More Text all characters and symbols
</code></pre>
<p>通过使用模式:</p>
<pre><code>(\<<)(\d{2}/\d{2}/\d{4}\s\d{2}:\d{2})(.*?(?=>>))(>>)
</code></pre>
<p>日期时间和箭头之间的所有内容都是匹配的没错。很不幸,
我找不到一种方法来提取文本之间的模式。模式最后一组应该像(左箭头),(日期时间),(用户),(右箭头),(文本)这样。我越接近它,就使用:</p>
<pre><code>(\<<)(\d{2}/\d{2}/\d{4}\s\d{2}:\d{2}\s\D{3}.*?(?=\s))\s(.*?(?=>>))(>>)((?s).*?(?=<<\d{2}/\d{2}))
</code></pre>
<p>但它与第一个和最后一个不匹配。<a href="http://pythex.org/?regex=(%5C%3C%3C)(%5Cd%7B2%7D%2F%5Cd%7B2%7D%2F%5Cd%7B4%7D%5Cs%5Cd%7B2%7D%3A%5Cd%7B2%7D%5Cs%5CD%7B3%7D.*%3F(%3F%3D%5Cs))%5Cs(.*%3F(%3F%3D%3E%3E))(%3E%3E)((%3Fs).*%3F(%3F%3D%3C%3C%5Cd%7B2%7D%2F%5Cd%7B2%7D))&test_string=%20%20%20%20%3C%3C12%2F24%2F2015%2000%3A00%20%20userrrr%3E%3E%0A%20%20%20%20**********%20Text%20all%20char%20and%20symbols%20************%0A%20%20%20%20%3C%3C12%2F24%2F2015%2000%3A00%20CET%20userr%3E%3E%0A%20%20%20%20Text%20all%20char%20and%20symbols%0A%20%20%20%20%3C%3C12%2F24%2F2015%2000%3A00%20GMT%2B1%20userrrr%3E%3E%20Text%20in%20same%20line%0A%20%20%20%20%3C%3C12%2F24%2F2015%2000%3A00%20CET%20userrr%3E%3E%0A%20%20%20%20Text%20all%20characters%20and%20symbols%0A%20%20%20%20%3C%3C12%2F24%2F2015%2000%3A00%20GMT%2B1%20userrrrrrr%3E%3E%20Text%20in%20same%20line%0A%20%20%20%20More%20Text%20all%20characters%20and%20symbols%0A%20%20%20%20%3C%3C12%2F24%2F2015%2000%3A00%20CET%20userrrrr%3E%3E%0A%20%20%20%20More%20text%20all%20characters%20and%20symbols%0A%20%20%20%20%3C%3C12%2F24%2F2015%2000%3A00%20CET%20userrrrrrrrrrr%3E%3E%0A%20%20%20%20More%20Text%20all%20characters%20and%20symbols&ignorecase=0&multiline=0&dotall=0&verbose=0" rel="nofollow">Click Here to check the result(pythex.org)</a></p>