正则表达式模式匹配

问题描述 投票:0回答:1

我正在尝试为以下字符串创建模式

  1. abc deff <XYZ>.xls
  2. <XYZ> abc.xlsx
  3. 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
java regex pattern-matching
1个回答
0
投票

使用

?
(?=...(...))
语法可能会对您有所帮助。尝试这样的事情:

([^\\.<]*)(<[^>]+>)?(?=\\.(.*))

对于短语

abc deff <XYZ>.xls
,它给出三组
abc deff
<XYZ>
xls
。通过使用积极的前瞻,如果需要,您应该能够在比赛中避免
<>
,看看它是如何为
xls
匹配组完成的。

© www.soinside.com 2019 - 2024. All rights reserved.