Perlで正規表現の結果を保存するために括弧が必要なのはなぜですか?

UnitasBrooks

なぜこれがfooとbarの間の文字列を返すのですか?

my ($var) = $my_string =~ /foo(.*)bar/;

そして、これはヒットがあった場合は1を返し、一致がない場合は何も返しません。

my $var = $my_string =~ /foo(.*)bar/;

具体的には、変数を囲む括弧は何をしているのですか?

ハンターマクミレン

Perlの他の多くのものと同様に、その式の結果は、入れられるコンテキストに基づいて異なります。

パターンマッチ演算子は、リスト連絡先のキャプチャのリストを返します(最初の例)。演算子がスカラーコンテキストで評価される場合(2番目の例)、ブール値は、演算子が一致したかどうかを示し、代わりに返されます。

特定の質問に答えるために、周りに親を配置すると、$varそれがリストコンテキストに強制され、パターン一致から返されたリストの最初の要素がに割り当てられ$varます。

これは事実上、これらのステートメントと同じです。

my @matches = $my_string =~ /foo(.*)bar/;
my $var = $matches[0];

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

C#とPerlの正規表現の結果が異なるのはなぜですか?

分類Dev

改行に続く特定の文字列を削除するためにPerl正規表現が機能しないのはなぜですか?

分類Dev

'g'フラグがJavaScript正規表現の結果を変更するのはなぜですか?

分類Dev

正規表現で目的の結果が得られなかったのはなぜですか

分類Dev

Pythonの正規表現で、(h)*と(h)+が同じ結果を生成できないのはなぜですか?

分類Dev

この正規表現がPythonとJavascriptで2つの異なる結果をもたらすのはなぜですか?

分類Dev

この正規表現の置換に余分な括弧があるのはなぜですか?

分類Dev

HTML タグ名を取得するための正規表現が機能しないのはなぜですか?

分類Dev

この正規表現コードがPython2.7とPython3.7で異なる結果をもたらすのはなぜですか?

分類Dev

正しく機能させるために正規表現パターンに余分なスペースが必要なのはなぜですか?

分類Dev

findの正規表現が結果を返さないのはなぜですか?

分類Dev

正規表現ファインダーが最初の結果のみを返すのはなぜですか

分類Dev

なぜ$ _ =〜「正規表現」がPerlで有効なのですか?

分類Dev

perl正規表現が必要なほど貪欲ではないのはなぜですか?

分類Dev

私のperl正規表現で不均衡な括弧をエスケープする必要があります

分類Dev

このPerl正規表現で `\ s +`が `\ s \ s *`よりもはるかに速いのはなぜですか?

分類Dev

このPerl正規表現で `\ s +`が `\ s \ s *`よりもはるかに速いのはなぜですか?

分類Dev

括弧内の空白を削除するための正規表現は何ですか?

分類Dev

回文の正規表現でreplaceを使用する必要があるのはなぜですか?

分類Dev

正しい結果を得るためにintからcharを引いたものをとる必要があるのはなぜですか?c#

分類Dev

正規表現がng-patternで逆になるのはなぜですか?

分類Dev

正規表現が一致にスペースを含めるのはなぜですか

分類Dev

Java正規表現で文字列全体を指定する必要があるのはなぜですか?

分類Dev

Goで正規表現が常に失敗するのはなぜですか?

分類Dev

複数の一致がある場合、Pythonが正規表現を使用して結果を返さないのはなぜですか?

分類Dev

正規表現を使用したRadDataForm検証が常に失敗するのはなぜですか?

分類Dev

次の括弧なしで角括弧で囲まれた単語を照合するための正規表現

分類Dev

正規表現がBashで常に「true」を返すのはなぜですか?

分類Dev

文字列内の特殊文字を検索するために正規表現を使用して条件が True を返すのはなぜですか?

Related 関連記事

  1. 1

    C#とPerlの正規表現の結果が異なるのはなぜですか?

  2. 2

    改行に続く特定の文字列を削除するためにPerl正規表現が機能しないのはなぜですか?

  3. 3

    'g'フラグがJavaScript正規表現の結果を変更するのはなぜですか?

  4. 4

    正規表現で目的の結果が得られなかったのはなぜですか

  5. 5

    Pythonの正規表現で、(h)*と(h)+が同じ結果を生成できないのはなぜですか?

  6. 6

    この正規表現がPythonとJavascriptで2つの異なる結果をもたらすのはなぜですか?

  7. 7

    この正規表現の置換に余分な括弧があるのはなぜですか?

  8. 8

    HTML タグ名を取得するための正規表現が機能しないのはなぜですか?

  9. 9

    この正規表現コードがPython2.7とPython3.7で異なる結果をもたらすのはなぜですか?

  10. 10

    正しく機能させるために正規表現パターンに余分なスペースが必要なのはなぜですか?

  11. 11

    findの正規表現が結果を返さないのはなぜですか?

  12. 12

    正規表現ファインダーが最初の結果のみを返すのはなぜですか

  13. 13

    なぜ$ _ =〜「正規表現」がPerlで有効なのですか?

  14. 14

    perl正規表現が必要なほど貪欲ではないのはなぜですか?

  15. 15

    私のperl正規表現で不均衡な括弧をエスケープする必要があります

  16. 16

    このPerl正規表現で `\ s +`が `\ s \ s *`よりもはるかに速いのはなぜですか?

  17. 17

    このPerl正規表現で `\ s +`が `\ s \ s *`よりもはるかに速いのはなぜですか?

  18. 18

    括弧内の空白を削除するための正規表現は何ですか?

  19. 19

    回文の正規表現でreplaceを使用する必要があるのはなぜですか?

  20. 20

    正しい結果を得るためにintからcharを引いたものをとる必要があるのはなぜですか?c#

  21. 21

    正規表現がng-patternで逆になるのはなぜですか?

  22. 22

    正規表現が一致にスペースを含めるのはなぜですか

  23. 23

    Java正規表現で文字列全体を指定する必要があるのはなぜですか?

  24. 24

    Goで正規表現が常に失敗するのはなぜですか?

  25. 25

    複数の一致がある場合、Pythonが正規表現を使用して結果を返さないのはなぜですか?

  26. 26

    正規表現を使用したRadDataForm検証が常に失敗するのはなぜですか?

  27. 27

    次の括弧なしで角括弧で囲まれた単語を照合するための正規表現

  28. 28

    正規表現がBashで常に「true」を返すのはなぜですか?

  29. 29

    文字列内の特殊文字を検索するために正規表現を使用して条件が True を返すのはなぜですか?

ホットタグ

アーカイブ