【问题标题】:Regular expression to match ) under certain conditions [duplicate]正则表达式匹配)在某些条件下[重复]
【发布时间】:2020-10-26 18:12:20
【问题描述】:

如果左边有一个 ( 和两个数字,我正在尝试匹配)。

示例“(55)” 我想在“(55)”中匹配)

我不想匹配“(hello world 55)”

我目前有以下作为我的正则表达式:

     \(\d+\)

它匹配“(55)”,但我只想要其中的 )。有没有办法通过放置在正则表达式中来获得某个字符?或者您有更好的解决方案?

【问题讨论】:

  • \(\d+\K\)(?<=\(\d+)\)等。有很多解决方案和变通方法。
  • 你需要转义括号
  • @WiktorStribiżew 我正要回答这个问题,看到你的评论,你为什么不把它作为答案发布。这是一个很好的答案,因为它可以有\K 或向后看
  • 请试试这个(?<=\(\d{2})\)

标签: regex


【解决方案1】:

有多种方法可以匹配您想要的。

例如,您可以使用\K 来休息前一场比赛:

\(\d+\K\)

使用积极的向后看

(?<=\(\d+)\)

同时捕获匹配的内容

\(\d+(\))

【讨论】:

    【解决方案2】:

    Flutter 和所有支持的语言

    插入所有特殊字符、数字、小写和大写

    条件1:必须字8的长度 条件 2:插入以上给定列表中的任何一个(不是所有类型都必须)

    r'^([a-zA-Z].)*.{8,}$' ,
    

    必须在上面给定的列表中插入至少一个,

    r'^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]+!@#\$&*~{8,}$',
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多