「正規表現」を含む日記 RSS

はてなキーワード: 正規表現とは

2023-02-06

anond:20230201202404

「約15%」って数字を見たら、正規表現による上位1σを連想しましょう

論理的思考ができる能力をもっているのが、だいたいそれぐらいの知能なんだよ

これ未満はほんとできない、ただ反射的に確率記憶を言ってるだけで思考ではない

2023-02-04

正規表現の^と[^]に全く別の意味持たせたのほんと馬鹿すぎる

2023-02-03

最近UserScriptを書くのが楽しい

最近UserScriptを書くことに目覚めて、不便なWebサイトちょっと改造して好みにするのにハマってる

例えば「辞書系のサイトなのにページを開いた瞬間から入力欄にカーソルがあってないのがいや」とか、そういう細かい点をこちらで勝手に改修するするような感じね

で、増田において「この人記事に対して毎回○○って反応つけてるけど面白いと思ってやってんのかな? 面白いと思ってやってんなら致命的に自分センスが合わないから消したいし、面白いと思ってないならただの害悪から消したいな」と思うことがあるわけですが、そういった異なる価値観に対して自動的に適切な距離を置くためのスクリプトを作ったのでメモがてら貼り付けておきます

// ==UserScript==
// @name        ますどくさいスイッチ
// @namespace   Violentmonkey Scripts
// @match       https://anond.hatelabo.jp/2*
// @grant       none
// @version     1.0
// @author      anond
// @description description
// ==/UserScript==

(async () => {
    // ここにNGワードをどんどん追加する
    // 基本は文字列文字列で引っ掛けにくいなら正規表現でもいい
    const keywords = [
        "あえいうえおあお",
    ];

    const checkedMarker = `data-a${Math.random().toString(36).slice(-8)}`;
    const query = `div[id^="excerpt-"]:not([${checkedMarker}]`;

    const delTree = () =>{
        const elems = [...document.querySelectorAll(query)];
        for(const elem of elems) {
            const textContent = elem.textContent;
            if(keywords.some((x) => (typeof x === "string") ? textContent.includes(x) : x.test(textContent))) {
                const parentContainer = elem.closest("li");
                parentContainer?.remove();
            } else {
                elem.setAttribute(checkedMarker, "true");
            }
        }
    };

    delTree();

    const mo = new MutationObserver(delTree);
    mo.observe(document.body, { childList: true, subtree: true });
})();
  1. ブラウザーにTampermonkeyやViolentmonkeyをインストールしUserScriptを動かせるようにする
  2. インストールした拡張機能ダッシュボードを開き新規スクリプトを追加する
  3. 上記全てをペタッと貼り付ける
  4. 配列keywordsに消したい文字列またはそれにマッチする正規表現を入れる
    1. いくらでも追加可能
    2. 多少増えたところで大して重くはならないと思う
  5. Ctrl+Sを推して保存する
  6. 記事の反応のうち消したい文字列に当てはまる発言(とさらにそれに反応した発言)がツリーから消える

keywordsを増やして君だけのどくさいスイッチを育ててね!

(追記)

ぐええ 文字勝手に置換されてる…不便だなあ

>」となっている箇所を「>」を半角で入力したものに置き換えてください

2022-12-01

コンピューターサイエンスって何だよ?

最近コンピューターサイエンスプログラマー必要か否かみたいな話が上がっているが、そもそもコンピューターサイエンスって何だよ。どこまでの範囲をさしてんの?

って思ってググってみたらちゃん定義されてた。

ググって出てきた情報を整理しただけなので詳しい人、補足・訂正よろしく


情報

CS2013

https://www.acm.org/binaries/content/assets/education/cs2013_web_final.pdf

CS2013はACM/IEEE-CSによるカリキュラム標準。

ACM(計算機協会)はコンピュータ分野全般国際学会、IEEE-CSIEEE(米国電気電子学会)の中にあるテクニカルソサエティ


J07-CS

https://www.ipsj.or.jp/12kyoiku/J07/20090407/J07_Report-200902/4/J07-CS_report-20090120.pdf

J07-CS一般社団法人情報処理学会がCC2001CSベースアレンジを加えたカリキュラム標準。今はCS2013を反映したJ17-CSがあるらしいけどその辺は良く分からん

IPA共通キャリアスキルフレームワークとの対応表もあり。

