微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 正则表达式得到最后一次出现的模式

我有一个字符串,我需要选择最后一次出现的模式.
字符串是:

[[[1302638400000.0,0],[1302724800000.0,610.64999999999998],
[1302811200000.0,2266.6500000000001],[1303156800000.0,
4916.9300000000003],[1303329600000.0,6107.3199999999997],[1303934400000.0,9114.6700000000001]],[[1302638400000.0,20000.0],
[1302724800000.0,[1302811200000.0,
[1303156800000.0,
[1303934400000.0,20000.0]],20610.650000000001],
22266.650000000001],24916.93],26107.32],29114.669999999998],[1304452800000.0,30078.23]],[[1302718580000.0,0.0],[1302772440000.0,3.0532500000000073],[1303107093000.0,11.333250000000007],[1303107102000.0,21.753250000000008],[1303352295000.0,
24.584650000000003],[1303352311000.0,26.8766],[1303815010000.0,30.536599999999996],[1303815028000.0,27.703349999999993]]];

我使用的模式是:

\s\[\[(.*?)\]\]

不幸的是选择了第一次.突出显示文字是所需的结果.最后几个方括号无关紧要,只需要最后一个数组.

更新:
如果可以帮你,那么编码就是在c#

解决方法

使用RightToLeft选项:
Regex.Match(s,@"\[\[(.*?)\]\]",RegexOptions.RightToLeft)

此选项是.NET正则表达式的独特之处,并且完全符合您的要求:从输入的结尾而不是开头进行搜索.特别要注意的是,非贪心?修饰剂正如你所料;如果你把它关掉,你会得到整个输入,但是你可以得到:

[1302718580000.0,24.584650000000003],27.703349999999993]]]

原文地址:https://www.jb51.cc/csharp/93162.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