文字列处理Perl,Java等.pptVIP

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
文字列処理:Perl, Java等 徃住研究室 D2 村井 源 講義の流れ テキストの階層構造 文字列と処理 正規表現 Perl, Javaでの正規表現処理 Chasenによる形態素解析 テキストの階層構造 文字: 例 あ,山,F  文字列: 例 今日,なごむ,computer 命題: 例 狭い部屋、天気は晴れ 文: “。”で区切られる単位 文脈: 文の連続 文字列と単語 単語は文法上の意味的な区切り 名詞?動詞?形容詞?接続詞などの品詞で分解することを形態素解析などと呼ぶ 文字列は必ずしも単語でなくてよい ただし意味処理を行う場合には実際には単語や文節(単語の連続)レベルでの処理が行われることが多い  文字列とは? 基本的には文字が並んだデータ 具体的にどのような形式で文字列を情報として持っているかは様々に異なる 文字コードの違い(SJIS, EUC, Unicode…) データ形式の違い(Text, HTML, Word…) オブジェクト指向(JavaのStringなど) 文字列の処理 大量テキストデータを効率よく処理したい Ex. 東工大のwebから「認知科学」に関するテキストを全部集めたい テキストデータに複雑な処理を施したい Ex. 夏目漱石の全集から人の感情に関する形容詞だけを抜き出して使用頻度を調べたい 文字列処理の基本 検索 ある特定の条件に適合する文字列を探し出す 置換 ある特定の条件に適合する文字列を処理して別の特定の文字列に置き換える 通常の検索?置換 例えば: テキストから「図2-1」という文字列を探し出してそれを全部「図3-1」という文字列に置き換えたい 例えばWordだと 通常の検索?置換の問題 図2-1を図3-1に自動的に置き換える場合に、図2-11や図2-12などの意図した以外の箇所も同時に置き換えてしまう 逆に図2-1は置換されずに残る 検索?置換の条件を文字列そのものではなく、もっと自由に設定したい 正規表現 (Regular Expression) 文字列の検索?置換に特化した表現形式 多少の方言はあるものの大体統一されている PERL, JAVA, Ruby, PHPなど様々なコンピュータ言語が対応している 正規表現の基本ルール A Aという文字 ABC ABCという文字列 A+ 1個以上連続したA(A, AA, AAA, ...) A* 0個以上連続したA( , A, AA, AAA, ...) . 1つの任意文字(A, B, C, ...) (\nを除く) ? 0または1つの任意文字( , A, B, C, ...) ^ABC ABCで始まっていたら ABC$ ABCで終わっていたら [ABC] A,B,Cのいずれか1文字 [A-Z] A~Zまでのいずれか1文字 [A-Za-z0-9] A~Z, a~z, 0-9までのいずれか1文字 [^ABC] A,B,C以外の文字 [^A-Z] A~Z以外の文字 A|B|C AまたはBまたはC とほほのWWW入門より引用 正規表現の例題として 「図2-1」が含まれるテキストを検索して「図3-1」に置換したい しかし、「図2-12」などは外したい 逆に「図2-1」「図2?1」などの表記ミスは含めたい 例題の考え方 数字の全角と半角は両方入れたいので → [22]と[11] 「図2」のあとの記号は、-、-、?全部許可 → [-\-?] ( 「-」のような正規表現上で特別な役割を与えられている記号は誤解されないために前に「\」をつけて「\-」 と表現する) 「図2-1」の後に数字が来るのは避けたい → 最後に[^0-90-9]をつける 例題の答え 図[22][-\-?][11][^0-90-9] 正規表現だけで大丈夫? 正規表現は強力な文字列処理ツールだが基本的には一つの検索?置換だけの表現 条件分岐や繰り返し処理などが含まれる複雑な文字列処理を行うためにはこれらの正規表現を組み合わせて使う そこで正規表現を使えるプログラム言語が必要になってくる Perl ラリー?ウォールによって作られたインタプリタ方式のプログラミング言語 多様な表現が可能で他の言語に比べて、比較的習得が容易であるとされる。 強力な文字列演算機能 - 拡張された正規表現構文をサポート CGIやシステム管理、その他の簡単なプログラムを書くのに広く用いられている GPLライセンスでも提供されているので無料で利用可能 (Wikipediaより引用) Perlの入手とインストール Windows/Macの場合/からPerlを選択してActive Perlの最新版を入手

您可能关注的文档

文档评论(0)

***** + 关注
实名认证
文档贡献者

本账号下所有文档分享可拿50%收益 欢迎分享

1亿VIP精品文档

相关文档