【问题标题】:Finding a more elegant regex solution寻找更优雅的正则表达式解决方案
【发布时间】:2017-08-25 23:41:09
【问题描述】:

我有一个关于正则表达式的问题(如果术语有错误,我提前道歉,我的课程不是英文的):

我希望为所有包含偶数个子字符串“ab”的字符串编写一个正则表达式,假设这些字母来自集合{a,b,c}

例如:ababcbcabbcababcabcabcabbaccbccabccabc

到目前为止,这是我想出的最短的表达方式: (b+a*c+aa*bb*(a+cb*)*ab)*a*

但是,这似乎有点令人费解,也许有人可以建议更短或更优雅的表达方式?谢谢。

【问题讨论】:

  • 它必须是纯粹的正则表达式还是你能得到“ab”的匹配数并检查这个数字是否是偶数?
  • @AndrewMorton 纯粹是一个正则表达式

标签: regex deterministic


【解决方案1】:

这没有必要更优雅,但它不依赖于c & 应该适用于任何字母。不过,我会把这个决定留给你,这是我的解决方案:

^((?!ab).)*(ab((?!ab).)*ab((?!ab).)*)*$

Here's an example on regexr!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-01
    相关资源
    最近更新 更多