https://www.ipa.go.jp/files/000024060.pdf


知識体系

J07ーCSから抜粋CS2013と比較するとナレッジエリアがあったり無かったり。

KAナレッジエリアKUナレッジユニットアユニット最低履修時間
DS離散構造DS1関数, 関係, 集合6
DS離散構造DS2論理6
DS離散構造DS3グラフ4
DS離散構造DS4証明技法8
DS離散構造DS5数え上げと離散確率の基礎7
DS離散構造DS6オートマトン正規表現6
DS離散構造DS7計算論概論4
DS離散構造DS8計算
PFプログラミングの基礎PF1プログラミング基本的構成要素9
PFプログラミングの基礎PF2アルゴリズム問題解決6
PFプログラミングの基礎PF3基本データ構造14
PFプログラミングの基礎PF4再起5
PFプログラミングの基礎PF5イベント駆動プログラミング4
ALアルゴリズムの基礎AL1アルゴリズムの解析の基礎4
ALアルゴリズムの基礎AL2アルゴリズム設計手法8
ALアルゴリズムの基礎AL3基本アルゴリズム8
ALアルゴリズムの基礎AL4アルゴリズムの高度な解析
ALアルゴリズムの基礎AL5高度なアルゴリズム設計
ALアルゴリズムの基礎AL6計算クラスPとNP
ALアルゴリズムの基礎AL7暗号アルゴリズム
ALアルゴリズムの基礎AL8幾何アルゴリズム
ALアルゴリズムの基礎AL9データ分析アルゴリズム
ALアルゴリズムの基礎AL10並列・分散アルゴリズム
ARアーキテクチャ構成AR1論理回路と論理システム6
ARアーキテクチャ構成AR2データマシンレベルでの表現2
ARアーキテクチャ構成AR3アセンブリレベルマシン構成7
ARアーキテクチャ構成AR4メモリシステム構成アーキテクチャ5
ARアーキテクチャ構成AR5インタフェース通信3
ARアーキテクチャ構成AR6機能構成7
ARアーキテクチャ構成AR7並列処理と様々なアーキテクチャ2
ARアーキテクチャ構成AR8性能の向上
ARアーキテクチャ構成AR9ネットワーク分散システムのためのアーキテクチャ
OSオペレーティングシステムOS1オペレーティングシステム概要1
OSオペレーティングシステムOS2利用者から見たオペレーティングシステム1
OSオペレーティングシステムOS3オペレーティングシステム原理1
OSオペレーティングシステムOS4プロセス構造スケジューリング3
OSオペレーティングシステムOS5並行性4
OSオペレーティングシステムOS6メモリ管理4
OSオペレーティングシステムOS7入出力デバイス管理と入出力
OSオペレーティングシステムOS8ファイルシステム2
OSオペレーティングシステムOS9認証アクセス制御1
OSオペレーティングシステムOS10セキュリティと高信頼化
OSオペレーティングシステムOS11リアルタイムシステム組込みシステム
OSオペレーティングシステムOS12並列分散処理のためのオペレーティングシステム機能
OSオペレーティングシステムOS13オペレーティングシステム構成
OSオペレーティングシステムOS14システム性能評価
NCネットワークコンピューティングNC1ネットワークコンピューティング入門2
NCネットワークコンピューティングNC2通信ネットワーク接続7
NCネットワークコンピューティングNC3ネットワークセキュリティ2
NCネットワークコンピューティングNC4クライアントサーバコンピューティングの例としてのウェブ3
NCネットワークコンピューティングNC5分散アプリケーションの構築
NCネットワークコンピューティングNC6ネットワーク管理
NCネットワークコンピューティングNC7ワイヤレスおよびモバイルコンピューティング
NCネットワークコンピューティングNC8マルチメディア情報配信システム
PLプログラミング言語PL1プログラミング言語概要2
PLプログラミング言語PL2仮想計算機1
PLプログラミング言語PL3言語翻訳入門2
PLプログラミング言語PL4宣言と型3
PLプログラミング言語PL5抽象化メカニズム3
PLプログラミング言語PL6オブジェクト指向言語6
PLプログラミング言語PL7関数言語
PLプログラミング言語PL8論理言語
PLプログラミング言語PL9スクリプト言語
PLプログラミング言語PL10言語翻訳システム
PLプログラミング言語PL11システム
PLプログラミング言語PL12ブログラミング言語意味論
PLプログラミング言語PL13プログラミング言語設計
HCヒューマンコンピュータインタラクションHC1ヒューマンコンピュータインタラクションの基礎6
HCヒューマンコンピュータインタラクションHC2簡単グラフィカルユーザインタフェースの構築2
HCヒューマンコンピュータインタラクションHC3人間中心のソフトウェア評価
HCヒューマンコンピュータインタラクションHC4人間中心のソフトウェア開発
HCヒューマンコンピュータインタラクションHC5グラフィカルユーザインタフェース設計
HCヒューマンコンピュータインタラクションHC6グラフィカルユーザインタフェースプログラミング
HCヒューマンコンピュータインタラクションHC7マルチメディアシステムのHCI 的側面
HCヒューマンコンピュータインタラクションHC8協同作業コミュニケーションのHCL的側面
MRマルチメディア表現MRI情報ディジタル表現2
MRマルチメディア表現MR2文字コード1
MRマルチメディア表現MR3標本化。 量子化圧縮原理アルゴリズム
MRマルチメディア表現MR4マルチメディア機器
MRマルチメディア表現MR5オーサリング
GVグラフィックスとビジュアルコンピューティングGV1グラフィックスにおける基礎技術2
GVグラフィックスとビジュアルコンピューティングGV2グラフィック・システム1
GVグラフィックスとビジュアルコンピューティングGV32次元画像の生成と加工
GVグラフィックスとビジュアルコンピューティングGV4モデリング
GVグラフィックスとビジュアルコンピューティングGV5レンダリング
GVグラフィックスとビジュアルコンピューティングGV6コンピュータアニメーション
GVグラフィックスとビジュアルコンピューティングGV7視覚
GVグラフィックスとビジュアルコンピューティングGV8仮想現実(VR)
GVグラフィックスとビジュアルコンピューティングGV9コンピュータビジョン
ISインテリジェントシステムIS1インテリジェントシステムの基本的問題3
ISインテリジェントシステムIS2探索および制約充足2
ISインテリジェントシステムIS3知識表現および推論
ISインテリジェントシステムIS4高度な探索
ISインテリジェントシステムIS5高度な知識表現と推論
ISインテリジェントシステムIS6エージェント
ISインテリジェントシステムIS7自然言語処理
ISインテリジェントシステムIS8機械学習ニューラルネット
ISインテリジェントシステムIS9プランニングシステム
ISインテリジェントシステムIS10ロボット工学
IM情報管理IMI情報モデルシステム2
IM情報管理IM2データベースシステム2
IM情報管理IM3データモデリング4
IM情報管理IM4関係データベース3
IM情報管理IM5データベース問合わせ3
IM情報管理IM6関係データベース設計データ操作
IM情報管理IM7トランザクション処理
IM情報管理IM8分散データベース
IM情報管理IM9データベース物理設計
IM情報管理IM10データマイニング
IM情報管理IM11情報格納と情報検索
IM情報管理IM12ハイパーテキストハイパーメディア
IM情報管理IM13マルチメディアデータベース
SP社会的視点情報倫理SP1コンピ

