Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
正規表現における先読みと後読みは、マッチするかどうか確認は行うけれどマッチした文字列としては取得しないときに利用します。先読みには肯定先読みと否定先読み、後読みには肯定先読みと否定先読み、がそれぞれ用意されています。ここでは Python を使って正規表現で先読みと後読みを使用する方法について解説します。
「〜を含まない」といった、否定の意味を持つ正規表現を記述する場合、下記のように、大きく分けて2種類のケースがあります。 「特定の1文字を含まない」といった否定表現か、もしくは「正規表現パターンを含まない」といった表現かで、大きく解決の方針が異なる点に注意して下さい。 特定の1文字だけを否定したい場合は非常にシンプルです。この場合、「文字クラス」、もしくはエスケープシーケンスで表される文字型を利用する事で表現できます。 一方で、特定の正規表現パターンを否定したい場合、少し記述が複雑になります。今回は「否定先読み」を利用した表現を、この記事の後半にご紹介します。 基本的な正規表現の記法はこの記事では触れませんので、不安な方はこちらの記事も合わせてご参照下さい: 正規表現とは?基本構文とメタ文字一覧(サンプル付) それでは、順番に詳しく見ていきます。 任意の一文字を含まない文字列の正規表現 a「
正規表現の「AND(かつ)」の表現 正規表現において、複数のパターンの論理積「AND」、すなわち「A、かつB」といったパターンの並列表現はややトリッキーです。初学者にはややハードルが高いかもしれませんが、記事後半に解説を加えておきましたので、よくわからない方はご一読下さい。 〇〇を含む、AND(かつ)、〇〇を含む AND(かつ)条件の例として、リテラル(=ただの文字)のマッチを考えてみます。下記は、「ラーメンを含む、かつ、カレーを含む」という、お子様も大好きなメニューの定番をマッチングする正規表現です。 // ラーメンを含み、かつ、カレーを含む文字列の表現 ^(?=.*ラーメン)(?=.*カレー).*$ 注目すべきは、「(?=」「)」の括弧です。これは肯定先読みを言いますが、こちらについては、追って解説します。 〇〇を含む、AND(かつ)、〇〇を含むまない 同様に、否定先読みを組み合わせて
Python勉強し始めて一ヶ月くらいたったんで一度復習を兼ねてまとめてみようと思います。僕が今までPHPとかPerlとかJavaScriptを使っていて、Pythonはこうやるのかーとか、これは便利だなーと思ったところ、開発していてはまったところなどピックアップしてみました。 初めてのPythonを読んで初心者向け勉強会に参加した程度の知識です。とりあえず初めてのPythonがかなりいいのでこれ読むだけで大体基礎は習得できた気がします。基本的な文法の説明だけでなく、大事なことは何回も繰り返し書いてあったり、Pythonの思想などにも触れているのでなぜこういう実装になっているかということも理解できます。これオススメ。 尚、このエントリーではPythonのバージョンは2.5をベースにしてます(主にGoogleAppEngineで使ってるので)。間違えなどあったらツッコミお待ちしてます。 文法、
システムの構築、新しい技術の習得、PythonやDevOpsなどに情熱を注ぐソフトウェア開発者です。現在はチューリッヒを拠点とするビッグデータのスタートアップで働いており、データ分析およびデータ管理ソリューションのためのPythonの技術を磨いています。 1 はじめに Python は開発時間を短縮できるという点で一般的に評価の高い言語です。しかし、Pythonを使って効率よくデータ分析をするには、思わぬ落とし穴があります。動的かつオープンソースのシステムであるという特徴は、初めは開発を容易にしてくれますが、大規模システムの破綻の原因になり得ます。ライブラリが複雑で実行時間が遅く、データの完全性を考慮した設計になっていないので、開発時間の短縮どころか、すぐに時間を使い果たしてしまう可能性があるのです。 この記事ではPythonやビッグデータで作業をする時に、最も時間を無駄にしがちな事柄につ
はてなブログに移行して最初の記事はやはりPythonネタにしました。 はてなブログいいですね。デザインの編集がやりやすくなったのと、Markdownで書けるのが素晴らしいです。 PyCon 2013の動画を見ていたら、素晴らしい"Transforming Code into Beautiful, Idiomatic Python"という発表を見つけたのでそのまとめです。 今どきのPythonコードのベターな書き方を紹介しています。 Transforming Code into Beautiful, Idiomatic Python ... スライドはこちらにありました 結構長くなってしまったので、知ってる項目は読み飛ばしてもらえばと思います。 ループの基本 整数のループ まずは基本のループ。 Cのfor int i=0; i<6; i++をPythonで単純に書くとこうなります。 for
Pythonのプログラムを起動する際に引数を渡す事ができます。コマンドライン引数と呼ばれるもので、状況に応じて処理を分けたい場合などで有効です。 コマンドライン引数の取得 サンプルコードをtest_argv.pyというファイル名で保存し、下記コマンドで実行してみましょう。 python test_argv.py python izm com import sys args = sys.argv print(args) print('第1引数:' + args[1]) print('第2引数:' + args[2]) print('第3引数:' + args[3]) ['test_argv.py', 'python', 'izm', 'com'] 第1引数:python 第2引数:izm 第3引数:com 3行目のsys.argvに起動時に設定した引数が格納されます。リストで値が返されますが
This document is for an old version of Python that is no longer supported. You should upgrade and read the Python documentation for the current stable release. The so-called CSV (Comma Separated Values) format is the most common import and export format for spreadsheets and databases. There is no “CSV standard”, so the format is operationally defined by the many applications which read and write i
Python で繰り返し処理を行う時に利用できる for 文の使い方について解説します。 for 文は別途指定したイテラブルなオブジェクトの要素の数だけ要素を 1 つずつ取り出してながら繰り返しを行います。 (Last modified: 2024-09-11)
リストに対して操作をするとき、その要素を簡単に指定できると楽。 2.3.6 シーケンス型 によると、(太字は引用者による) s[i] s の 0 から数えて i 番目の要素 (…) i または j が負の数の場合、インデクスは文字列の末端からの相対インデクスになります マイナスつければ末尾から指定できるの忘れてた。 パタッ(o_ _)o~† 気づかずこんな冗長な書き方を… 。 a[len(a)-1] a[:len(a)-1] 忘れないように図を書いておこう。 上記に特別な名前を付けていないところが Python 流ということかな? ついでにコードも書いておく。 a = [1,2,3,4,5] print u"先頭の要素: ", a[0] print u"2 番目以降の要素のリスト: ", a[1:] print u"最後の要素: ", a[-1] print u"最後の要素よりも前にある要
Python 自体のインストールは,Windows でも簡単にできますが, いろいろなパッケージもインストールしようとすると一苦労します. 役に立つかはわかりませんが,Windows での Python の開発環境を 構築したときのインストールメモになります.なお,使おうと思っている パッケージを考慮して,32bit 版の Python 2.7 をインストールした 場合になりますので,注意してください. パッケージを 1 つ 1 つインストールするのが面倒な方は, インストールするだけですぐに使える pythonxy(あるいは Python(x,y)) というディストリビューションがあります. インストールすれば,ほぼ MATLAB のような環境が手に入ります. pythonxy Python 本体のインストール手順です. Python.org にアクセスする. "Downloads" -
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く