【发布时间】:2018-04-11 11:06:34
【问题描述】:
如果我想找到两个匹配项,Java 正则表达式应该是什么样子
1. NEW D City
2. 1259669
来自
Object No: NEW D City | Item ID: 1259669
我试过了
(?<=:\s)\w+
但它只会得到
1. NEW
2. 1259669
【问题讨论】:
-
您的实际输入数据是什么样的?它是不是像你展示的那样由成对的线条组成?
-
(?<=:\s)\w+(\s+\w+)*?但也许一个适当的“解析器”在|上拆分,然后用:(和修剪)映射会更好。 -
尝试
s.split("\\s*\\|?\\s*[^:|]+:\\s*"),但更合适的做法是匹配:\s*([^:|]+)并修剪.group(1)。 -
我不确定正则表达式是否是正确的工具。
标签: java regex regex-negation regex-lookarounds regex-group