- html - 我的下拉菜单的内容关闭得太快
- c# - 使用 Html Agility Pack 从网页中的表中获取值而不使用 "SelectNode'
- html - 内容容器下的 CSS 下拉菜单
- html - 如何停止嵌套列表重叠父列表?
我最近开始学习正则表达式,并试图为上面的问题写一个正则表达式。如果限制只放在一个字母上(例如不超过 2 个“b”),这并不困难。
那么答案就是:a* c*(b|ε)a* c*(b|ε)a* c*
但是对于 2 个“b”和 3 个“c”,“a”之间的可能排序总数是 24(5 选 3),因此编写一个包含所有这些可能性的正则表达式将非常hefty(因为我们可以选择任意数量的 bs 和 cs,只要数量分别小于 2 和 3)(例如 bcbcc、cbbcc、bcbc、bcc、b、c、...)。
那么是否可以为问题编写一个简洁的正则表达式,或者至少可以简化写出的可能性?
最佳答案
怎么样:
^(?=(?:[ac]*b){1,2}[ac]*$)(?=(?:[ab]*c){1,3}[ab]*$)
解释:
^ : begining of string
(?= : look ahead
(?: : non capture group
[ac]* : letters a or c 0 or more times
b : letter b
){1,2} : the group must be present once or twice
[ac]* : letters a or c 0 or more times
$ : end of string
)
(?= : look ahead
(?: : non capture group
[ab]* : letters a or b 0 or more times
c : letter c
){1,3} : the group must be present once or three times
[ab]* : letters a or b 0 or more times
$ : end of string
)
关于regex - 如何为包含 "a"s、 "b"s 和 "c"s 但不超过 2 "b"s 和 3 "c"s 的所有字符串编写简洁的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32652059/
我正在用 C# 编写动态语言的解释器,并将原始函数实现为具有虚拟 Apply 方法的抽象类 Primitive,其中每个实际原始函数都是重写 Apply 的子类。 (另一种方法是只拥有类 Primit
我正在用 C# 编写动态语言的解释器,并将原始函数实现为具有虚拟 Apply 方法的抽象类 Primitive,其中每个实际原始函数都是重写 Apply 的子类。 (另一种方法是只拥有类 Primit
我是 Dapper 的新手我正在尝试了解它实际上是如何映射事物的。我有以下数据库结构: calendar | Id | Name | meeting_room | Id | Calendar_id
抱歉问题标题很糟糕。有没有办法在一行中做到这一点: Button button = (Button)Gridview.Cells[0].FindControl("controlname"); butt
在 Java 中在声明点和使用点声明列表/数组文字的tersest方法是什么? 作为次要问题,我更喜欢一种不会导致编译时警告或要求抑制警告的方法。 注意:就我个人而言,这是针对Java 8ish on
什么是现代、简洁、快速的方法来测试节点是否有任何与给定选择器匹配的子节点? “简洁”是指类似于 jQuery 或函数式风格,例如避免循环。我知道本地选择器越来越多地使用这种类型的东西,但没有跟上发展的
getFirstNotNullResult 执行函数列表,直到其中一个函数返回非空值。 如何更优雅/简洁地实现 getNotNullFirstResult? object A { def main
根据 stackoverflow 上某人的推荐,我使用了 jquery succint https://github.com/micjamking/Succinct截断我在 php 网站上的帖子。 它
我是一名优秀的程序员,十分优秀!