【问题标题】:Can classes be nested in regex [duplicate]类可以嵌套在正则表达式中吗?
【发布时间】:2017-12-26 06:49:12
【问题描述】:

我想匹配像12af-23f4-123d- 这样的字符串。 虽然可以使用[0-9a-f]{4}\-[0-9a-f]{4}\-[0-9a-f]{4}\- 我可以使用像[[0-9a-f]{4}\-]{3} 这样的嵌套格式吗?

【问题讨论】:

  • ([0-9a-f]{4}\-){3} 所以?
  • 直括号[]是一个字符类; parens () 用于分组,使您能够“嵌套”表达式。

标签: python regex


【解决方案1】:

你原来的正则表达式:

[0-9a-f]{4}\-[0-9a-f]{4}\-[0-9a-f]{4}\-

可以简化为

([0-9a-f]{4}\-){3}

(([0-9a-f]{4}\-){3}) 

取决于您是否要使用整个匹配作为一个整体(例如反向引用,...)。

在 regex101 上测试

https://regex101.com/r/gLSu92/1

https://regex101.com/r/gLSu92/2

【讨论】:

    猜你喜欢
    • 2010-09-13
    • 1970-01-01
    • 1970-01-01
    • 2010-09-29
    • 1970-01-01
    • 2013-12-05
    • 2011-07-18
    相关资源
    最近更新 更多