atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
Intro to Python
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
Intro to Python
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
Intro to Python
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • Intro to Python
  • 正規表現の編集履歴ソース
「正規表現」の編集履歴(バックアップ)一覧に戻る

正規表現 - (2025/05/08 (木) 21:32:46) のソース

** 目次

#contents

** 文字列が指定の正規表現パターンとマッチするか否か調べる

reモジュールのsearch関数を使う。指定した正規表現パターンとマッチするとMatchオブジェクトを返し、マッチしないとNoneを返す。戻り値はブール型ではとそれぞれTrueとFalseになるので、そのままブール式として利用できる。

#highlight(){{
>>> import re
>>> s = '和多田美咲さん'
>>> print(re.search('美咲さん$', s))
<re.Match object; span=(3, 7), match='美咲さん'>
>>> print(re.search('^和', s))
<re.Match object; span=(0, 1), match='和'>
>>> print(re.search('和$', s))
None
>>> bool(re.search('美咲さん$', s))
True
>>> bool(re.search('和$', s))
False
}}

複数を一度に調べたいときは、リストにしてリスト内包表記を使う。

#highlight(){{
>>> ss = ['石見舞菜香', '鈴木みのり', '瀬戸麻沙美', '和多田美咲']
>>> [s for s in ss if re.search('美', s)]
['瀬戸麻沙美', '和多田美咲']
>>> [s for s in ss if re.search('美$', s)]
['瀬戸麻沙美']
>>> [s for s in ss if re.search('希世乃', s)]
[]
>>> len([s for s in ss if re.search('美', s)])
2
>>> len([s for s in ss if re.search('希世乃', s)])
0
}}

** 特定の文字列で始まる(始まらない)文字列を抽出する

正規表現で^記号は文字列の先頭を表すため、これを正規表現パターンに利用する。以下の例では、複数の文字列からなるリストから、リスト内包表記を使用して、指定した正規表現パターンにマッチする(しない)要素を取り出している。

#highlight(){{
>>> import re
>>> ss = ['石見舞菜香', '鈴木みのり', '瀬戸麻沙美', 'のぐちゆり', '和多田美咲']
>>> # 「美」で終わる氏名
>>> [s for s in ss if re.search('美$', s)]
['瀬戸麻沙美']
>>> # 「美」で終わらない氏名
>>> [s for s in ss if not re.search('美$', s)]
['石見舞菜香', '鈴木みのり', 'のぐちゆり', '和多田美咲']
>>> # 「美」を含むが「美」で終わらない氏名
>>> [s for s in ss if re.search('美.+$', s)]
['和多田美咲']
}}

ルックアラウンド式(lookaround expression)を使うこともできる。

#highlight(){{
>>> # 「美」で終わる氏名 ※肯定的な後読み
>>> [s for s in ss if re.search('(?<=美)$', s)]
['瀬戸麻沙美']
>>> # 「美」で終わらない氏名 ※否定的な後読み
>>> [s for s in ss if re.search('(?<!美)$', s)]
['石見舞菜香', '鈴木みのり', 'のぐちゆり', '和多田美咲']
}}

ルックアラウンド式については、以下のページの「Lookaround の概要」を参照のこと。
- https://learn.microsoft.com/ja-jp/dotnet/standard/base-types/regular-expression-language-quick-reference#lookarounds-at-a-glance

** 特定の文字列で終わる(終わらない)文字列を抽出する

正規表現で$記号は文字列の最後を表すため、これを正規表現パターンに利用する。以下の例では、複数の文字列からなるリストから、リスト内包表記を使用して、指定した正規表現パターンにマッチする(しない)要素を取り出している。

#highlight(){{
>>> import re
>>> ss = ['石見舞菜香', '鈴木みのり', '瀬戸麻沙美', 'のぐちゆり', '和多田美咲']
>>> # 「の」で始まる氏名
>>> [s for s in ss if re.search('^の', s)]
['のぐちゆり']
>>> # 「の」で始まらない氏名
>>> [s for s in ss if not re.search('^の', s)]
['石見舞菜香', '鈴木みのり', '瀬戸麻沙美', '和多田美咲']
>>> # 「の」を含むが「の」で始まらない氏名
>>> [s for s in ss if re.search('^.+の', s)]
['鈴木みのり']
}}

