java - 如何在java中使用正则表达式分割字符串

标签 java regex

我有一个这样的字符串

length 10 cm width 2 cm depth 0.5 cm / length 10 cm width 2 depth 0.5 cm

我想得到像这样的输出

length 10 cm
width 2 cm / width 2
depth 0.5 cm   

我试过了

public static void main(String []args) {
    String s = "length 10 cm width 2 cm depth 0.5 cm";
    String[] tok = s.split("(?<=\\d)\\s");
    for(int i=0; i< tok.length; i++) {
        System.out.println(tok[i]);
    }
}

它返回:

length 10
cm width 2
cm depth 0.5
cm

最佳答案

尝试以下匹配模式

(?: (?<![/*+-] )(?=length|width|depth))

输出

length 10 cm
width 2 cm
depth 0.5 cm / length 10 cm
width 2
depth 0.5 cm

关于java - 如何在java中使用正则表达式分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77452410/

相关文章:

java - Urban Airship 推送码

java - 使用 maxsize=1g 的飞行记录器仍然返回缺少时间窗口的跟踪

java - 替换java中字符串中的任何非ascii字符

用于删除特殊字符的 Javascript 和 RegEx

regex - 将成对的引号更改为左引号和右引号

java - 在 Apache POI Java 中将大数据转换为 Excel

java - @Async 指定的执行器是否为 CompletableFuture.supplyAsync(supplier) 工作?

java - jOOQ 如何从字段中提取值

python - 正则表达式不获取转义引号

javascript - Django urlpatterns 正则表达式不精确,得到 404?