【问题标题】:How to parse particular string from a given string using REGEX如何使用 REGEX 从给定字符串解析特定字符串
【发布时间】:2015-12-17 07:50:57
【问题描述】:
Mobile Internet 50MB Balance 30.1MB till Jan 12,2016 11:59:59 PM.

我有这个互联网余额扣除的响应,我想代表 MB 解析这个字符串。我使用了这个正则表达式; \\MB? 但它同时包含“M”和“MB”。我也使用了这个链接 enter link description here 但没能得到。不知道我在哪里卡住了。任何建议将不胜感激。

【问题讨论】:

    标签: java regex parsing


    【解决方案1】:

    这里你需要使用正向前瞻。

    Pattern p = Pattern.compile("\\d+(?:\\.\\d+)?(?=MB?)");
    

    如果你不想让 B 成为可选的,那么试试这个,

    Pattern p = Pattern.compile("\\d+(?:\\.\\d+)?(?=MB)");
    

    单击下面的链接查看正在运行的演示。

    • \\d+(?:\\.\\d+)? 将匹配所有数字(整数和浮点数,因为我将小数部分设为可选

    • (?=MB) 断言匹配后必须跟MB。所以这将匹配所有在MB 之前存在的数字。

    DEMO

    【讨论】:

    • 谢谢你@Avinash Raj
    猜你喜欢
    • 2018-07-24
    • 2020-01-05
    • 1970-01-01
    • 2022-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-09
    • 1970-01-01
    相关资源
    最近更新 更多