anond:20221130133918

でね。それを聞いたコンピューターをよくわかってないお客様がね。「入力された正規表現を実行前に検証して爆発しないものだけを実行するようにしてください」とかい要件をつけてくるわけですよ。それ計算機の停止問題だって・・・

2022-11-30

anond:20221130134429

正規表現パースするコードを読んでみよう。それでわかると思うよ。 

(てゆうか、Software Tools あたりで勉強しなかった?)

anond:20221130083458

似たような内容だけど、正規表現も爆発する入力存在する。pcreみたいな計算理論における正規言語を超えたものだと、信頼できない入力を食わせるのはDoS攻撃できるのでよくない。一方で、正規言語限定している正規表現ライブラリならば入力に対して線形時間で終了する。機能だけでなく理論的な側面からライブラリを見れるかどうかは、やはりきちんと勉強していたかが出ると思う。

2022-11-21

https://b.hatena.ne.jp/entry/4728398933259681220/comment/asiamoth

realmはダブルクオートで括ることでカンマを含むことができるので単にカンマをsplitしては駄目です

正規表現を使わなくていいところに使うなってところまではいい指摘なのに、蛇足無知晒してて草

2022-11-10

最近よく見かけるはてブスパムってゼロ幅スペース入れて単純一致で弾けないように工夫してあるんだな。同じ文言に見えて間に見えないスペースが含まれいるから違う文字列になってる。

