java - 正则表达式使用java获取第一个斜杠后的所有字符

标签 java regex

我试图获取第一个斜杠后的所有字符。
我尝试了以下但它不起作用
任何人都可以共享任何示例正则表达式以获取第一个斜线后的所有字符

String pattern = "[A-Za-z\\s]|(?<=[A-Za-z\\s])/";  

示例输入 - xx/abs-12345/67890
预期输出 - abs-12345/67890

最佳答案

这是您需要的正则表达式:

(?<=/).+

lookbehind 查找 /,然后匹配其后的每个非行结束符。由于正则表达式引擎从左到右检查,它总是会找到第一个斜杠。

    Matcher m = Pattern.compile("(?<=/).+").matcher("xx/abs-12345/67890");
    if (m.find()) {
        System.out.println(m.group());
    }

您甚至可以在一行中执行此操作,无需正则表达式。

System.out.println(Arrays.stream(s.split("/")).skip(1).collect(Collectors.joining("/")));

s 是输入字符串。

关于java - 正则表达式使用java获取第一个斜杠后的所有字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48712527/

相关文章:

Java Date "before"方法不存在

java - 如何在从目标目录执行 Maven 安装(构建)时删除文件

java - 结合 javafx 2 ListView 和 GridPane 功能

java - JPanel 将正确显示按钮,但无法正确显示自定义 JComponent

javascript - 是否可以让\w 正则表达式模式也允许 é 等字符?如果没有,还有哪些替代方案?

regex - 如何删除emacs中的正则表达式匹配文本?

java - 从 MainActivity 调用新 Activity 的方法

java - Spring bean编译所有正则表达式

regex - Scala 中占位符替换正则表达式的语法是什么?

不允许以 2 * 开头的正则表达式