Java 正则表达式 : Split without losing token

标签 java regex lookahead

我正在尝试编写正则表达式,它会在空格后跟负号后跟非空格时拆分字符串。

示例:

"x -y".split(regex)
returns: String[]{"x","-y"};

目前我正在使用

(?<=\\s)-(?=\\S+)

对于我的正则表达式;但这会返回“x”,“y”并吃掉负号。有什么办法可以不吃负号吗?

谢谢!

最佳答案

你可以在第二组中包含减号

\\s(?=-\\S+)

这会给你想要的结果。

关于Java 正则表达式 : Split without losing token,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5364016/

相关文章:

java - Java 中的条件 SQL where 子句

python - 用于匹配两个字符之间的文本同时忽略反斜杠字符的正则表达式

python - 使用 python 正则表达式编辑二进制文件/字符串

javascript - 用于从 url 解析参数的正则表达式

python - 获取可变数量组的正则表达式

java - GUI 线程作业不是从可调用对象调用的

Java8 FP if/else if/else 替换为 lambdas

java - Regex 类在 GWT 的服务器端不起作用

c# - 使用 Regex 前瞻将信用卡号分成 4 个 block ?

正则表达式只匹配最里面的分隔序列