Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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 - Fatal编程技术网

Regex 正则表达式问题

Regex 正则表达式问题,regex,Regex,我正在学习正则表达式,日子不好过。有谁能告诉我这两个问题的解决方法是否正确 -用正则表达式(a | b)(c | elipson)指定的语言列出单词 --我想答案是ac,bc,a,b。我说得对吗 -给出一个正则表达式,识别所有带有奇数a的单词。 --我想的是(a)(aa)*。如果我没有错的话,这应该总是适用于例外,当单词只是“a”时。当单词只是“a”时,我如何修改它使其工作? 假设“epsilon”表示空字符串,那么您是正确的 你对(a)(aa)*的回答也是正确的。查找正则表达式语法中*的含义(

我正在学习正则表达式,日子不好过。有谁能告诉我这两个问题的解决方法是否正确

-用正则表达式(a | b)(c | elipson)指定的语言列出单词 --我想答案是ac,bc,a,b。我说得对吗

-给出一个正则表达式,识别所有带有奇数a的单词。 --我想的是(a)(aa)*。如果我没有错的话,这应该总是适用于例外,当单词只是“a”时。当单词只是“a”时,我如何修改它使其工作?

  • 假设“epsilon”表示空字符串,那么您是正确的

  • 你对(a)(aa)*的回答也是正确的。查找正则表达式语法中*的含义(并将其与+的含义进行比较)

      • 假设“epsilon”表示空字符串,那么您是正确的

      • 你对(a)(aa)*的回答也是正确的。查找正则表达式语法中*的含义(并将其与+的含义进行比较)


        • 你的第二个答案只给出有1、3、5、。。。a的顺序。如果你想让所有的单词在任何地方都包含奇数个a,你会想要这样的东西:

          /a([^\s]*a[^\s]*a)*/

          如果你很严格,不想用催眠词或其他非字母字符来表达你的想法,那么应该这样做:

          /a([\w]*a[\w]*a)*/


          (根据正则表达式引擎的不同,您需要将
          [\w]
          替换为
          [a-z]

          您的第二个答案只会给出按顺序包含1、3、5、.a的单词。如果您希望所有单词在任何位置都包含奇数个a,您将需要这样的内容:

          /a([^\s]*a[^\s]*a)*/

          如果你很严格,不想用催眠词或其他非字母字符来表达你的想法,那么应该这样做:

          /a([\w]*a[\w]*a)*/

          (根据正则表达式引擎的不同,您需要将
          [\w]
          替换为
          [a-z]