1
5
试试这个:
基本思想是:对于最多2个x的匹配,后跟另一个字母或字符串的结尾。 当到达一个有3个x的点时,regex没有允许它保持匹配的规则,它失败了。 工作示例: http://rubular.com/r/ePH0fHlZxL
写同样的东西的一种不太紧凑的方法是(用自由空间,通常是
根据最新的编辑,这里有一个更平坦的模式版本:我不完全确定我是否理解你对管道的迷恋,但你可以消除更多的选择-通过允许第二组的空匹配,你不需要从第一组重复排列。这个regex还允许__,我认为它包含在您的语言中。
|
2
2
基本上你已经有了正确的答案-干得好。:)
一套克拉(^)
regex有数字量词
一个或模式将是冗长的,相当不可表达,但它可以作为片段:
显然,您可以使用迭代算法来实现这一点,但是与regex相比,这是非常低效的。 不过,做得很好,因为思考超出了解决方案。 |
3
2
我知道你不想使用lookahead,但有另一种方法可以解决这个问题:
将匹配任何字符行
|
lonix · 使用sed从JSON中提取非贪婪正则表达式 1 年前 |
Dima Malko · 如何在指定符号前添加符号? 2 年前 |
shekharsabale · 从列表元素捕获子字符串 2 年前 |
Katia · 根据特定规则进行多行匹配 2 年前 |
MHA · Pandas str.extract()以字母结尾的数字 2 年前 |
Slava Vir · 如何查找后面“/”之间的最后一组 2 年前 |