並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 25 件 / 25件

新着順 人気順

0回以上 正規表現の検索結果1 - 25 件 / 25件

  • Python コンパイラを作ろう : コンパイラ基礎講座第一回 (理論編 1) - Qiita

    まえがき この記事は投稿者(NokonoKotlin)の個人サイトの記事から Qiita 用に移植 & 加筆したものです。 (この文言は記事が剽窃でないことを周知するためのものであり、個人サイトの宣伝ではないことをあらかじめご了承ください。) はじめに みなさんはスマブラの勉強をしてゲーム制作の勉強ができると思いますか? プログラミング学習といえば文法やライブラリの学習を想像されるかもしれません。これはその通りなのですが、プログラミングをさらに理解するためには、プログラムが動く裏側で何が起こっているのかを知る必要があります。 インタープリタとコンパイラ みなさん Python はよくご存知のことだと思いますが、今一度 Python が何かを考えてみませんか。ご存知の通り、Python はプログラミング言語であり、インタープリタを介して Python 文で書かれたプログラムを実行します。 処

      Python コンパイラを作ろう : コンパイラ基礎講座第一回 (理論編 1) - Qiita
    • rbsのtree-sitterパーサを書いて、neovimのシンタックスハイライトに利用する - joker1007’s diary

      皆さん型書いてますか?私はそもそもRubyを書いていません! とはいえ、最近Kaigi on RailsやRubyWorldとカンファレンスが続いていたので、ちょっとやる気を出してrbsを書くためのエコシステムに貢献しようと思い、rbs用のtree-sitterパーサを書いてみました。パーサ流行ってますからね。 github.com READMEにしたがってnvim-treesitterでパーサをインストールし、このリポジトリをneovimプラグインとしてインストールすれば、rbsのシンタックスハイライトがイカした感じになります。 しかし、しかしながらですね、これ半年ぐらい前に調べた時には誰も書いてなかったんですが、8割ぐらい書いた所で、既に別のtree-sitter-rbsがあることに気付いたんですよね……。 github.com まあ、せっかく作ったんで完全に同じ車輪の再発明だろうが、

        rbsのtree-sitterパーサを書いて、neovimのシンタックスハイライトに利用する - joker1007’s diary
      • めざせ☆全問正解 正規表現マスター! - iimon TECH BLOG

        はじめに 動作確認環境 対象 出題形式 問題1 問題2 問題3 問題4 問題5 問題6 問題7 問題8 問題9 問題10 おわりに 参考 はじめに 初めまして、こんにちは! iimonに入社して5ヶ月目のなかむ〜です。 本記事はiimonアドベントカレンダー10日目の記事となります。 実務の中で正規表現を読み解くのに時間がかかったり、書き方で悩んだりしたので、今回は復習も兼ねて正規表現のレベル別に問題を10問作成しました。 答えはあくまでも書き方の一例なので色々試してみてくださいね。 解説も用意してあるので、挑戦して頂けると幸いです! めざせ☆全問正解 正規表現マスター! 動作確認環境 https://paiza.io/ja/projects/new?language=javascript 対象 以下のNFAエンジンを使用している言語を想定しています。 JavaScript,Perl,PH

          めざせ☆全問正解 正規表現マスター! - iimon TECH BLOG
        • Vim で始める正規表現

          本記事は Vim Advent Calendar 2023 25日目と Vim駅伝 2023–12–25 に寄稿しました。 こんにちは!ぺりーです。 2023年下半期は、業務等でリファクタリングをすることが増え、Vim で正規表現を活用する機会が増えました。 今までは正規表現をあまり使えず、都度調べていたので、なんとなく読めるけど正規表現を思いつかなかったり、正しく書けなかったりというレベルでした。 書ければ便利だけど、ChatGPT に聞けばいいじゃんとさえ思っていました。 今思えば正規表現を書き慣れてないだけで、とても損していたなと思います。 Vim で正規表現を使える選択肢があるだけで、リファクタリングの効率も上がる上に、何より気持ちいいです。 正規表現の勉強は気が進まないけど、Vim Life Of Quality が向上するのであれば使いたいという方も多いのではないでしょうか。

            Vim で始める正規表現
          • 正規表現の基礎まとめ

            正規表現の基礎をまとめた備忘録 正規表現とは 正規表現(Regular Expression)は、文字列のパターンマッチングに使われる表現方法の一つです。 文字列に含まれる文字や文字列のパターンを指定して、一致する文字列を検索したり、置換したりすることができます。 正規表現習得のロードマップ 正規表現の基本的な概念や表現方法の習得 正規表現を使用したプログラムコードのパターンマッチング、データの抽出、ログの解析の習得 正規表現の後方参照、肯定先読み、否定後読みの習得 1. 正規表現の基本的な概念や表現方法の習得 メタ文字 正規表現において、メタ文字(特殊文字)は、パターンマッチングを行うために使用される特別な文字です。 以下に一般的なメタ文字を示します。 .(ドット):任意の1文字にマッチします。 *:直前の文字やグループが0回以上繰り返されることを表します。 +:直前の文字やグループが1

              正規表現の基礎まとめ
            • [プロダクトリリース] "Only build pull requests " 設定のオーバーライド機能

              背景: プロジェクトの “Only build pull requests (プルリクエストのみをビルドする)” 設定をオンにすると、デフォルト以外のブランチについて、CircleCI での検証の実行タイミングがプルリクエストの存在時のみに限定されます。 XdFKVrMRjv4jQXVJQteOoh7Cu2WcwvMau7pTCHm76F9zCGY9R6Hey27Jh_5rbOltPMz4gg2Lou5oF7tMpCt4Qple0JvvLzOukj0riUGbKjhhYUtsnwxRbQ8poi7O40AFnFiTZJPvue7NYDh2fUiXaAA1020×216 40.7 KB しかし、CircleCI と GitHub の マージキュー機能 5などを併用する場合、この設定は制約が強すぎるとのご意見をいただきました。経緯の詳細については、Canny の投稿 (英語) 7 をご覧くださ

                [プロダクトリリース] "Only build pull requests " 設定のオーバーライド機能
              • プログラミング言語の作り方

                プログラミング言語の作り方 javascript/C言語/アセンブラを用い、 字句解析、構文解析、インタプリタ、コンパイラのプログラムをスクラッチから作りながら、 「プログラミング言語の作り方」を解説する。 目次 プログラミング言語とは 独自プログラミング言語の作り方 自作プログラミング言語のソースコード 自作字句解析の作り方 自作構文解析(パーサ)の作り方 自作パーサジェネレータ 抽象構文木ASTは階層構造データ 自作インタプリタの作り方 自作実行AST実行の作り方 自作コンパイラの作り方 自作バイナリフォーマット3izbin 独自プログラミング言語の作り方 別のプログラムが、プログラミング言語を理解するためには、「プログラミング言語の文法規則(ルール)」が必要だ。 文法規則といっても、プログラミング言語のルールは、とても機械的なので、プログラムで解析するのは難しくない。 自作プログラミ

                • Google Apps Scriptでの正規表現の種類 - 教えて!GAS!

                  正規表現とは、文字列の検索や置換に使用されます。正規表現では様々なパターンを表現する事ができ、それを用いる事でテキストの中から特定のパターンの文字列を検索・抽出・置換等の操作をする事ができます。 正規表現一覧 プログラミング例 まとめ 正規表現一覧 メンバー 説明 .(ドット) 任意の1文字と一致します。(改行を除く) ^(キャレット) 文字列の先頭に一致します。 $(ドル) 文字列の末尾に一致します。 *(アスタリスク) 直前の文字が0回以上繰り返される部分に一致します。 +(プラス) 直前の文字が1回以上繰り返される部分に一致します。 ?(クエスチョンマーク) 直前の文字が0回または1回繰り返される部分に一致します。 {n}(中括弧) 直前の文字がちょうどn回繰り返される部分に一致します。 {n,} 直前の文字がn回以上繰り返される部分に一致します。 {n,m} 直前の文字がn回からm

                    Google Apps Scriptでの正規表現の種類 - 教えて!GAS!
                  • 【TypeScript】状態で分岐できるパーサコンビネータを作った - Qiita

                    はじめに TerrarioというTypeScript製のパーサコンビネータを書いたので紹介します。 ソースもGitHubで公開してます。 https://github.com/marihachi/terrario 作成の経緯 これまでJavaScriptやTypeScriptでパーサーを作成する時はPEG.jsを使っていました。 PEG.jsはササッとパーサーを書けるのでパーサーの試作としては便利なライブラリですが、 少し複雑な仕様を盛り込んだパーサーを書こうとすると力不足に感じていました。 こんな時 例えば、以下のように括弧をネストできる文法を考えた場合、 素直に実装すると、括弧の中身は関数呼び出しとして表現されます(再帰下降パーサーの場合)。 あまりにも多く括弧が含まれているとスタックオーバーフローの原因になるため、ネストできる回数は制限したくなります。 このような要求をPEG.jsや

                      【TypeScript】状態で分岐できるパーサコンビネータを作った - Qiita
                    • Spring Security HttpFirewallの仕様確認 - 楽楽エンジニア Tech blog

                      Spring Security HttpFirewall を仕様(実装)を確認したのでその内容説明になります。 Spring Security HttpFirewall の説明は以下になります。 https://spring.pleiades.io/spring-security/reference/servlet/exploits/firewall.html ここでは、DefaultHttpFirewall/StrictHttpFirewall を見ていきます。 名前にDefaultが付いていて紛らわしいですが、SpringSecurityのデフォルト実装はStrictHttpFirewallになります。 [JavaDoc] DefaultHttpFirewall https://spring.pleiades.io/spring-security/site/docs/6.2.4/api

                        Spring Security HttpFirewallの仕様確認 - 楽楽エンジニア Tech blog
                      • 【re】よく使う正規表現の特殊文字(メタ文字、メタキャラクタ)をまとめてみた[Python] | 3PySci

                        正規表現 前回、正規表現をざっくりと捉えてみました。 あわせて読みたい 【re】正規表現をざっくりと捉えてみる[Python] 【re】 前回、numpyで値が同じか(equal, not_equal, array_equal)、大きいか(greater, greater_equal)、小さいか(less, less_equal)を判定する方法を紹介しました… 今回は正規表現でよく使う特殊文字(メタ文字、メタキャラクタ)を勉強していきます。 それでは始めていきましょう。 .:なんでも良い1文字 まずは「.(ピリオド)」です。 これはなんでも良い(アルファベットの大文字でも小文字でも数字でもひらがなでも感じでも、記号でも)1文字を表します。 import re query1 = "a" query2 = "1" query3 = "あ" query4 = "亜" query5 = "_" q

                          【re】よく使う正規表現の特殊文字(メタ文字、メタキャラクタ)をまとめてみた[Python] | 3PySci
                        • Go言語で学ぶ正規表現

                          全体の構成: はじめに 正規表現の基本 パフォーマンスを向上させるテクニック 可読性を高める方法 まとめ はじめに 正規表現は、テキスト処理タスクにおいて非常に強力なツールであり、パターンマッチングや検索・置換に広く利用されています。効果的な正規表現を作成する際には、パフォーマンスと可読性のバランスが重要です。パフォーマンスが低い正規表現は遅い処理を引き起こし、可読性が低い正規表現は保守が困難になります。Go言語は高いパフォーマンスとシンプルな構文を持ち、正規表現を活用するのに適した言語です。この記事では、Go言語を用いた正規表現のパフォーマンスと可読性の向上方法を紹介します。 サンプルコードはコピペして Go Playground で実行してみることをおすすめします。 正規表現の基本 正規表現(Regular Expression)は、文字列の検索、置換、抽出などの処理を行うためのパター

                            Go言語で学ぶ正規表現
                          • 2024年6月1日 - 楽楽エンジニア Tech blog

                            Spring Security HttpFirewallの仕様確認 Spring Security HttpFirewall を仕様(実装)を確認したのでその内容説明になります。 Spring Security HttpFirewall の説明は以下になります。 https://spring.pleiades.io/spring-security/reference/servlet/exploits/firewall.html ここでは、DefaultHttpFirewall/StrictHttpFirewall を見ていきます。 名前にDefaultが付いていて紛らわしいですが、SpringSecurityのデフォルト実装はStrictHttpFirewallになります。 [JavaDoc] DefaultHttpFirewall https://spring.pleiades.io/s

                            • Python コンパイラを作ろう : コンパイラ基礎講座第一回 (理論編 1) - Qiita

                              まえがき この記事は投稿者(NokonoKotlin)の個人サイトの記事から Qiita 用に移植 & 加筆したものです。 (この文言は記事が剽窃でないことを周知するためのものであり、個人サイトの宣伝ではないことをあらかじめご了承ください。) はじめに みなさんはスマブラの勉強をしてゲーム制作の勉強ができると思いますか? プログラミング学習といえば文法やライブラリの学習を想像されるかもしれません。これはその通りなのですが、プログラミングをさらに理解するためには、プログラムが動く裏側で何が起こっているのかを知る必要があります。 インタープリタとコンパイラ みなさん Python はよくご存知のことだと思いますが、今一度 Python が何かを考えてみませんか。ご存知の通り、Python はプログラミング言語であり、インタープリタを介して Python 文で書かれたプログラムを実行します。 処

                                Python コンパイラを作ろう : コンパイラ基礎講座第一回 (理論編 1) - Qiita
                              • ソフトウェア開発技術者平成19年秋期問8 有限オートマトン

                                設問の有限オートマトンは初期状態で1が入力されると受理状態へ遷移するので文の最後は1になります。受理する過程ですが以下の2つのパターンがあります。初期状態で0を繰り返して1で受理状態に遷移する初期状態と受理状態を1→0で繰り返して1で受理状態に遷移する0または10を0回以上繰り返した後に1で終了する文字列なので、「(0 | 10)*1」が適切な正規表現です。 他の正規表現は少なくとも、初期状態で0を繰り返した後に1で受理する 000...01 というパターンにマッチしないので誤りと判断できます。

                                  ソフトウェア開発技術者平成19年秋期問8 有限オートマトン
                                • 正規表現とは?メタ文字とサンプル一覧 | WWWクリエイターズ

                                  それぞれルールを満たす文字列は、上記の例の他にも無数にあり、(多すぎて)すべてを書ききる事は難しいでしょう。そのような場合に、「文字のならびの条件」自体をシンプルに記述するための方法こそ、「正規表現」なのです。そして、このような条件の事を「パターン」と呼びます。 正規表現の基本構文 正規表現によるパターンは、「通常の文字(※リテラルとよんで区別します)」と「メタ文字」と呼ばれる、特殊な役割を与えられた記号を組み合わせて記述します。 例えば、上記であげた例はそれぞれ、正規表現を使って、それぞれこのように表せます。 // 「東京」で始まる文字列 ^東京.* // 「だよね。」で終わる文字列 .*だよね。$ // 「〇〇cm」と書かれた数値 [0-9]+cm 「.」「[」「^」「$」などの記号のようなものが、まさに「メタ文字」と呼ばれる文字なのですが、見たことのない人に取っては、奇妙な記号の羅列

                                  • 正規表現は今日から使おう(初級編)|フライパン職人

                                    ここ数年の謎制作ツールの発展は目覚ましく、言葉探しの旅が昔より圧倒的に早く終わるようになった。嬉しい。 これはごく少数のツール制作者たちの尽力のおかげであり、焼肉をn回奢っても足りない。深く深く感謝したい。 高度な謎を作るには検索ツールをより高度に使いこなすスキルが必要なのだが、そのために習得しておきたいものがある。 「正規表現」だ。 「正規表現ってよく聞くけれど正直何者か分かってないんだよね~」 「正規表現、覚えなきゃって思っているけれど永遠に覚えられない……」 謎解き界隈に居ると、そんな声をしばしば聞く気がする。正規表現の教材はこの世に無限にあるのだが、学習のとっかかりを見つけにくいのかもしれない。 覚えられないという苦手意識が先行し、余計に避けるようになってしまっている人もいるのかもしれない。 ぶっちゃけ学習する良いきっかけが無かっただけという人も多くいることだろう。 そんな人でも、

                                      正規表現は今日から使おう(初級編)|フライパン職人
                                    • AIに相談しながら正規表現を考えると捗るという話 - kanterburyのブログ

                                      この記事は、フラー株式会社 Advent Calendar 2023の10日目の記事です。 9日目は、@Daiji256さんのAndroid で日本語でも色々なウェイトのフォントを使いたいでした。 はじめに 本当は、AIチャット + 正規表現で別のネタを書くつもりでしたが、ある理由で没となってしまいました そこらへんの供養を本記事の最後に書いておくので、気になる方は見てみてください 本題 2023年はGPTを始めとした生成AIの年でしたね。 会話用のChatGPTやら、イラストを生成するStable Diffusionやら、用途に合わせたAIがいろいろ出てきましたが、個人的に一番活用したのはGitHub Copilotでした。 github.com というのも、私が勤めるフラー株式会社では、自社のorganizationでCopilotを契約しており、エンジニアの開発業務にて利用できるよう

                                        AIに相談しながら正規表現を考えると捗るという話 - kanterburyのブログ
                                      • Python正規表現メモ

                                        Python正規表現で調べたメモ。 全てのスニペットでreモジュールをインポートして使います。 import re urlのような文字列にマッチ content = 'string' # チェックしたいもの re.search('(https?|ftp)(:*\/*[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)', content)文字列の冒頭にhttp(s)またはftpがあり、:...でアドレスに使える文字が連続して含まれているものを探している 回数でマッチ "テストです \n\n\n\n"のように末尾に\n改行が3つ以上あるとき、2つにしたい "テストです \n \n \n \n"のように スペースがある場合もある。 やり方 正規表現を使ってマッチさせてreplaceする。 import re content1="テストです \n\n\n\n" conte

                                        • 😀 絵文字以外を判定する正規表現 by emoji-regex 🔥

                                          こんにちは。 正規表現の理解が浅いフロントエンジニアです。 ※そのため内容が浅いです。 最近、フォームのバリデーションで 絵文字以外 かどうかを判定する機会がありました。 大抵の場合は 絵文字である を判定できれば特に困らないと思うのですが、せっかくなので正規表現を少し学ぶきっかけになるかと思いサンプルの React コンポーネントを作ってみました。 サンプル 以下のリポジトリ内にあげております。 絵文字の判定 絵文字自体の正規表現を作成するほど学習に時間をかけられなかったので、絵文字の判定には emoji-regex を利用しました。 以下は emoji-regex の index.js ですが、絵文字について複雑で包括的な正規表現を返してくれているようです。 絵文字以外という否定表現 絵文字である という判定をする正規表現は emoji-regex だけで取得できるのでそれを否定する正

                                            😀 絵文字以外を判定する正規表現 by emoji-regex 🔥
                                          • 正規表現のシンタックス

                                            最終更新日 : Apr 28, 2021 01:09:41 AM GMT | 次にも適用 : ColdFusion 正規表現の角括弧の中では、1 文字のマッチングに使用する一連の文字(文字セット)を定義します。例えば、正規表現 "[A-Za-z]" は、1 文字の大文字または小文字に一致します。 文字セット内のハイフンは、文字の範囲を示します。例えば、[A-Z] は任意の大文字 1 文字に一致します。 文字セット内の ^ 文字は、後続の文字を否定します。例えば、[^A-Z] は、大文字でない任意の 1 文字に一致します。 正規表現 "B[IAU]G" は、文字列 "BIG"、"BAG"、"BUG" には一致しますが、文字列 "BOG" には一致しません。 "B[IA][GN]" のように文字セットを連結すると、対応する各文字を連結したものに一致します。この正規表現は、"B" の後に "I"

                                            • JavaScriptで正確に文字数をカウントする10の方法

                                              ※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。 (送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。) ●JavaScriptで文字数カウントの基本 JavaScriptを使ってWebアプリケーションを開発していると、文字数をカウントする必要性に頻繁に遭遇します。 ユーザー入力のバリデーションや、SNSへの投稿文字数制限など、様々なシーンで正確な文字数カウントが求められます。 文字数をカウントする際の基本は、JavaScriptが提供するlengthプロパティを活用することです。 lengthプロパティは文字列の長さを取得するために使われ、シンプルかつ直感的に文

                                                JavaScriptで正確に文字数をカウントする10の方法
                                              • 【re】正規表現のエスケープ文字(エスケープシーケンス)でできること[Python] | 3PySci

                                                【re】正規表現をざっくりと捉えてみる[Python] re 前回、numpyで値が同じか(equal, not_equal, array_equal)、大きいか(greater, greater_equal)、小さいか(less, less_equal)を判定する方法を紹介しました。 … それはそれで間違いではないんですが、エスケープシーケンスを使うと他にも色々できるということを今回は紹介していきます。 それでは始めていきましょう。 文字として認識 まずは前にも紹介した通常なら特殊な意味を持つ文字が、単純に文字列として認識されるという例です。 例として「*(アスタリスク:直前の文字が0回以上繰り返す)」を試してみましょう。 import re query1 = "*" print(re.match(r"\*", query1)) print(re.match(r"*", query1))

                                                  【re】正規表現のエスケープ文字(エスケープシーケンス)でできること[Python] | 3PySci
                                                • 正規表現パターンにコメント - Qiita

                                                  .NET アプリの C# のコードで、正規表現のパターンにコメントをつける方法を書きます。 上の画像を見れば一目瞭然で、それ以上の説明は不要かもしれませんが、それでは記事としてはちょっと寂しいので追加情報なども以下に書いておきます。 正規表現については、自分的には Microsoft のドキュメント「ASP.NET の正規表現」 が一番分かりやすく、いつも参考にさせてもらっています。 おかげさまで、自分でもある程度パターンを作れるようにはなったのですが、自分で作っておきながら後になって読むと意味不明ということがあります。 そういう時のために、正規表現パターンにコメントをつけておくと良いという Microsoft の記事を見つけて真似しています。 その記事は見つからなくなってしまったので、以前自分が書いたコードを探して、それを参考にしてコメントをつけていましたが、探して見つけるのが結構大変と

                                                    正規表現パターンにコメント - Qiita
                                                  • Python コンパイラを作ろう : コンパイラ基礎講座第一回 (理論編 1) - Qiita

                                                    まえがき この記事は投稿者(NokonoKotlin)の個人サイトの記事から Qiita 用に移植 & 加筆したものです。 (この文言は記事が剽窃でないことを周知するためのものであり、個人サイトの宣伝ではないことをあらかじめご了承ください。) はじめに みなさんはスマブラの勉強をしてゲーム制作の勉強ができると思いますか? プログラミング学習といえば文法やライブラリの学習を想像されるかもしれません。これはその通りなのですが、プログラミングをさらに理解するためには、プログラムが動く裏側で何が起こっているのかを知る必要があります。 インタープリタとコンパイラ みなさん Python はよくご存知のことだと思いますが、今一度 Python が何かを考えてみませんか。ご存知の通り、Python はプログラミング言語であり、インタープリタを介して Python 文で書かれたプログラムを実行します。 処

                                                      Python コンパイラを作ろう : コンパイラ基礎講座第一回 (理論編 1) - Qiita
                                                    1