【问题标题】:Using split with regex to analyze a pattern使用带有正则表达式的拆分来分析模式
【发布时间】:2015-10-05 00:08:38
【问题描述】:

我有以下字符串:

-8/12
3/*13
9/10/12
-9/*10/11

我想将它们分成如下数组:

-8/12     --> [-,8,12]
3/*13     --> [3,13]
9/10/12   --> [9,10,12]
-9/*10/11 --> [-,9,10,11]

我使用这种模式进行拆分:

"(?<=)(/\\*)?"

它没有完全按预期工作,有什么想法可以改进吗?

谢谢!

【问题讨论】:

    标签: java regex


    【解决方案1】:

    你快到了。只需将- 包含在lookbehind 中,并将\\* 设为可选,并使用管道字符| 将两者分开。

    string.split("(?<=-)|/\\*?");
    

    DEMO

    【讨论】:

    • 完美答案!!非常感谢:-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-03
    • 2013-08-01
    • 1970-01-01
    • 2019-04-14
    • 1970-01-01
    • 2021-05-20
    • 2015-09-24
    相关资源
    最近更新 更多