Regex 对于所有没有子字符串';ab';?

Regex 对于所有没有子字符串';ab';?,regex,Regex,我不熟悉正则表达式,我试图学习它,我遇到了这个问题 正则表达式--让字母表={a,b}。为以下内容编写正则表达式: All strings that do not have the substring 'ab' 他们是如何得到答案的?我以为在b和a之间的Kleene星可以有ab,顺序也很重要吗 我在这里找到了:。在正则表达式中,顺序确实很重要 b*a* 表示0个或多个“b”后跟0个或多个“a”。(这是假设正则表达式搜索锚定到字符串的开头和结尾-在大多数正则表达式语法中,这实际上写为:^b*

我不熟悉正则表达式,我试图学习它,我遇到了这个问题

正则表达式--
让字母表={a,b}。
为以下内容编写正则表达式:

All strings that do not have the substring 'ab' 
他们是如何得到答案的?我以为在b和a之间的Kleene星可以有ab,顺序也很重要吗


我在这里找到了:。

在正则表达式中,顺序确实很重要

b*a*
表示0个或多个“b”后跟0个或多个“a”。(这是假设正则表达式搜索锚定到字符串的开头和结尾-在大多数正则表达式语法中,这实际上写为:^b*a*$)

所以,它会匹配

  • 任意数量的“a”
  • 任意数量的“b”
  • 任意数量的“b”后跟任意数量的“a”

这是个奇怪的问题,但他们是对的。如果只有a和b作为可能的字符,那么任何在a之后带有b的序列在正则表达式中都有子字符串“ab”

,顺序并不重要

b*a*
表示0个或多个“b”后跟0个或多个“a”。(这是假设正则表达式搜索锚定到字符串的开头和结尾-在大多数正则表达式语法中,这实际上写为:^b*a*$)

所以,它会匹配

  • 任意数量的“a”
  • 任意数量的“b”
  • 任意数量的“b”后跟任意数量的“a”

这是个奇怪的问题,但他们是对的。如果只有a和b作为可能的字符,那么任何在a之后带有b的序列在正则表达式中都有子字符串“ab”

,顺序并不重要

b*a*
表示0个或多个“b”后跟0个或多个“a”。(这是假设正则表达式搜索锚定到字符串的开头和结尾-在大多数正则表达式语法中,这实际上写为:^b*a*$)

所以,它会匹配

  • 任意数量的“a”
  • 任意数量的“b”
  • 任意数量的“b”后跟任意数量的“a”

这是个奇怪的问题,但他们是对的。如果只有a和b作为可能的字符,那么任何在a之后带有b的序列在正则表达式中都有子字符串“ab”

,顺序并不重要

b*a*
表示0个或多个“b”后跟0个或多个“a”。(这是假设正则表达式搜索锚定到字符串的开头和结尾-在大多数正则表达式语法中,这实际上写为:^b*a*$)

所以,它会匹配

  • 任意数量的“a”
  • 任意数量的“b”
  • 任意数量的“b”后跟任意数量的“a”

这是个奇怪的问题,但他们是对的。如果只有a和b作为可能的字符,那么任何在a之后有b的序列都有子字符串“ab”

如果这是正则表达式的唯一部分,它应该完全匹配任何字符。如果这是正则表达式的唯一部分,它应该完全匹配任何字符。如果这是正则表达式的唯一部分,它应该匹配任何东西。如果这是正则表达式的唯一部分,它应该匹配任何东西。关键是a可以重复0次,b也可以。因此,这些绝对没有效果,因为正则表达式没有它需要寻找的东西,我已经添加了一个注释,这假设正则表达式是锚定的。根据正则表达式的实际类型/用法,这可能是,也可能不是…这就解释了…必须多练习这些类型的问题…因为我只是这方面的新手,它们很难理解。关键是a可以重复0次,b也可以重复0次。因此,这些绝对没有效果,因为正则表达式没有它需要寻找的东西,我已经添加了一个注释,这假设正则表达式是锚定的。根据正则表达式的实际类型/用法,这可能是,也可能不是…这就解释了…必须多练习这些类型的问题…因为我只是这方面的新手,它们很难理解。关键是a可以重复0次,b也可以重复0次。因此,这些绝对没有效果,因为正则表达式没有它需要寻找的东西,我已经添加了一个注释,这假设正则表达式是锚定的。根据正则表达式的实际类型/用法,这可能是,也可能不是…这就解释了…必须多练习这些类型的问题…因为我只是这方面的新手,它们很难理解。关键是a可以重复0次,b也可以重复0次。因此,这些绝对没有效果,因为正则表达式没有它需要寻找的东西,我已经添加了一个注释,这假设正则表达式是锚定的。根据正则表达式的实际类型/使用情况,可能是这样,也可能不是这样……这就解释了……必须练习更多此类问题……因为我只是这方面的新手,它们很难理解