ロ︆ー︆ カ︆ ル︆ マ︆ マは︆ セ︆ック︆ スが︆必︆ 要
ロ︆ーカル︆ マ︆ マ︆ は︆セッ︆クスが︆ 必要

はてなフィルタ非表示コメント登録したけど他の同じコメントが消せてなくて気づいた。はてな正規表現使って自動BANしてくれ。

2022-09-04

パーサーコンビネーターっていつ使うの

これすげー面白いよね。

プログラム長いこと書いてて全然使った事なかったから楽しさを知らなかった。

でもこれ使う機会なくない?正直。

JSONとかメジャーフォーマットは既に誰かパーサー作ってるし、

正規表現で十分な場合圧倒的多数だし、

みんな何に使ってるのかな。

2022-09-03

[]2022年8月はてブあとで読むトップ30リスト

はてブホットエントリ(総合)で月内に数多く[あとで読む]タグを集めたエントリ

312あとで/1768users 漫画で学ぶNISAiDeCo資産形成ポイント解説日経電子

243あとで/1598users 45分間で「ユーザー中心のものづくり」ができるまで詰め込む | Yoshiki Hayama | slideshare

233あとで/1752users 見積提案書に書いておくと不幸を減らせる前提条件 | Atsushi Nakamura | Zenn

215あとで/1290users サイバーエージェントが公開した“300ページ級のUnity技術書”がスゴい!しかも誰でも無料で読める|Unity Japanユニティテクノロジーズ・ジャパン)|note

210あとで/1775users なぜ投資をさっさと始めないのか - 本しゃぶり

209あとで/1465users 「何を言っているのか分からない」と言われないための「伝え方」のノウハウ - Qiita

196あとで/1631users 引越しが決まったらやるべきことのあれこれがめっちゃ参考になると話題「ありがてぇ…」補足あり | Togetter

194あとで/1830users やばすぎるAI画像生成サービス「Stable Diffusion」始まる。 【簡単解説 & 応用 & Prompt付生成事例集】|やまかず|note

189あとで/1680users 鈴木孝佳|姿勢改善オンラインレッスン on Twitter: "「あれこれストレッチ面倒だから1個教えてくれ」に対する解はこれです。「世界で最も偉大なストレッチ」と名前がつくだけあって、フルコンボ感ある。 https://t.co/UbfDw4F8SN"

187あとで/1623users 相手に動いてもらえないのは、一言目で“地雷”を踏んでいるから 仕事でも私生活でも役に立つ、人を動かす「伝え方」の極意 | 高橋浩一、荒木博行 | logmi

184あとで/948users Amazon VPCを「これでもか!」というくらい丁寧に解説 - Qiita

168あとで/919users 「リーダー作法マネジメントに限らず、エンジニアとして仕事作法について書かれた良書 | hurutoriya

161あとで/1231users スタンフォード大学無料提供している英語プログラムがすごすぎる...様々な高校生向け教育プログラムをまとめました | Togetter

161あとで/1444users Seiya on Twitter: "クイーンズランド大学が開発したHIITがすごい。HIIT WBというエクササイズで、たった4分間の運動で30分の有酸素運動を遥かに凌ぐ効果を発揮する。心肺機能筋肉量の増加、脂肪減まで期待でき、抗老化に繋がる。動画をそのまま真似し… https://t.co/FWvRp0RAaR"

159あとで/1503users 精度はGoogle翻訳を越える… 無料国産「TexTra」が地味にスゴイ | ビジネスジャーナル

