我正在尝试为以下字符串创建模式
abc deff <XYZ>.xls
<XYZ> abc.xlsx
ABCD.csv
使用以下模式
(\\w*)(\\<)(\\w*)(\\>)(\\w*)(\\.)(\\w*)
但这对我不起作用
预期产出
1. abc deff <XYZ>.xls
g1 = abc deff
g2 = XYZ
g3 = xls
2. <XYZ> abc.xlxs
g1 = ""
g2 = XYZ
g3 = xlxs
3. ABCD.csv
g1 = ABCD
g2 = ""
g3 = csv
使用
?
和 (?=...(...))
语法可能会对您有所帮助。尝试这样的事情:
([^\\.<]*)(<[^>]+>)?(?=\\.(.*))
对于短语
abc deff <XYZ>.xls
,它给出三组abc deff
、<XYZ>
和xls
。通过使用积极的前瞻,如果需要,您应该能够在比赛中避免 <>
,看看它是如何为 xls
匹配组完成的。