Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式练习_Regex_Regular Language - Fatal编程技术网

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*)*


但它通过了一些测试。。。请帮帮我。

我不会帮你做家庭作业,但我会指出你在做什么时存在的一些问题:

  • 星本身不是通配符。它并不意味着“匹配任何东西”。它是一个修饰前面标记的量词。您希望使用
    *
    而不是
    *
    来允许任意数量的字符
  • 表达式
    *(11)*.*
    也匹配奇数为1的字符串,因为
    也可以是1。1s前后的数字必须为“非a-1”(即2或3)

希望这会对您有所帮助。

我不会为您做家庭作业,但我会指出您尝试做的一些问题:

  • 星本身不是通配符。它并不意味着“匹配任何东西”。它是一个修饰前面标记的量词。您希望使用
    *
    而不是
    *
    来允许任意数量的字符
  • 表达式
    *(11)*.*
    也匹配奇数为1的字符串,因为
    也可以是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