加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 03:57:55 所属栏目:百科 来源:网络整理
导读:我有一个字符串,我需要选择最后一次出现的模式. 字符串是: [[[1302638400000.0,0],[1302724800000.0,610.64999999999998], [1302811200000.0,2266.6500000000001],[1303156800000.0, 4916.9300000000003],[1303329600000.0,6107.3199999999997],[1303934400
我有一个字符串,我需要选择最后一次出现的模式.
字符串是:

[[[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]]]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读