156あとで/1582users 横浜中華街いろいろ食べたくなるガイド|47AgDragon(しるどら|note

155あとで/736users 設計の考え方とやり方 | 増田 亨 | SpeakerDeck

151あとで/1290users なぜ日本郊外には「タダ同然の住宅地」が大量にあるのか…「限界分譲地」という大問題告発する 無責任の体系によって「都市の荒廃」が進んでいる | PRESIDENT Online

151あとで/1225users 『りぼん編集部が作った「生理カンペキBOOK」が永久保存版すぎる。無料公開した思いを聞いた | HUFFPOST

147あとで/1209users Seiya on Twitter: "自宅にこもり切りの超運動不足の方、筋トレ初心者の方へ。まずは2分だけ動画の真似をしてみて欲しい。難易度は低いが、鈍り切った体に刺激が入り、眠っていた身体の活力を取り戻すキッカケになると思う。 「独房式・脂肪燃焼全身サーキット新… https://t.co/pMQHBJAlIA"

139あとで/1768users 世界変革の前夜は思ったより静か|深津 貴之 (fladdict)|note

133あとで/1188users 「酒場で見ず知らずの人と親しく話し、取材する方法」を書いた朝日新聞記者記述面白かった(「ルポ トランプ王国2」) - INVISIBLE D. ーQUIET & COLORFUL PLACE-

128あとで/1292users 魔術として理解するお絵描きAI講座|深津 貴之 (fladdict)|note

127あとで/1379users 夫が裏垢で70人と不倫していたのが発覚した日の話①|ego@離婚協議中|note

126あとで/1146users 三谷幸喜さんが勧める「読書感想文」の書き方。「子どもの頃知りたかった」と反響呼ぶ | HUFFPOST

123あとで/811users キャリアアッププログラムGoogle Career Certificates」日本版を開始 | Google Japan Blog

122あとで/1083users マルク on Twitter: "元銀行員として伝えたい。日銀金融庁FP協会財務省エリートが作ったお金を学ぶサイトが超有益給与明細から投資保険クレカインフレやつみたてNISA仮想通貨まで。小学生から、わかったつもりの大人も。もちろん0円。各資料で… https://t.co/rZ6zflv5HK"

121あとで/1298users 安倍晋三元総理とは何者だったのだろうか(田中良紹) - 個人 - Yahoo!ニュース

121あとで/1241users 【ドドンッ!】有名YouTuberが使ってる『効果ラボ』の実態に迫る | ジモコロ | イーアイデム

116あとで/679users 正規表現先読み・後読み | USAMI Kosuke | Zenn


増田でもよく見かけた投資ネタエントリ多め。今月は増田からランクインは無し。

体のトレーニングストレッチエントリがちらほら。

2022-08-15

Webはてブミュー機能作った

勝手に tampermonkey とかに突っ込んで使ってヨロ

スクリプト保守とかするつもりないから、保守とかするつもりのあるパワーの溢れた人が

これ参考とかにしてもっとかっちょよくしたのを greasy fork あたりに公開してくれ

そしたら俺もそれ使う

使い方:

ブラウザの開発環境を開いて、開発コンソールを開く

localStorage.hatebu_ng_word_list に非表示トリガーになる文字列を|区切り登録する。

localStorage.hatebu_ng_word_list = "池田信夫|フェミ|弱者男性|やまもといちろう"

実際のコード

大なり小なり(>)が実体参照で表示されるのはよくわからん。使う人で適宜コードを直してくれ。

// ==UserScript==
// @name         はてブの一覧NG記事非表示
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       masuda
// @match        https://b.hatena.ne.jp/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=hatena.ne.jp
// @grant        none
// ==/UserScript==

(function() {
	'use strict';

	if (!localStorage.hatebu_ng_word_list) {
		return;
	}
	console.log("はてブの一覧NG記事非表示", localStorage.hatebu_ng_word_list);

	/*
	 * 例:
	 * localStorage.hatebu_ng_word_list =
	 * "池田信夫|フェミ|弱者男性|やまもといちろう|togetter.com";
	*/
	let words = localStorage.hatebu_ng_word_list.split('|').map(w => new RegExp(w));

	function entryDelete(els) {
		els.forEach(el => {
			let hit = false;
			words.forEach(w => {
				hit = hit|| w.test(el.textContent);
			});
			if (hit) {
				el.remove();
			}
		});
	}

	// entrylist-header-main li 1つ目のアイテム
	entryDelete(document.querySelectorAll('.entrylist-header-main > li'));
	// 2つ目以降の li アイテム
	entryDelete(document.querySelectorAll('.entrylist-item > li'));
})();

文字正規表現として評価されて、ヒットした記事項目をページから削除する(DOMから要素を削除する)。

際限なくNG登録できるけど、沢山非表示するとつまらない一覧になる

2022-08-14

正規表現先読みを使って、マッチから除外されるべき表現を書く

IPアドレス(IPv4)にマッチする正規表現は以下である

^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])$

