SlideShare a Scribd company logo
社内勉強会
正規表現入門
 @shugonumano
正規表現とは
•   文字列の集合を一つの文字列で表現する方法の一つ

•   ほとんどのプログラミング言語では、(中略)正規表
    現を使うことができる。AWK、Sed、Perl、
    Python、Ruby、Java、JavaScript、PHPなど

•   それぞれの言語やアプリケーションで細部の仕様が
    異なっているが、POSIXにより標準規格も定められ
    それに準拠するものも増えてきてはいる。
                                   引用:wikipedia
入門編
• 実際に見かける部分を中心に読みとい
 ていきます。

• ¥w,¥d,¥s,¥S,.,+,*,?とエスケープ など
• リファレンス的なものはググればあり
 ます
 http://rfs.jp/sb/perl/02/09.html
今日のお題
$ diff getstat_fw_vlan_***.pl.orig getstat_fw_vlan_***.pl
---snip---
62,65c62,64
<
< if($ifDescr[$i] =‾ /IF-MIB¥:¥:ifDescr¥.(¥d+)¥s+¥=¥s+STRING¥:¥s+(¥d+)¥n/){
<      $ifindex = $1;
<      $ifname = $2;
---
> if($ifDescr[$i] =‾ /IF-MIB¥:¥:ifDescr¥.(¥d+)¥s+¥=¥s+STRING¥:¥s+([¥S]+)¥n/){    #修正①
>     $ifindex = $1;
>     $ifname = $2;
68c67
< if($ifStatus[$i] =‾ /IF-MIB¥:¥:ifOperStatus¥.¥d+¥s+¥=¥s+INTEGER¥:¥s+(¥d+)¥n/){
---
> if($ifStatus[$i] =‾ /IF-MIB¥:¥:ifOperStatus¥.¥d+¥s+¥=¥s+INTEGER¥:¥s+¥w+¥((¥d+)¥)¥n/){   #修正②
79c78
<
---
>
82c81
<     if ( $stats == up(1) ) {
---
>     if ( $stats == 1 ) {         #修正③
その他
•   また、statsの/home/noah/snumano/PerlTestに下記ファイル
    を用意しましたので、各自コピーしてください。当日い
    ろいろといじっていきましょう。

    •   test.pl        # test用perl script

    •   test_ifDescr     # snmp ifDescrのoutput

    •   test_ifOperStatus # snmp ifOperStatusのoutput



•   あと、dumperとかも説明します。
質疑応答

More Related Content

PDF
PDOでデータベース接続と SQLインジェクション対策
PPTX
PHP7を魔改造した話
PDF
よいことも悪いこともぜんぶPHPが教えてくれた
PDF
SlowQueryとの戦い
PDF
知って得する標準関数の使い方
PDF
Zend Frameworkで始める携帯サイト
PDF
Yapc -asia 2012 lt @studio3104
PDF
Ruby 同好会宣言
PDOでデータベース接続と SQLインジェクション対策
PHP7を魔改造した話
よいことも悪いこともぜんぶPHPが教えてくれた
SlowQueryとの戦い
知って得する標準関数の使い方
Zend Frameworkで始める携帯サイト
Yapc -asia 2012 lt @studio3104
Ruby 同好会宣言

Viewers also liked (8)

PDF
Girl Power (1)
PPTX
Prezentatsia222 копия (2)
PDF
PDF
Factores o elementos de la comunicación
PDF
Rami_CV
PDF
Storyboard Page 5
PPTX
ASM CWK: InDesign Guide.
Girl Power (1)
Prezentatsia222 копия (2)
Factores o elementos de la comunicación
Rami_CV
Storyboard Page 5
ASM CWK: InDesign Guide.
Ad

Similar to 正規表現勉強会入門 (20)

KEY
20年越しで Perl 4 to 5 した話
PDF
Perl勉強会#2資料
PDF
Write good parser in perl
PPTX
ゼロからプログラミング講座(Perl) #2 @越谷 講義ノート
PPT
正規表現のススメ_20091217
ODP
正規表現
PPT
2017年夏のPerl
PPT
CPANの依存モジュールをもう少し正しく検出したい
PDF
正規表現 入門
PDF
初めてのPerl
PDF
Perl6で遊ぼう
PPTX
実録『すぐわかるPerl』〜社内ツール悲喜こもごも〜
PDF
初見では読みづらいPerl
PDF
JavaScriptの正規表現
PPT
20130725 perl beginners_9
PPT
2018年夏のPerl5
PDF
中級正規表現
PDF
about Perl5.10
PPTX
私がPerlを使う理由
PPTX
Perl logging
20年越しで Perl 4 to 5 した話
Perl勉強会#2資料
Write good parser in perl
ゼロからプログラミング講座(Perl) #2 @越谷 講義ノート
正規表現のススメ_20091217
正規表現
2017年夏のPerl
CPANの依存モジュールをもう少し正しく検出したい
正規表現 入門
初めてのPerl
Perl6で遊ぼう
実録『すぐわかるPerl』〜社内ツール悲喜こもごも〜
初見では読みづらいPerl
JavaScriptの正規表現
20130725 perl beginners_9
2018年夏のPerl5
中級正規表現
about Perl5.10
私がPerlを使う理由
Perl logging
Ad

More from Shugo Numano (15)

PDF
技術勉強会20150916
PDF
勉強会20150617
PDF
勉強会20150218 ロボット
PDF
20150101勉強会 dokku alt
PDF
社内勉強会_散歩系アプリ20141029
PDF
MackerelAPI使ってみた
PDF
20120827勉強会 webアプリ作ってみた2
PDF
20120702勉強会 webアプリ作ってみた
PDF
社内勉強会プロジェクションマッピング
PDF
勉強会20140416_iphone
PDF
勉強会20140319 rspec_capybara
PDF
勉強会20140207
PDF
勉強会20131216
PDF
Cloud foundry
PDF
Heroku
技術勉強会20150916
勉強会20150617
勉強会20150218 ロボット
20150101勉強会 dokku alt
社内勉強会_散歩系アプリ20141029
MackerelAPI使ってみた
20120827勉強会 webアプリ作ってみた2
20120702勉強会 webアプリ作ってみた
社内勉強会プロジェクションマッピング
勉強会20140416_iphone
勉強会20140319 rspec_capybara
勉強会20140207
勉強会20131216
Cloud foundry
Heroku

正規表現勉強会入門

  • 2. 正規表現とは • 文字列の集合を一つの文字列で表現する方法の一つ • ほとんどのプログラミング言語では、(中略)正規表 現を使うことができる。AWK、Sed、Perl、 Python、Ruby、Java、JavaScript、PHPなど • それぞれの言語やアプリケーションで細部の仕様が 異なっているが、POSIXにより標準規格も定められ それに準拠するものも増えてきてはいる。 引用:wikipedia
  • 3. 入門編 • 実際に見かける部分を中心に読みとい ていきます。 • ¥w,¥d,¥s,¥S,.,+,*,?とエスケープ など • リファレンス的なものはググればあり ます http://rfs.jp/sb/perl/02/09.html
  • 4. 今日のお題 $ diff getstat_fw_vlan_***.pl.orig getstat_fw_vlan_***.pl ---snip--- 62,65c62,64 < < if($ifDescr[$i] =‾ /IF-MIB¥:¥:ifDescr¥.(¥d+)¥s+¥=¥s+STRING¥:¥s+(¥d+)¥n/){ < $ifindex = $1; < $ifname = $2; --- > if($ifDescr[$i] =‾ /IF-MIB¥:¥:ifDescr¥.(¥d+)¥s+¥=¥s+STRING¥:¥s+([¥S]+)¥n/){ #修正① > $ifindex = $1; > $ifname = $2; 68c67 < if($ifStatus[$i] =‾ /IF-MIB¥:¥:ifOperStatus¥.¥d+¥s+¥=¥s+INTEGER¥:¥s+(¥d+)¥n/){ --- > if($ifStatus[$i] =‾ /IF-MIB¥:¥:ifOperStatus¥.¥d+¥s+¥=¥s+INTEGER¥:¥s+¥w+¥((¥d+)¥)¥n/){ #修正② 79c78 < --- > 82c81 < if ( $stats == up(1) ) { --- > if ( $stats == 1 ) {      #修正③
  • 5. その他 • また、statsの/home/noah/snumano/PerlTestに下記ファイル を用意しましたので、各自コピーしてください。当日い ろいろといじっていきましょう。 • test.pl # test用perl script • test_ifDescr # snmp ifDescrのoutput • test_ifOperStatus # snmp ifOperStatusのoutput • あと、dumperとかも説明します。