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