(出典:https://www.javadrive.jp/regex-basic/sample/index4.html)


0~255を判定している部分は置いといて、0~255を判定する記述が二つに分かれているのが気になる。

間に"."が挟まるからだ。

IPアドレスでは先頭に"."があってもおかしいし、末尾に"."があってもおかしい。

そのため、まずipアドレスの先頭三組("0~255".)だけドット付きで判定し、最後の一つだけドットなしで判定させている。

しかしそれなら、間に"."が挟まっても挟まらなくてもどっちでもマッチするように書いたあと、

その後、マッチした文字列の全体のフォーマットが正しいかを判定すればいいのではないか

例えば以下のように。

^(?=^(\d+\.){3}\d+$)((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.?){4}$

0~255を判定する部分が一つになっている。にもかかわらず末尾に"."がついてしまパターンマッチしないのは

(または、途中の組で"."がつかないパターンマッチしないのは)、

先読みで正しいフォーマットだけにマッチするようにして、それ以外の文字列をはじいているからだ。


正規表現が単純に短くなったし、「全体のフォーマットを判定する先読み部」と「各8bit+"\.?"の複雑な判定部分」に分けて描くことができた為、

ある意味、読みやすくすらなったと感じる。

先読みを使うことで、判定対象となる文字列の、「各部分判定の複雑さ」と「全体のフォーマットの判定の複雑さ」を分けることができる。


次に、0~255判定も複雑になっている。

正規表現では"0以上255以下"のような、複数桁にまたがる数の大小判定は出来ない。

例えば"2"と"10"では、数としては当然"10"が大きいが、辞書順で考えれば"2"の方が後に来る。

そして正規表現数字の並びを数として判断しない。

まり辞書順に並んだ文字列の中から、0~255の範囲だけにマッチするような正規表現を書かないといけない。そのため複雑になる。


しかし、0~255のような複数桁にまたがる数の大小判定ができないとしても、

全ての0~255に当てはまる厳密なパターンを書く((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9]))より、

ある程度絞れる範囲だけ書いた後、除外したいパターンを書いて弾いた方が、読みやすく、意図理解やすくなるのではないか

例えは以下のように。

^(?![3-9]\d\d)(?!2[6-9]\d)(?!25[6789])(?!0\d)\d{1,3}$

まず、上記正規表現末尾の\d{1,3}で、1~3桁のあらゆる数字列にマッチする。

しかし、正規表現左側に書いた4つの先読みで、

・300以上999以下を否定先読みで除外

・260以上299以下を否定先読みで除外

・256以上259以下を否定先読みで除外、また、

数字列の先頭が0になるパターン否定先読みで除外

するように記述されている。

「元々の0~255判定部分より複雑じゃん」と言われればそうなのだが、読み方が異なっている。

元々の正規表現は、

「250以上255以下、または、240以上249以下、または、100以上199以下、または、0~99」という読み方になる。

先読みで除外する方の正規表現は、

「3桁の数字列にマッチする、かつ、300以上999以下を除外、かつ、260以上299以下を除外、かつ、256以上259以下を除外、かつ、先頭が"0"の2ケタ以上の数字列を除外」という読み方になる。

個人的意見になるが、「~、または、~」の連言では、「対象となる範囲の全体感と、除外されるべきパターン」が見えないため、どういった範囲の話をしているのかがピンとこない(場合もある)。

一方、「~、かつ、~~を除外」では、「対象となる範囲の全体感と、除外されるべきパターン」がそのまま書かれているため、対象文字列のどの部分のことを言及しているのか(比較的)理解やすい(、と言いたい)。

ちょっと無理がある言い方か。


つの変更を組み合わせたIPアドレス(IPv4)を判定する正規表現は以下になる。

^(?=^(\d+\.){3}\d+$)((?![3-9]\d\d)(?!2[6-9]\d)(?!25[6789])(?!0\d)(\d{1,3})\.?){4}$

「元々の正規表現より複雑じゃん」と言われればそうなのだが、

"(?=..."や、"(?!..."で始まる部分は、「除外または許可されるべきパターン指定している部分」であり、文字マッチを行っていない。

先読み部分を無視して、文字マッチする部分だけに注目すると、この正規表現マッチしようとしている文字列の全体感が把握できる。

((\d{1,3})\.?){4}

これは、IPアドレス(IPv4)のざっくりとした範囲説明として、意図が十分伝わる記述であると思う。

2022-07-25

文末に『以上』と書く意味について

ブログtwitterなど、ある程度まとまった文章投稿する場において文末に『以上』と記載された文章を見ると違和感がある。

単発投稿である限り文末で文章が終わることは自明であり、わざわざ『以上』と書く意味が無いように思えたからだ。

文末に『以上』と書くとき、筆者はいったいどのような意図を持っているのだろうか?

まずは仮説を立てよう。

書類などで文頭に『記』、文末に『以上』と記載するフォーマットがある。これの『記』が省略されたかたちが由来か?

この「お堅い書類っぽさ」のニュアンスを本文に付与する意図があるのではないか、という仮説。

または手癖ということもありえる。

学術論文では日本語文章でも句点ではなくピリオドを用いると聞いたことがある。

同じようにどこかの界隈では必ず文末に『以上』を記載するので他のシーンでも手癖でそれを書いてしまう、という仮説。

こういうのは使っている本人に聞く、もしくは用例を多く採取して文のニュアンスの傾向を調べたりするのがいいはずなんだが採取難易度がそこそこ高い。

twitter検索で文末の正規表現が使えたら楽だったのだが……

用例発見 以下追記

ttps://twitter.com/norinotes/status/1551818862341287936

2022-07-13

転 スラ ミリ

こう検索すると、「ミリア(転スラ)」「ミリア 転生したらスライムだった件」「ミリア 転スラ」全てのタグタグの組み合わせをいっぺんに検索できるんだよな

正規表現が使えないサイトではよくやるテクニックだと思うんだけど

2022-06-11

なんで電子書籍サイトとかって正規表現での検索をできなくしてるの

二度手間になって不便

あいうのが使ってるデータベースは標準で正規表現対応してるはずでわざわざその機能を切ってるはずだから、なぜそんなことをするのかがわからない

2022-06-04

AIは日々進歩しているのに

どうして俺の代わりに正規表現勝手に書いてくれるソフトが出ないんだろう。

 

「これとこれにマッチする正規表現を作って!」

「この文字列場合キャプチャグループこうなるようにして!」

 

みたいな指示したら勝手に俺に必要正規表現出して欲しい。

いつまで人間正規表現書かなきゃならないんだよ。

2022-06-03

スゴイいいこと思い付いたんだけど

Excel検索とか置換とかするとき正規表現使えるようにしたら便利になるんじゃね?

なんで使えないの?

いまさら正規表現使えないのExcelぐらいじゃない?

いちいちパターンマッチさせるテキストを1つ1つ検索していくのは

ものすごく面倒じゃない?

みんなExcel正規表現問題どうしてるの?逆に。

2022-05-12

anond:20220512011830

サクラ正規表現Grepでの改行挟んでの指定ができなかった、今は知らんけど

あと秀丸ライセンスはゆるいか個人で持ってれば会社で使っても問題ないしね

2022-05-11

正規表現悩み中 最短一致

# first

はてな コメント

# second

はてぶ #を使ったコメント

増田

というテキストに対して「増田」をキーワードに「# second」を取り出したい。

^#+ (.*)\n.*^増田

こんな感じにすると最長一致?になりfirstが取れてしまう。

途中に#を含まないようにと

.*を[^#]*にすると今度は「#を使ったコメント」がひっかかりマッチしなくなってしまう。

となると最短一致?をすればよさそうだがどこの*に?をつけてもダメ

脳内で動きがシミュレーションできないからとりあえず書いてみたが解決策が出ない。

クマさんに話してもダメなら仲間に質問といっても個人開発じゃその相手も居ないし。

結局応用が利かない人間なんだなあ。

2022-05-03

[]2022年4月はてブあとで読むトップ30リスト

はてブホットエントリ(総合)で月内に数多く[あとで読む]タグを集めたエントリ

590あとで/4204users 【詳しすぎる2週間】親の死亡後にまずやること(行動チェックリスト付) | まごころ相続コンシェルジュ

291あとで/1560users Google製のJavaScript教育ツール「Grasshopper」は基礎から学べて初心者に優しい!【どれ使う?プログラミング教育ツール】 | 窓の杜

272あとで/1859users 無料コーディング練習所 | 未経験からWebデザイナーへ!

220あとで/1327users 【翻訳Googleエンジニアソフトウェア開発する時に必ず書くドキュメント「Design Docs at Google」 - BppLOG

201あとで/1017users 30 分でわかる!アルゴリズムの基本 | E869120 | SpeakerDeck

191あとで/1365users Wi-Fiトラブル解決に便利! Windowsの隠れ便利機能Wlan Report」を活用しよう【イニシャルB】 | INTERNET Watch

175あとで/888users Web開発者もっと安全ウェブサイトの作り方」を読むべき - Flatt Security Blog

171あとで/2593users (追記あり) 10億円資産ができたときに知っておいたほうがいいこと | anond.hatelabo.jp

164あとで/849users AWS初心者向けの教材まとめ、AWS日本法人が公開 | ITMedia

162あとで/1231users 【試し読み】書店員さんから反響! 精神疾患を抱えた妻の介護仕事…約20年にわたる苦悩の日々を綴った傑作ルポ『妻はサバイバー』|朝日新聞出版さんぽ|note

159あとで/935users 機械学習が独学できる日本語Youtube難易度別まとめ - Qiita

152あとで/961users 8時間を0.01秒に短縮 「アルゴリズムの素晴らしさが2分で分かる動画」が今すぐ勉強したくなる分かりやすさ | ねとらぼ

142あとで/889users 文春オンライン記事分析を支える爆速ダッシュボードを作るまで|Shota Tajima|note

141あとで/2006users さよなら絵梨 - 藤本タツキ | 少年ジャンプ+

140あとで/1138users 新電力中の人です。すべてをお話します | anond.hatelabo.jp

136あとで/1094users 『ゴールデンカムイ』全話無料! | ヤンジャン!

135あとで/780users Docker創始者らが開発、ビルドテストデプロイ自動化ポータブルにするツール「Dagger」登場。そのままローカルでもGitHubでもCircleCIでも実行可能に | Publickey

132あとで/575users フロントエンドエンジニアが知るべきキャッシュ理解する | カーーズ | Zenn

132あとで/1232users みんなが知ってる『ちょっとのコツでめっちゃ美味しくなる、楽になる』みたいなの教えて→全然知らなかった有益情報が集まる | Togetter

131あとで/679users 【個人開発】正規表現を学ぶ狩りに出ませんか?モンスターを倒しながら正規表現が学べるゲームRegex Hunting」を作りました - Qiita

124あとで/1217users 先輩に「何かタメになる話してくださいよ〜」と無茶振りしたら『Language Reactor』という2言語字幕を同時表示できるChrome拡張機能を教えてもらった | Togetter

124あとで/1254users 育休中に相方がめちゃくちゃ売れた|酒寄さん|note

120あとで/1114users Google Analytics(UA)が使えなくなるのはどのくらいヤバくて、いつまでに何をしたら良いのかの話。 - フジイユウジ::ドットネット

120あとで/598users 電子情報学特論:Chromiumアーキテクチャを解き明かす | Kentaro Hara | Google Slides

119あとで/1242users 僕がたどり着いた最強パリパリチキンの焼き方→上手に焼くポイントも「鶏肉好きとしては是非とも取り入れたい」「最高のライフハック」 | Togetter

118あとで/866users 「全クリエイターに広まってほしい」文化庁質問に答えるだけで『著作権契約書』が作れる超便利なツールを作っている | Togetter

116あとで/897users ちょっと触ったら休日が丸2日消失した 個人2022年ベストゲーム「TUNIC」を全力で推したい | ねとらぼ

115あとで/798users 結局UMLとかシーケンス図とかAWSの図とかどれで描くと良いのよ?と思ったとき選択肢 - Qiita

112あとで/494users 『良いコード/悪いコードで学ぶ設計入門 』を出版します|ミノ駆動note

109あとで/522users 予防に勝る防御なし - 堅牢コードを導く様々な設計のヒント / Growing Reliable Code PHPerKaigi 2022

109あとで/1047users (続き)10億円資産ができたときに知っておいたほうがいいこと | anond.hatelabo.jp

はてブではあまり見かけなかったタイプの商用っぽいけど大手メディアじゃなさそうなサイトが上位に入った

2022-04-22

三大・ムカつくプログラマー



あと一人は?

ログイン ユーザー登録
ようこそ ゲスト さん