Pattern is not splitting as desired, fails to split by +

前端 未结 2 678
猫巷女王i
猫巷女王i 2021-01-23 20:30

I have the following code :

Pattern pattern = Pattern.compile(\"\\\\d+(?:\\\\.\\\\d+)?(\\\\s\\\\d+(?:\\\\.\\\\d+)?)*\\\\s*[-\\\\+\\\\*/\\\\$£]\");

String input          


        
2条回答
  •  自闭症患者
    2021-01-23 21:22

    You can use this regex:

    ((?:\d+(?:\.\d+)?(?:\s+\d+(?:\.\d+)?)*)?\s*[-+*/$£])
    

    RegEx Demo

    In Java it would be:

    Pattern pattern = Pattern.compile
      ( "((?:\\d+(?:\\.\\d+)?(?:\\s+\\d+(?:\\.\\d+)?)*)?\\s*[-+*/$£])" );
    

提交回复
热议问题