gpt4 book ai didi

Java 正则表达式 : Why is the non-capturing group captured?

转载 作者:行者123 更新时间:2023-11-30 02:01:46 40 4
gpt4 key购买 nike

我在 Java 中使用这个正则表达式:

^(Mon(?:.?|day)?)(?:[\.,])?$ (可以测试 here )

我想捕获日期,后跟可选的 .,。如果是星期一,我想捕获 MondayMon。但是,我不希望将可选的 ., 保存在捕获组中。这似乎只适用于“星期一”,不适用于“星期一”。 (参见链接)。

我怎样才能实现这个目标?

最佳答案

您可以使用

^(Mon(?:day)?)[.,]?$

请参阅regex demo

详细信息

  • ^ - 字符串开头(如果使用 .matches(),则省略)
  • (Mon(?:day)?) - 捕获组 1:
    • Mon - 文字子字符串
    • (?:day)? - 可选的 day 字符序列
  • [.,]? - 可选的点或逗号
  • $ - 字符串结尾(如果使用 .matches(),则省略)

关于Java 正则表达式 : Why is the non-capturing group captured?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52627112/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com