タグ

正規表現と罠に関するiwwのブックマーク (2)

  • Perl の正規表現でマッチした文字列自体を取得する今昔 - Qiita

    バージョンごとの表の絵文字は以下の意味です 使用可能 使用可能だが致命的な性能劣化を招くため忌避される (空欄) 対応前バージョン Perl 5.20 以降なら $& による方法が一番簡単ですが、それ以前のバージョンでの経緯を知っているチームメンバーから拒絶反応を受ける可能性もあります。そのプログラムが今後 Perl 5.20 より前のバージョンで実行する必要が一切ないと言えるなら $& でも問題ないと思いますが、外部公開するモジュールなどの場合は use v5.20 等で明言しないのであれば $& の使用は避けておくべきでしょう。 それぞれの手法 マッチ全体をキャプチャのカッコでくくって $1 で参照する方法 今も伝統的に行われている、マッチ全体をキャプチャのカッコでくくる方法です。 # $body から a か A で始まる単語を取り出して $match に入れる # \b は単語境界

    Perl の正規表現でマッチした文字列自体を取得する今昔 - Qiita
    iww
    iww 2020/11/09
    『Perl 5.20 ではこの問題が完全に解決され、$& などを使うことによる性能低下問題はなくなりました。』 そうだったのか
  • Man page of EXPECT

    Section: User Commands (1) Updated: 29 December 1994 Index JM Home Page roff page 名前 expect - 対話的なプログラムとのやりとりを自動化するプログラム, バージョン 5 書式 expect [ -dDinN ] [ -c cmds ] [ -[f|b] ] cmdfile ] [ args ] イントロダクション Expect は、スクリプトの指示に従って、対話的なプログラムと"会話"するプログラムである。 以下のスクリプトに示すように、 Expect には、対話プログラムからの期待されうる入力とそれに対する正しい応答を 教えておく。インタプリタは分岐処理と高度な制御構造を提供し、 対話プログラムへの指示を行なう。 さらに、必要な時にスクリプトから制御を奪って直接人間が指示を行ない、 その後、制御をス

    iww
    iww 2019/09/18
    『expect は行指向ではないので、(行ではなく)データの始まりと終りに マッチする。』 超大事。 行頭が欲しいなら "\nhoge" でなんとかする
  • 1