Java 正则表达式中的匹配组

Java 正则表达式中的匹配组,java,regex,Java,Regex,我想使用以下字符串中的正则表达式匹配2个组: LyraCalSWC20161203.png LyraL4C20180302.png 这是我提议的正则表达式-Lyra([A-Za-z]{3,6})+(\\d{8})。* 它应该匹配两组。第一组是L4C或CalSWC,第二组是日期字符串,它是8个数字 我可以让一个小组工作,例如)LyraL4C(\\d{8})。*但不能同时处理两种变体 任何帮助都很感激 谢谢 你的模式Lyra([A-Za-z]{3,6})+(\\d{8})。*非常好,但是你错过了

我想使用以下字符串中的正则表达式匹配2个组:

  • LyraCalSWC20161203.png
  • LyraL4C20180302.png
这是我提议的正则表达式-
Lyra([A-Za-z]{3,6})+(\\d{8})。*

它应该匹配两组。第一组是
L4C
CalSWC
,第二组是日期字符串,它是8个数字

我可以让一个小组工作,例如)LyraL4C(\\d{8})。*但不能同时处理两种变体

任何帮助都很感激

谢谢

  • 你的模式
    Lyra([A-Za-z]{3,6})+(\\d{8})。*
    非常好,但是你错过了
    L4C
    不仅包含字母,还包含数字
  • 接下来,您还指定第一个组有3到6个元素
    {3,6}
    ,因此不需要使用
    +
所以你需要
Lyra([A-Za-z0-9]{3,6})(\\d{8})。*

  • 你的模式
    Lyra([A-Za-z]{3,6})+(\\d{8})。*
    非常好,但是你错过了
    L4C
    不仅包含字母,还包含数字
  • 接下来,您还指定第一个组有3到6个元素
    {3,6}
    ,因此不需要使用
    +
所以你需要
Lyra([A-Za-z0-9]{3,6})(\\d{8})。*


您可能需要使用通用的
\w
选择器来选择所有单词字符,以匹配样本的两个版本

^Lyra(\w{3,6})(\d{8})\.png$


对于
^Lyra(\\w{3,6})(\\d{8})\.png$

您可能希望使用通用
\w
选择器拾取所有单词字符以匹配示例的两个版本

^Lyra(\w{3,6})(\d{8})\.png$


目前,png$

试图

尝试<代码>莱拉(\<码><码><码><码><码><码><码><码><码><码(\{3,6,{3,6,{3,6,{3,6,{3,6,{3,6,{6,}})可能,(\\d{{{{{8})目前,{3,<码>[码><码><码><码><码>{{3,{{3,{3,{3,{3,{3,{3,{3,{3,{3,6,{3,{3,{3,{3,{3,{{3,{3,{3,6},{3,{3,{8},{8},{可以省略更多运算符,因此,不要使用:
Lyra([A-Za-z0-9]{3,6})+(\\d{8})。*
使用:
Lyra([A-Za-z0-9]{3,6})(\\d{8})。*