タグ

matchとqiitaに関するishideoのブックマーク (6)

  • jqを使って少し複雑な条件式でフィルタリングする方法をまとめてみた - Qiita

    エンジニアになって以来あまりシェルを触ることがなく、必要に迫られてシェルを改めて勉強し始めてからは、シェルの表現力の高さをようやく実感しています。 今回はコマンドラインでJSONを操作するjqで少し複雑な条件式を書く時のサンプルをまとめてみました。 selectでフィルタリングをする まずはこのようなJSONデータを用意します。(今回はスペースの都合上、配列に一つの要素だけを含みますが、実際には不特定多数の要素が入っていることを想定します) { "items": [ { "rendered_body": "<h1>Example</h1>", "body": "# Example", "coediting": false, "comments_count": 100, "created_at": "2000-01-01T00:00:00+00:00", "group": { "create

    jqを使って少し複雑な条件式でフィルタリングする方法をまとめてみた - Qiita
  • Pythonでの正規表現の使い方 - Qiita

    正規表現の検索演算子やパターンや検索自体のルールはPerlPHPとほとんど変わりないみたいですが。 正規表現の関数の使い方などは全然違うので、自分の勉強&整理の為に書いておきます。 正規表現の検索演算子などには言及しません 初期設定 以下のライブラリーを読み込むことで、正規表現が使えるようになります。 正規表現を使うためには、2つ方法があります。 一つは、事前に検索するパターンをコンパイルしておく方法です。 この方法を使うと、同じパターンで何度も検索する場合に、毎回パターンを指定する必要なく、高速に検索することが出来るようになります。 http://docs.python.jp/3/howto/regex.html#compiling-regular-expressions それから、パターンの最初にrを付けることをを勧めします、付けなくても基的には大丈夫ですが、付けることによって文字

    Pythonでの正規表現の使い方 - Qiita
  • 分かりやすいpythonの正規表現の例 - Qiita

    import re # rを付けることを推奨。 # バックスラッシュをそのままで分かりやすいため。 content = r'hellow python, 123, end.' pattern = 'hel' result = re.match(pattern, content) if result: #none以外の場合 print(result) # output:<_sre.SRE_Match object; span=(0, 3), match='hel'> print(result.span()) # output:(0, 3) print(result.group()) # output:hel

    分かりやすいpythonの正規表現の例 - Qiita
  • Python、正規表現について - Qiita

    正規表現についてよく使いそうなものをメモ。 ・Macpython <メモ内容> ① ”.”は 改行以外の任意の1文字(数字含む) ② matchは、先頭からマッチするかを判定する関数、マッチする場合はmatchオブジェクト(正規表現をまとめたもの)を返し、マッチしなければNONEを返す。 ③ searchは、途中でマッチするかどうかを判定する関数。2箇所ある場合は最初の1箇所のみ返す。マッチする場合はmatchオブジェクトを返し、マッチしなければNONEを返す。 ④ splitは指定した文字で分割する関数、返り値はリスト型 ⑤ findallは、指定した文字を全て返す関数、返り値はリスト型 (1)例題 import re text1 = 'abcde' text2 = 'a' text3 = '1234' text4 = 'a1234' text5 = 'a1234a567' text

    Python、正規表現について - Qiita
  • pythonの正規表現における先頭・末尾マッチ - Qiita

    こんなエントリーを見ました。 正規表現によるバリデーションでは ^ と $ ではなく \A と \z を使おう へー、知らなかったなー、pythonではどうなんだろうなー、と思って試してみたメモ。バージョンは3.3。 \z(小文字)ではなく\Z(大文字) Rubyと同じように\zを指定してみたら思うように動かなかったのでなんでだろー、と思ってドキュメント見たら\Zでした。 >>> import re >>> re.match('\Aabc\Z', 'abc') <_sre.SRE_Match object at 0x7f12f3d371d0> >>> re.match('\Aabc\Z', 'abc\ndef') >>> ちなみにRubyでは\Zと\zは分かれている模様。\Zは末尾の改行を無視して判定するみたい。 デフォルトは複数行モードではない Rubyはデフォルトで複数行モードになって

    pythonの正規表現における先頭・末尾マッチ - Qiita
  • 【メモ】正規表現でn桁以内の数字列のみ検索する - Qiita

    不定形の文字列中の数字部分を抽出してちょっと計算したいんだけど、 1000桁みたいなint型やdouble型に変換したらややこしくなるレベルの桁数が出てきたら 面倒くさくなるからそれは除いて検索しようってなったときにちょっとハマったからメモ。 \d{1,5}とかやっても1234567890とかが出てきたら12345と67890で分かれてマッチしちゃうし どうしようって思ってたところ、 $number_text = '999999999999999999 19 18782 999999999999999999999 18782 777 999999999999999999999999 37564 1hoge22bar333foo4444fuga55555piyo666666bora7777777toto88888888'; $pattern = '/(?<!\d)\d{1,5}(?!\d)/

    【メモ】正規表現でn桁以内の数字列のみ検索する - Qiita
  • 1