ルックアラウンド式(lookaround expression)を使うこともできる。

#highlight(){{
>>> # 「の」で始まる氏名 ※肯定的な先読み
>>> [s for s in ss if re.search('^(?=の)', s)]
['のぐちゆり']
>>> # 「の」で始まらない氏名 ※否定的な先読み
>>> [s for s in ss if re.search('^(?!の)', s)]
['石見舞菜香', '鈴木みのり', '瀬戸麻沙美', '和多田美咲']
}}

ルックアラウンド式については、以下のページの「Lookaround の概要」を参照のこと。
- https://learn.microsoft.com/ja-jp/dotnet/standard/base-types/regular-expression-language-quick-reference#lookarounds-at-a-glance
LINE
シェア
Tweet
Intro to Python
記事メニュー

メニュー

  • トップページ
  • 画面出力と入力
  • 変数とオブジェクト
  • 演算子と制御構文
  • リスト
  • 数と式
  • 文字と文字列
  • 正規表現
  • 行列
  • 日付と時刻
  • ファイル・ディレクトリの操作
  • テキストファイルの入出力
  • 画像
  • 実行とデバッグ
  • 数学
  • NumPy
  • エラーメッセージ
  • 環境
  • テキストマイニング
  • インターネット
  • Anaconda
  • その他

ここを編集
記事メニュー2

更新履歴

取得中です。


ここを編集
人気記事ランキング
  1. エラーメッセージ
  2. Anaconda
  3. NumPy
もっと見る
最近更新されたページ
  • 49日前

    リスト
  • 56日前

    正規表現
  • 85日前

    メニュー
  • 88日前

    インターネット
  • 88日前

    画像
  • 103日前

    演算子と制御構文
  • 103日前

    変数とオブジェクト
  • 114日前

    Anaconda
  • 115日前

    ファイル・ディレクトリの操作
  • 115日前

    テキストファイルの入出力
もっと見る
人気記事ランキング
  1. エラーメッセージ
  2. Anaconda
  3. NumPy
もっと見る
最近更新されたページ
  • 49日前

    リスト
  • 56日前

    正規表現
  • 85日前

    メニュー
  • 88日前

    インターネット
  • 88日前

    画像
  • 103日前

    演算子と制御構文
  • 103日前

    変数とオブジェクト
  • 114日前

    Anaconda
  • 115日前

    ファイル・ディレクトリの操作
  • 115日前

    テキストファイルの入出力
もっと見る
ウィキ募集バナー
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. MadTown GTA (Beta) まとめウィキ
  2. R.E.P.O. 日本語解説Wiki
  3. シュガードール情報まとめウィキ
  4. SYNDUALITY Echo of Ada 攻略 ウィキ
  5. ソードランページ @ 非公式wiki
  6. 星飼いの詩@ ウィキ
  7. GTA5 MADTOWN(β)まとめウィキ
  8. ドラゴンボール Sparking! ZERO 攻略Wiki
  9. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  10. ガンダムGQuuuuuuX 乃木坂46部@wiki
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. ストグラ まとめ @ウィキ
  3. ゲームカタログ@Wiki ~名作からクソゲーまで~
  4. 初音ミク Wiki
  5. 発車メロディーwiki
  6. 検索してはいけない言葉 @ ウィキ
  7. 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  8. MadTown GTA (Beta) まとめウィキ
  9. Grand Theft Auto V(グランドセフトオート5)GTA5 & GTAオンライン 情報・攻略wiki
  10. 英傑大戦wiki
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. 参加者一覧 - ストグラ まとめ @ウィキ
  2. シャア専用ヅダ - アニヲタWiki(仮)
  3. 参加者一覧 - MadTown GTA (Beta) まとめウィキ
  4. サーヴァント/一覧/クラス別 - Fate/Grand Order @wiki 【FGO】
  5. 海王バローロ - オレカバトル アプリ版 @ ウィキ
  6. スエズ運河 - アニヲタWiki(仮)
  7. 魔獣トゲイラ - バトルロイヤルR+α ファンフィクション(二次創作など)総合wiki
  8. Lycoris - MadTown GTA (Beta) まとめウィキ
  9. ヘイズル・アウスラ[GAU装備] - 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  10. 868 - ストグラ まとめ @ウィキ
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.