Regex Perl中的/^和/i是什么?

Regex Perl中的/^和/i是什么?,regex,perl,Regex,Perl,最近我下载了一个源代码(LevBot),然后我看到这一行: } elsif($text =~ /^slaps $levbot_nick/i) { 但是/^和/i做什么呢 为什么要使用它们 我想这是正则表达式,对吗?是的。请参阅文档。简而言之,/^匹配行首,而/i表示它不区分大小写。是。请参阅文档。简而言之,/^匹配行的开头,而/i表示它不区分大小写。这是一个正则表达式 /^slaps $levbot_nick/i /^意思是以开始(实际上是^单独) /我的意思是忽略案例(在//之后我独自

最近我下载了一个源代码(LevBot),然后我看到这一行:

} elsif($text =~ /^slaps $levbot_nick/i) {
  • 但是
    /^
    /i
    做什么呢
  • 为什么要使用它们

我想这是正则表达式,对吗?

是的。请参阅文档。简而言之,
/^
匹配行首,而
/i
表示它不区分大小写。

是。请参阅文档。简而言之,
/^
匹配行的开头,而
/i
表示它不区分大小写。

这是一个正则表达式

/^slaps $levbot_nick/i
/^意思是以开始(实际上是^单独)

/我的意思是忽略案例(在//之后我独自一人)


第一个和最后一个/斜杠是正则表达式的边界

/^slaps $levbot_nick/i
/^意思是以开始(实际上是^单独)

/我的意思是忽略案例(在//之后我独自一人)


第一个和最后一个/斜杠是正则表达式的边界
/i
忽略字母的大小

/^
行首
/i
忽略字母的大小

  • 表示正则表达式开始的分隔符(字符
    /
    不是正则表达式的一部分)
  • ^
    匹配行首
  • /
    正则表达式结尾的分隔符(不是正则表达式的一部分)
  • i
    使正则表达式不区分大小写的标志
其他可能的标志包括:

  • g
    Global
  • s
    点匹配新行字符
  • x
    Extended-忽略模式中的空白并允许注释
  • m
    多行模式
      • 表示正则表达式开始的分隔符(字符
        /
        不是正则表达式的一部分)
      • ^
        匹配行首
      • /
        正则表达式结尾的分隔符(不是正则表达式的一部分)
      • i
        使正则表达式不区分大小写的标志
      其他可能的标志包括:

      • g
        Global
      • s
        点匹配新行字符
      • x
        Extended-忽略模式中的空白并允许注释
      • m
        多行模式
      是的,这是一个问题

      • 两侧的
        /
        标记图案的开始和结束
      • 模式开头的
        ^
        表示“仅在字符串开头匹配此项,而不匹配其他项。”
      • 模式结束后的
        i
        是一个修饰符,它表示“匹配时不区分大小写”,因为默认值区分大小写
      是的,这是一个问题

      • 两侧的
        /
        标记图案的开始和结束
      • 模式开头的
        ^
        表示“仅在字符串开头匹配此项,而不匹配其他项。”
      • 模式结束后的
        i
        是一个修饰符,它表示“匹配时不区分大小写”,因为默认值区分大小写

      /^
      匹配行首


      /i
      表示不区分大小写的搜索

      /^
      匹配行首


      /i
      表示不区分大小写的搜索

      Perl中的此语法受awk的/xxx/模式匹配功能启发。

      Perl中的此语法受awk的/xxx/模式匹配功能启发

    • ^(克拉)符号表示正则表达式“以开头”。这里的模式应该从拍打开始

      /i表示不区分大小写的搜索

    • 匹配模式

    • 是的,你说得对。它是正则表达式

      在您的例子中,匹配模式是从slaps开始的,并在levbot_nick变量中加上值

    • ^(克拉)符号表示正则表达式“以开头”。这里的模式应该从拍打开始

      /i表示不区分大小写的搜索

    • 匹配模式

    • 是的,你说得对。它是正则表达式


      在您的例子中,匹配模式是从slaps和levbot_nick变量中的值开始的。

      请看
      perldoc perlrequick
      ,了解Perl中正则表达式的温和介绍。这是一个大课题,但这会让你开始。如果您要学习Perl,请从学习Perl()开始。这是一个大课题,但这会让你开始。如果要处理Perl,请从学习Perl()开始。这是一个细微但重要的区别。我不懂Perl,我也不知道其中的区别-你能解释一下/给出一个链接吗?斜杠里的东西是真正的“正则表达式”。斜杠仅指示表达式的开始和停止位置,但不是实际表达式的一部分。@Amarghosh:正则表达式是您要匹配的模式。匹配运算符是告诉Perl解释器的语法:这里有一个正则表达式。在Perl中,匹配运算符通常在开始和结束处由“/”分隔,但您可以使用分隔符(例如,
      m{^foo}
      )。有关详细信息,请参阅perldoc perlop中的“Regexp报价类运算符”一节。不过,再看看阿马戈什的回答,我自己也不确定布赖恩反对什么。Amarghosh没有说
      /
      是正则表达式的一部分;他说这标志着正则表达式的开始。对我来说,这似乎很合理。嗯,/启动匹配操作符,而不是正则表达式。这是一个细微但重要的区别。我不懂Perl,我也不知道其中的区别-你能解释一下/给出一个链接吗?斜杠里的东西是真正的“正则表达式”。斜杠只指示表达式的开始和停止位置,但不是实际表达式的一部分。@Amarghosh:正则表达式是