簡體   English   中英

如何使Perl正則表達式的一部分可選?

[英]How can I make part of a Perl regular expression optional?

我想要比賽

 my @array = ( 'Tree' , 'JoeTree');

    foreach (@array ) {
      if ( $_ =~ /^(Joe)Tree/gi) {
        print "matched $_";
      }
    }

它只匹配JoeTree。 它不匹配樹?

嘗試:

if (/^(?:Joe)?Tree/gi)
  • 我們讓Joe部分成為可選的。
  • 您也可以將(..)更改為(?:...)因為您只是分組。
  • 另外$_ =~是多余的,因為默認情況下我們簽入$_

你錯過了? /^(Joe)?Tree/gi

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM