Regex 正则表达式练习
因此,某些测试的结果必须是:Regex 正则表达式练习,regex,regular-language,Regex,Regular Language,因此,某些测试的结果必须是: L= { w is {1,2,3}* | w starts with 3, ends with 2 and there is a substring of only 1 with length even equal or >2}. 我的答案是:3*(11)*2* 但它通过了一些测试。。。有人能帮我吗 第二项工作是: 3323112: accepted 311211112: non accepted 31112: non accepte
L= { w is {1,2,3}*
| w starts with 3, ends with 2 and there is a substring of only 1 with length
even equal or >2}.
我的答案是:3*(11)*2*
但它通过了一些测试。。。有人能帮我吗
第二项工作是:
3323112: accepted
311211112: non accepted
31112: non accepted
32: non accepted
2113: non accepted
313212: non accepted
测试字符串:
L= { w is {1,2}*
| in w after every 1 there is one or more 2, but if the 1 is the last
character it could be the last (no 2 after it)}
我的解决方案是(12*)*
但它通过了一些测试。。。请帮帮我。我不会帮你做家庭作业,但我会指出你在做什么时存在的一些问题:
- 星本身不是通配符。它并不意味着“匹配任何东西”。它是一个修饰前面标记的量词。您希望使用
而不是*
来允许任意数量的字符*
- 表达式
也匹配奇数为1的字符串,因为*(11)*.*
也可以是1。1s前后的数字必须为“非a-1”(即2或3)
希望这会对您有所帮助。我不会为您做家庭作业,但我会指出您尝试做的一些问题:
- 星本身不是通配符。它并不意味着“匹配任何东西”。它是一个修饰前面标记的量词。您希望使用
而不是*
来允许任意数量的字符*
- 表达式
也匹配奇数为1的字符串,因为*(11)*.*
也可以是1。1s前后的数字必须为“非a-1”(即2或3)
- 以3开头:
^3
- 以2:
2$
- 包含至少两个1的序列:
1{2,}
- 结果正则表达式:
(^3[1-3]*1{2,}[1-3]*2$
片段允许其中的任何数字1到3,因为没有要求)[1-3]*
- 编辑:我想我误解了1的条件,
因此,其模式是:(?(向后看和向前看以确保1被隔离)
- 修改后的图案:
^3[1-3]*(
- 每1之后至少有一个2:
(?(确保在此之前没有1)
- 最后一个1后面可能没有2:
1?$
- 结果:
^(
希望这有帮助。祝你好运,正则表达式很难学,但一旦掌握了窍门就很容易了。
- 以3开头:
^3
- 以2:
2$
- 包含至少两个1的序列:
1{2,}
- 结果正则表达式:
(^3[1-3]*1{2,}[1-3]*2$
片段允许其中的任何数字1到3,因为没有要求)[1-3]*
- 编辑:我想我误解了1的条件,
因此,其模式是:(?(向后看和向前看以确保1被隔离)
- 修改后的图案:
^3[1-3]*(
- 每1之后至少有一个2:
(?(确保在此之前没有1)
- 最后一个1后面可能没有2:
1?$
- 结果:
^(
希望这有帮助。祝你好运,正则表达式很难学,但一旦掌握了窍门就很容易了。因为这看起来像是家庭作业,所以我不会给出一个直接的答案。你会想看看正则表达式中的修饰符。
*
表示重复0次或更多次。还有+
,?
和squ是字符类的括号。还要注意,一些可用的东西可能依赖于您使用的正则表达式解析器(通常称为“flavor”)。但一些基本原理通常是相同的
祝你好运!因为这看起来像是家庭作业,所以我不会给出一个直接的答案。你会想看看正则表达式中的修饰符。
*
表示0次或更多次的重复。还有+
,?
和字符类的方括号。还要注意的是,一些可用的东西可能取决于您正在使用的regex解析器(通常称为“flavor”)上的ndent。但是一些基本原理通常是相同的
祝你好运!我怀疑这个问题是关于为什么在第一个练习中被拒绝的
31121112
?它满足您列出的所有条件(以3开始,以2结束,包含一个长度为偶数的1序列)。我怀疑这个问题是关于为什么在第一个练习中被拒绝的31121112
?它满足您列出的所有条件(以3开始,以2结束,包含一个长度为偶数的1序列).我可能误解了1的条件。这是否意味着1序列的长度必须是偶数?@Kolink我就是这样解释的。我认为它必须是偶数,是的。它说“只有1的子字符串长度为偶数”在问题中。我可能误解了1的条件。这是否意味着1序列的长度必须是偶数?@Kolink这就是我对它的解释。我认为它必须是偶数,是的。它在问题中说“只有1的子字符串,长度为偶数”。
1: accepted
222: accepted
221212122: accepted
1222121: accepted
111221: not accepted
11: not accepted