|
1
5
试试这个:
基本思想是:对于最多2个x的匹配,后跟另一个字母或字符串的结尾。 当到达一个有3个x的点时,regex没有允许它保持匹配的规则,它失败了。 工作示例: http://rubular.com/r/ePH0fHlZxL
写同样的东西的一种不太紧凑的方法是(用自由空间,通常是
根据最新的编辑,这里有一个更平坦的模式版本:我不完全确定我是否理解你对管道的迷恋,但你可以消除更多的选择-通过允许第二组的空匹配,你不需要从第一组重复排列。这个regex还允许__,我认为它包含在您的语言中。
|
|
|
2
2
基本上你已经有了正确的答案-干得好。:)
一套克拉(^)
regex有数字量词
一个或模式将是冗长的,相当不可表达,但它可以作为片段:
显然,您可以使用迭代算法来实现这一点,但是与regex相比,这是非常低效的。 不过,做得很好,因为思考超出了解决方案。 |
|
|
3
2
我知道你不想使用lookahead,但有另一种方法可以解决这个问题:
将匹配任何字符行
|
|
|
DotFX · RegEx捕获关键字前但括号后的所有内容 1 年前 |
|
|
Andrus · 如何在sql中查找第二个匹配项 1 年前 |
|
|
iato · 确保正则表达式不从命名材料中的数字中提取 1 年前 |
|
|
vr8ce · 非成对标记中特定字符的正则表达式 1 年前 |
|
|
MARTIN · 交换第一个和最后一个单词,反转所有中间的字符 1 年前 |
|
|
Carsten · 使用最近的搜索模式更改文本块 1 年前 |