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

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

2021-05-05

濁点喘ぎや♡喘ぎの゛や♡を楽に書く方法

動機

濁点喘ぎや♡喘ぎのあるエロ小説が大好きで、もっと読みたいから。

自分エロ小説を書けなかったので、書ける人にもっとたくさん書いてほしいから。

あと、自分AutoHotkeyを入れてからだいぶたってしまったので、導入がおぼろげなのは申し訳ない。

そして肝心の、一番お世話になったサイトを忘れてしまった。最悪だ。見つけたら絶対貼る。

見つけた。これだ。

書き終わってから見つけた。

https://clrmemory.com/pc-mobile/windows/autohotkey-any-character/

前提

技術系に詳しくないのでカンベン。

スマホエロ小説書いてる人は申し訳ない。

参考

http://ahkwiki.net/Top

AutoHotkeywiki。困ったらここを見る。

大まかな手順

  1. AutoHotkeyを入れる
  2. スクリプト作成編集する
  3. スクリプトを実行する
  4. エロ小説を書く
  5. スクリプトを停止する)
AutoHotkeyを入れる

https://autohotkey.com/download/

公式サイトからダウンロードする。

ダウンロードしたインストーラーを実行する。

(ここがおぼろげなのがひたすらに申し訳ない)

スクリプト作成編集する

どこかフォルダを作る。後々、他に必要ファイルも入れていく。

自分ドキュメントフォルダの中に「小説フォルダ」を作成した。

新しく作ったそのフォルダの中で、右クリック新規作成→「AutoHotkey Script」を選択

自分は「小説用.ahk」にした。

作成したahkファイル右クリックプログラムから開く→エディタで開く(最初から入ってる「メモ帳」でOK

開いたらなんか初期状態で書いてあるけど気にしなくてよし。ってか自分はよくわからなかったから削除した。はいまっさら

とりあえず以下の内容にして保存。(最初からあった文章は消してしまったので、まんまこの内容)

#Include IME.ahk
;;;Pgupで♡
Pgup::
  ime := IME_Get()
  IME_Set(0)
  Send, ♡
  IME_Set(ime)
return
;;;PgDnで゛
PgDn::
  ime := IME_Get()
  IME_Set(0)
  Send, ゛
  IME_Set(ime)
return

保存した?よし。閉じていいよ。

おっとそうだ、さっきのフォルダに入れなきゃいけないのがあった。

IME.ahk」のファイルが要る。

http://ahkwiki.net/Trouble

の「AutoHotkey_L固有の不具合」にあるが、詳しくわからないのでとりあえず、

https://w.atwiki.jp/eamat/pages/17.html

からダウンロードzipなので展開する。

中にあるフォルダANSIかUTF8)の中のIME.ahkコピーして、さっき新規作成したフォルダ自分なら「小説用」)にペースト

どっちのフォルダのを入れたかは忘れた…。

持ってこれた?おっしゃ

そしたらIME.ahk編集する。

編集内容はお世話になったサイトに書いてあったんだけど、忘れたのでもう全部ここに貼ってやろう。

と思ったけど多かったので、消す部分だけ貼る。以下のやつを消さないと、実行したときに「ンンンンンン」ってなる。

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
;
; 動作確認用 内部ルーチン (マウスカーソル位置ウィンドウIME状態を見る)
;  単体起動時のテスト用なので削除しても問題なし
_ImeAutoExecuteSample:
    Hotkey,#1,_ImeGetTest
    Hotkey,#2,_ImeSetTest
    Hotkey,#3,_ImeIsConvertingTest
    Hotkey,+ESC,_ImeTestExt
    SetTimer,_ImeInfoTimer,ON
return

;--- IME状態表示タイマ ---
_ImeInfoTimer:
    Tooltip,% "IME_GET			: "     . IME_GET(_mhwnd())             . "`n"
          .  "IME_GetConvMode		: " . IME_GetConvMode(_mhwnd())     . "`n"
          .  "IME_GetSentenceMode	: " . IME_GetSentenceMode(_mhwnd()) . "`n"
          .  "IME_GetConverting	: "     . IME_GetConverting(_mhwnd())
return

;--- IME Get Test [Win]+[1] ---
_ImeGetTest:
    MsgBox,% "IME_GET			: "     . IME_GET(_mhwnd())             . "`n"
          .  "IME_GetConvMode		: " . IME_GetConvMode(_mhwnd())     . "`n"
          .  "IME_GetSentenceMode	: " . IME_GetSentenceMode(_mhwnd()) . "`n"
return
;--- IME Get Test [Win]+[2] ---
_ImeSetTest:
    MsgBox,% "IME_SET			: "     . IME_SET(1,_mhwnd())             . "`n"
          .  "IME_SetConvMode		: " . IME_SetConvMode(0x08,_mhwnd())  . "`n"
          .  "IME_SetSentenceMode	: " . IME_SetSentenceMode(1,_mhwnd()) . "`n"
return

_mhwnd(){	;background test
	MouseGetPos,x,,hwnd
	return "ahk_id " . hwnd
}

;------------------------------------------------------------------
; IME窓のクラス名を調べるテストルーチン
;   入力or変換状態Ime窓にマウスカーソル持ってって [Win]+[3]押す
;   Clipboardに Class名がコピーされる。入力窓/候補窓 それぞれ調べる。
;   調べたクラス名は 正規表現になおして
;      IME_GetConverting("A","入力クラス","候補クラス")
;   とかやって使う。(もしくは IME_GetConverting()の中に直接追加する)
;
;   あああ    ← 入力窓の上に マウスカーソル持ってって [Win]+[3]押す
;    ̄ ̄ ̄       Clipboardに Class名がコピーされる。
;                ※ MS Office系のシームレス入力状態では取れないっぽい
;                   DetectHiddenWindows,ONでもダメシームレスOFFにしないと無理
;
;   愛
;  |愛   | ← 候補窓の上にマウスカーソル持ってって [Win]+[3]押す
;  |亜依  |    Clipboardに Class名がコピーされる。
;  |あい  |
;  |藍   |
;  | :  |
;   ̄ ̄ ̄ ̄
;------------------------------------------------------------------
_ImeIsConvertingTest:
    _ImeTestClassCheck()
return
_ImeTestClassCheck()  {
    MouseGetPos,,,hwnd
    WinGetClass,Imeclass,ahk_id %hwnd%
    Clipboard := Imeclass
    ;IME_GetConverting() 動作チェック & IME 入力窓/候補 Class確認
    MsgBox,% Imeclass "`n" IME_GetConverting()
}
;--- 常駐テスト終了 [Shift]+[ESC] ---
_ImeTestExt:
ExitApp
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 

消して保存した?おし

ファイル作成編集はこれでOK

スクリプトを実行する

小説用.ahk」(自分作成したほうのファイル)を右クリックで「Run script」で実行できる。

が、ショートカット作成できる。作成して別なところに置いたほうが楽な人はそうするとOK

コンパイルしないといけない……かと思いきや、しなくても実行できたから、コンパイルは要らないか。まぁいいか

もし「要るよ」って人がいたら、作ったほうのファイル右クリックして「Compile なんちゃら」でコンパイルできるので、どうぞ。

しなくても大丈夫なのであまり気にしなくてよさそう。

エロ小説を書く

使い方。まずは実行開始から

作成したファイルダブルクリック

ショートカットなら、ショートカットダブルクリック

コンパイルしたなら、コンパイルしたやつをダブルクリック

開始時になんかちっちゃいウィンドウが出てくるが、気にせず「OK」を押していい。(出ないかも)

さっきのスクリプトの中身は

が打てるようになる。

注意点としては、

他のキー割り当て一覧

http://ahkwiki.net/KeyList

書いてみよう。

「あ゛あ゛あ゛♡♡♡♡」

どうしても「一度変換を確定しないといけない」というのがちょっとひっかかるが、それでもわざわざ濁点を変換して入れたり、ダブルクォートを代わりに使うよりはいい。

喘ぎ声はひらがなカタカナが多いから変換を確定せずに打てるのが一番いいが、コツをつかめばきっと上手く活用できるはず。活用してください。

スクリプトを停止する

意外と忘れがちだが、大事

これをしないと、家族との共用パソコンを使っているならば、

「なんでこのキー押すと濁点とハートが出るの?」

という家族からの痛い追及を被ることになる。

画面右下の上矢印を押すと、いろいろ出てくる。

その中に、緑背景に白文字のHのアイコンがある。

これを右クリックExitで停止。

もう誰もこのエロ小説スクリプトが実行されていたなんて気づかない。

終わり

もっと便利にしたいときは、AutoHotkeywikiが参考になるはず。

http://ahkwiki.net/Top

他にも、ホットキーとかショートカットキーとかでいろいろある。

でも「特定文字入力する」はAutoHotkeyでないとできなさそうだった(自分が見つけられた範囲では)

世の中に濁点喘ぎと♡喘ぎの小説が増えますように。

もっ゛とかい゛てぇ゛ぇ゛ぇ゛ぇ゛ぇ゛♡゛♡♡♡♡

み゛た゛い゛の゛お゛お゛お゛お゛お゛♡♡♡♡♡♡

2021-04-22

java正規表現使うとき

\が増えまくるやつ

設計したやつ頭おかしくない?

2021-04-03

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

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

441あとで/3236users コグニカル

285あとで/1829users 経産省公表した「フリーランスとして安心して働ける環境を整備するためのガイドライン」はフリーランスじゃない人も必読らしい - Togetter

238あとで/1442users Python言語による実務で使える100+の最適化問題 | opt100

227あとで/2515users 山本ゆり(syunkon レンジは600W) on Twitter: "友達に「どうやって作ったん?!」と聞かれた自信作。衣ザックザクで中ジューシー!もう売りもんの域。 【レジチキン特別材料ナシ。油も少量でいける!袋2枚で作るから洗い物少ないし衣が飛び散らんし片付けがラク!下味の水と油、小… https://t.co/7gDCHTjdjB"

216あとで/1280users 主観客観を切り替える鍛錬|Miwa Kuramitsu|note

215あとで/1696users 庵野秀明2000) - 早稲田大学 人物研究会 公式サイト

202あとで/1882users note版 突然画力が伸びだした時、僕が発見した事|安倍吉俊note

200あとで/1416users 心のバリアを取り去って「正規表現」に取り組む一歩を踏み出すためのメモDTP Transit 別館|note

197あとで/1580users 地震発生から72時間NHK東日本大震災アーカイブス 証言webドキュメント

194あとで/1964users 100均収納グッズのカタログ情報サイト MONO SIZE(モノサイズ

186あとで/987users 2021年JavaScriptNode.js勉強し始めたので、読んで良かった資料をまとめる | matsumanaの技術メモ

184あとで/1208users プロダクトマネジメント事業開発に関する私的な振り返り - 下町柚子黄昏by @yuzutas0

175あとで/1439users [速報]マイクロソフト無料RPA機能Power Automate Desktop」をWindows 10ユーザー提供開始。Microsoft Ignite 2021

175あとで/1975users 「ごめんなさい 救助のヘリじゃなくてごめんなさい」|NHK取材ノートnote

175あとで/1412users 長かった10代の終わり、エヴァが想い出になった日。(『シン・エヴァンゲリオン劇場版感想ネタバレ注意)|祥太note

174あとで/970users YouTubeで「中学生から分かるAI数学講座」が無料公開 E資格対応 | Ledge.ai

172あとで/1798users ジャンプ漫画学校講義録⑥ 作家編 松井優征先生「防御力をつければ勝率も上がる」 - ジャンプ漫画学校

167あとで/1331users カズオ・イシグロ語る「感情優先社会」の危うさ | 読書 | 東洋経済オンライン | 経済ニュース新基準

161あとで/892users Dockerfileのベストプラクティス Top 20 | Sysdig

157あとで/1386users 建築好きなら死ぬまでに見ておきたい建築100(日本国内編) | anond.hatelabo.jp

157あとで/1279users Microsoft文字起こしアプリGroup Transcrib‪e‬」を公開 - iPhone Mania

156あとで/1347users お金のことを考えたくない人はFP3級を勉強するといい - アオヤギさんたら読まずに食べた

156あとで/1290users 「プロフェッショナル 庵野秀明スペシャルNHK取材を後悔した庵野監督の生態 - Togetter

153あとで/1239users Keigo Hattori on Twitter: "YouTubeで学ぶコンピュータサイエンス。これを完了したら実質学位を取ったようなもん。という話だが、すごいなこれ・・・。全部無料でここまでの・・・https://t.co/xNHNvBM5Aa"

150あとで/1018users 「シン・エヴァンゲリオン劇場版」公開から1週間分の感想エントリまとめ - まなめはうす

148あとで/705users React を深く知るための入り口 | Panda_Program | Zenn

148あとで/1130users 情報ではなく経験アウトプットすること - lacolaco

144あとで/1159users 「浄土PDF一覧 | 法然上人鑽仰会

140あとで/1166users 売られている防災リュックがピンとこないので…カバンから食料まで『100均だけ』で防災グッズを揃えて検証してみた→防災士もオススメ - Togetter

137あとで/1028users こうやって切れば良かったんだ!鶏むね肉がぷるっぷるになる「うましおごま油漬け」が鶏ムネ肉を疑うレベルの柔らかさ | Gourmet Biz-グルメビズ-

トップのコグニカルは個人運営の"「分かりやすさ」と「心地良さ」を追求した学習サイト"だそう。

なぜか仏教雑誌浄土」がブクマを集める。無料公開されて古い号の歴史的価値面白がられている。読み切れなそう。

YouTubeで「中学生から分かるAI数学講座」……で紹介されていた動画を開いてみたが1000弱のブクマを集めている割に再生数数百止まり

2021-03-09

落ち込むとはてブアプリの通知履歴を見る

稀にアプリを開く度に承認が得られるので、コメントしていない日も開いてしまう。

お気に入りも全部読んでトップにげんなりした後もまた開いてしまときは、通知の履歴を見る。うれしい。もっと遡れればいいのに。

関係ないけれど検索結果や個別ユーザブクマ一覧を見ていると、よくわからんタイミングリフレッシュされて 1 ページ目相当の位置に戻されるのつらい。

さら関係ないけれど URL正規表現Web 版と同じにしてくれ…仕様も教えず決めずインターンシップでとりあえずこういうの作ってーって大した指示も出さず作ってもらってレビューもせずにリリースしたみたいなクオリティなんだよね全体的に。最悪アプリは諦めるからインターンケアちゃんとしてくれ。妄想だけど。

2021-02-10

anond:20210210165927

関東の人は関西人に対して優しいか方言を許容しているねんけど

たまに勘違いして正規表現ケチつけてくる奴がおるねんから

関西人に対しては方言とかイントネーション辞めるように圧力欠けてかないといけないやで

2021-01-15

人間性センターが本当にタコ

最近人間性センターに回答しないと書き込めなくなった。

以前は5問中3問正解でとか言ってたけど全問正解しないとだめなバグがあって、何を修正たかというと、5問中3問の下りを全問正解にしたというウルトラCものだった。バグに合わせて周りを変えるとか、ソフトウェア開発の猛者が集うはてなって一体なんなのと思わなくもない。3問正解でOkにしてください、なんて問題大学プログラミング入門で出る程度のものしか無いと思うんだが。

半纏買ってはいけないのはなんで?と聞かれたら「おじゃんになるから」は正解だが「おじゃんになる」は不正解だ。クイズ番組ではどっちも正解になるのになんでだと思う。

桃太郎の部下の答えは未だにわからない。

人間性センターの回答は、おそらくだが、正規表現で判定していると思うが、この回答の正規表現がきちんと作り込まれていない問題がそれなりの割合存在するのだろう。

というかなんでこのサービスを挟み込んでるんだ?別の認証なんかいくらでもあるのに。

2020-12-26

anond:20201226013650

最近出た「マンガでわかる正規表現

キャラが全ページにわたり数種類の表情差分使い回してるだけで背景もいわゆる効果背景のみ。コマ割りもマンガらしい表現では一切なく、久々に「マンガ看板下ろせ!」と思った

2020-12-11

anond:20201211221810

再生と停止 っておかしいな。言われてみれば。世界観を揃えろよって感じだ。

それなら「再生と死」とかじゃないと。 あるいは「開始と停止」「進行と停止」とか。

Regular Expressionが「正規表現」と訳されてる違和感にも似てる

2020-11-28

ぶっくまーくをつくったのでばずりたい

http://masuda.soregashi.com/

というわけで作りました

それだけでは、あまりにもなのでChoromeの場合作成手順を書いておく。

たぶんどのブラウザでも似たような手順でいけるでしょう。

  1. Ctrl + Shift + o でブックマークマネージャを開く
  2. 右上の:(実際には縦に点3つ)からブックマークエクスポート
  3. ダウンロードしたファイルエディタで開いて、正規表現で「ADD_DATE=\".*\"」を無に置換(この手順は別にやらなくても良いが、ブックマーク作成時刻データが気になる乙女心配慮

あとはFFFTPあたりでupしたらいいです(ブログならHTML編集モードコピペすればよいでしょう)

FFFTP10年ぶりに使った気する。

2020-11-01

ごめんなさい教えてください😭

正規表現マッチした部分を選択するにはどうしたらいいですか😭

https://anond.hatelabo.jp/20201101154800

言語っていうかvscodeです😢

解決しました!!!

vscode正規表現文字列マッチさせたあとAlt+Enterを押せば選択できました!!!

ありがとう!!!

2020-10-22

anond:20201022001600

そこを正規表現でうまくやることを考える、ってところから人は賢くなっていくんだよ

2020-10-17

anond:20201016210005

それまえにも投稿してなかったっけ?

そんなんより早く正規表現検索できるGoogleを作ってくれよ。

2020-10-13

anond:20201013180218

わかんないよ。正規表現かいじるだけだし、ライブラリなにか突っ込むと返ってくるぐらいにしか思ってないし。Python も実は 2.x 世代に学んだ知識で、3.9 なんかさわっているけど、型があるメリットがよくわかんない。上も何を考えてるかわかんないし、向上心とか持ってないもん。人工知能ってだけで入った看護専門学校出身だよ、私?

2020-09-23

anond:20200923060042

正規表現は読み辛いから使わないで」とか言ってそう

2020-08-21

MUA(mailer)チェンジしようと思ったけどアドレス帳移植がうまくいかない。必須項目が空欄になってる行があるのだ。そういえば真面目にアドレス帳なんて作ってこなかったな。まともな社会人なら名刺交換したあとに手入力でせっせとデータ追加するんだろけど( ^ω^)・・・そんなことしてないから、姓名がともに空欄なアイテム散見。手作業でその行を抜いていくというのも手。しかしこういうギークじゃない作業はやりたくない。どうすっかな?そういって今までずっとあのMUAを使い続けてきたんだよな( ^ω^)・・・正規表現置換でもできそう。姓名は最初の2列に来てるから、「^,,.+\n」を片っ端から削除していけばいいのか?ActiveMailだと姓名+メアドさえあれば食うみたいだから、そうやって姓名すらない行を削除すれば、あとはエクセル作業で最低限フォーマットになるよう手作業で列削除。金輪際2度とメールをやり取りしない人のデータも削除したいけどそれは手作業(非ギーク)になっちゃうもんな( ^ω^)・・・たぶん今の半世捨て人モードだと結構すっきりしたアドレス帳になりそ

2020-06-30

Androidのアホメーラー

どんな文章でも.が入ってただけでURLと見なしてリンク表示になる仕様バカなの?

正規表現もまともに書けない奴が作って、放置されてるの?誰だよこれ作ってるのGoogleか?

2020-06-28

タグジャンプ存在を知らないプログラマ

嘘だと思うだろ?

これが本当に存在するんだ。

彼らは毎回grepして場所を探してる。

一応、弊社は東証一部企業IT系ではないがソフト部署

40歳前後ベテランでもgrep

grepマンでも年収900万。

派遣の人はタグジャンプ使ってたりする。

別にニッチ機能を使いこなせとは言わんが、

さすがにタグジャンプ存在知らないのは非効率すぎる。

ちなみに正規表現なんて知るわけもない。それでも年収900万。

2020-05-23

anond:20200521175300

どもども。

「なにか作ってみろ」は有効アドバイス

わたし意見と経歴

わたしは「なにか作ってみろ」系の言説にはまったく同意しません。

わたし自身会社に3ヶ月間みっちり導入教育をしてもらい(COBOL85とPL/I時代がわかる……)、基本的アルゴリズムコントロールブレークマッチング、マスタ-トランザクションソートマージetc.いよいよ時代がわかる……)の演習を(給料をもらいながら)やって、その後もプログラムとつかず離れずでフラフラと生きてきました。

こういう経験新卒カードがあるから有効もので、では1から始めるとしたら……、というときに、プログラミングスクール専門学校)というのは悪くない選択肢ではないかと思います。が、行ったことないので正直わかりません。

実際自分が1から始めるという立場になったら、まったくオロオロして元増田さんのように世のなか(の気にいらないヤツら)に呪詛を吐いて満足するだけだったと思います(当然ながらそれをいくらやってもプログラミングは上達しません)。

「なにか作ってみる」前に動機をはっきりさせる

話をプログラミングだけに限っていえば、一番大事なのはやりかたじゃなくて動機だろうと思います

「なにか作ってみよう」というのは、なにか作ってみようと思ってない人にはまったく心に響かないでしょう。

動機リブンで「なにか作ってみた」人といえば思いだすのは、MikuMikuDance樋口優さん(ミクを簡単に踊らせたい!)とhinadanの若宮正子さん(高齢者にも遊べるゲームが欲しい!)でしょうか。

ただかれらはわたしから見れば(モチベーションを維持しそれを行動に移す)天才で、あんまり参考にならないのも確かです。

作ってみた」は就職に使える経験

あと、元増田さんの動機は「プログラミング生業にしたい」ということなので、野良プログラマでは履歴書上でのアピール力が弱いかも、と思います

ビジネスで使われるアルゴリズムにはそれなりのルールがあります安全な(バグの出にくい)コードの書きかた、「車輪の再発明」はぜず、枯れた(将棋で言えば定跡のような)アルゴリズムを使う、ほかの人に使ってもらえるための工夫(可読性の向上など)、etc.です。

「なにか作ってみよう」を繰りかえしても、そういった作法的なものが身につくかどうか、それは才能に関わってくる問題だと思います。才能だのみの手法を推奨するのは無責任だと思いますね。

また、たとえば「例をコピーして解析する」というのもある意味有効プログラミング学習法ですが、「下手に習うと下手が伝染る」ともいいます。どれがお手本として優れているか、それを見る目はある程度ビジネス用途プログラムに関わっていないと持てないというジレンマがあります

野生のプログラマ就職有効なくらいの力を見せるとしたら、なにかのコミッター(なにする人かよく知りませんが)とかになって「××ならこの人」となったり、プログラミングコンテストで上位の成績を残したりしなければいけないのかもしれません。

どうしたものでしょうね。ブクマカのみなさんの反応を見ると、専門学校でもあまり就職に有利にならない(ホントか?専門学校意味あるのか?)という話ですが、目的就職ならば、一番の近道のような気がします。

じゃあどうすべきか?は他人にはわからない

そこらへんからは、元増田さんがなにをしたいか、あるいは聞いてみたいだけだったのかによります仕事には適性とやる気が大事です。あとは年齢と必要性かな。進路はオーダーメイド以外にはありえないので、提示された案を自分で選んでそれに賭けるしかないのかな、と思います

「なにか作ってみました」の記録

自分がまず作ったもの晒してみろよ

さて、この文章は実はこの一文に反応してのものです。(↑のは前書き)

GWあたりからトシも考えずにRubyの再入門をしていまして、手始めに「首相動静」の整形ツールを作ってみました。

初心者で(Rubyに関しては仕事で使ったことないので)なにか作ってみよう、というとこの程度ですね。

これで就職に有利になるかというと、あんまりそうは思えないなあ。Excelマクロが組めるとかのほうがどこかの事務所に潜りこめそうですよ(でもそれも最近インフレ気味かもしれませんね)。

なにをするツール

朝日新聞首相動静は詳細ですが、改行が入っておらず、大変読みにくいものです。こんな感じです。

首相動静の例(2018年12月11日……話題になったものです)

 【午前】9時31分、自民党本部。33分、同党役員会。10時2分、官邸。5分、閣議。21分、宇宙開発戦略本部。34分、柴山昌彦文部科学相。38分、岩屋毅防衛相。41分、山下貴司法相。11時3分安全保障と防衛力に関する懇談会

 【午後】0時11分、政府与党連絡会議。44分、山口那津男公明党代表。1時27分、日韓議員連盟額賀福志郎会長河村建夫幹事長。2時20分、行政改革推進会議。52分、兼原信官房副長官補、秋葉剛男外務事務次官。3時36分、麻生太郎財務相財務省岡本薫明事務次官太田主計局長。4時7分、太田氏出る。可部生理局長加わる。15分、全員出る。25分、黒川弘務法務事務次官。34分、谷内正太郎国家安全保障局長、北村内閣情報官宮川内閣衛星情報センター所長。41分、谷内、宮川両氏出る。5時3分北村氏出る。10分、東京永田町ザ・キャピトルホテル東急宴会場「鳳凰」で中曽根康弘世界平和研究所設立30周年記念式典に出席し、あいさつ。20分、官邸。6時18分、ガーナのアクフォアド大統領を出迎え。記念撮影。19分、儀仗(ぎじょう)隊による栄誉礼、儀仗。27分、アクフォアド大統領会談。7時12分、署名式、共同記者発表。32分、公邸首相主催の夕食会。8時43分、アクフォアド大統領見送り。9時、ヨルダンのアブドラ国王電話協議

首相動静フォーマット

ただ、これはフォーマットがはっきりしており、

  • 午前と午後はそれぞれ1行になっていて、行頭には【午前】/【午後】という文字列が付いている。
  • 午前と午後の間には空行がある。
  • ひとつひとつイベント時刻表示で始まり句点「。」で終わっている。
  • 時刻は「h時m分」型で、前ゼロはつかない。後にかならず読点「、」が付く。「h時」の部分が前の項目と同じ場合には省略する。
  • 午前いっぱい、午後いっぱいの予定の場合には時刻をつけない(他の首相動静から)。

と、例を見るかぎりキッチリとしたルールに則っているようです。

動機

なので、「これだったら整形できるかも」と思い、再び学びはじめたRubyで整形ツールを作ってみることにしました。

整形ツール
ツール仕様
整形後の例(上記動静を整形)

【午前】

09時31分、自民党本部

09時33分、同党役員会。

10時02分、官邸

10時05分、閣議

10時21分、宇宙開発戦略本部

10時34分、柴山昌彦文部科学相

10時38分、岩屋毅防衛相

10時41分、山下貴司法相

11時03分安全保障と防衛力に関する懇談会

【午後】

00時11分、政府与党連絡会議

00時44分、山口那津男公明党代表

01時27分、日韓議員連盟額賀福志郎会長河村建夫幹事長

02時20分、行政改革推進会議

02時52分、兼原信官房副長官補、秋葉剛男外務事務次官

03時36分、麻生太郎財務相財務省岡本薫明事務次官太田主計局長。

04時07分、太田氏出る。可部生理局長加わる。

04時15分、全員出る。

04時25分、黒川弘務法務事務次官

04時34分、谷内正太郎国家安全保障局長、北村内閣情報官宮川内閣衛星情報センター所長。

04時41分、谷内、宮川両氏出る。

05時03分北村氏出る。

05時10分、東京永田町ザ・キャピトルホテル東急宴会場「鳳凰」で中曽根康弘世界平和研究所設立30周年記念式典に出席し、あいさつ。

05時20分、官邸

06時18分、ガーナのアクフォアド大統領を出迎え。記念撮影

06時19分、儀仗(ぎじょう)隊による栄誉礼、儀仗。

06時27分、アクフォアド大統領会談

07時12分、署名式、共同記者発表。

07時32分、公邸首相主催の夕食会。

08時43分、アクフォアド大統領見送り

09時00分、ヨルダンのアブドラ国王電話協議

う~ん、見やすい!ことないですか?

あと、午後の時刻を24時間制にしたいな、とも思いますが、それは今後の課題(つぎに首相動静話題になったとき)とします。全角数字計算ってどうやるんだろう?

ソース

たぶんRubyistにいろいろ突っこまれると思うけど、こんな感じです。

プログラマ玉石混淆ですが、これは石のほうの例だと思っていただければさいわいです。

はてな記法にはシンタックスハイライトあるけど、増田だとInternal Server Errorになるのではずしました。見にくくてスマソ。

# encoding: utf-8
# 漢字コンバータライブラリを取りこむ(String漢字変換メソッドを付けてくれる。神)
require 'kconv'

# 正規表現パターン
# 時刻をh時m分形式からhh時mm分形式にする
# 否定後読みを使用する
# 時は行頭にある
OneDigitHour = /^((?<![0-1])[0-9]時)/
# 分は時のあとにある。このパターンマッチすると、\1が時、\2が分になる。
OneDigitMinute = /^([0-9]{1,2}時)(?<![1-5])([0-9]分)/
# 分のない、時だけの行のパターン否定先読み使用
HourWithoutMinute = /^([0-9]{1,2}時)(?![0-5]?[0-9]分)/

# 行頭のh時m分をhh時mm分にするサブ処理(これは関数といっていいの?)
def convTopHourMinute2TwoDigits(oneLine)
    # 時を変換
    oneLine.sub!(OneDigitHour, "0\\1")
    # 分を変換
    oneLine.sub!(OneDigitMinute, "\\10\\2")
    # 分がない場合"00分"を追加
    oneLine.sub!(HourWithoutMinute, "\\100分")
    # 戻り値
    oneLine
end

# 入力ファイル名前
InputFilename = "首相動静2018年12月11日.txt"
# 出力ファイル名前
OutputFilename = "首相動静2018年12月11日_編集済.txt"

# 入力ファイルオープン
inFile = File.open(InputFilename, "r")
# 出力ファイルオープン
outFile = File.open(OutputFilename, "w")

# 時刻パターンシンプルに、h時、m分、h時m分、という3パターンを結合する
# 1つのパターンで全部カバーするよりこちらのほうが見やすい。というか、脳の容量の問題で1文に書ききれなかった
jikokuPattern = /[0-9]{1,2}時[0-9]{1,2}分、|[0-9]{1,2}時、|[0-9]{1,2}分、/
# 午前/午後
ampm = /(【午前】|【午後】)/

# 午前/午後、あるいは時刻の前で改行するためのパターン
kaigyouSign = Regexp.union(ampm, jikokuPattern)

# ファイル一括読み込み
# 昔は1行ずつ読みこんでました。メインメモリが3MByteとかだったので
contents = inFile.read.toutf8

# 入力終了。閉じておきます
inFile.close

# スコープ関係から、ここでローカル変数に代入
# ※ Rubyスコープと暗黙の型には泣かされました。これに慣れるのがRubyのコツかしら
#  明示的な型宣言はあったほうがいいと思うなあ。エラー出力の理由がわからなかったりするので。
hour = ""

# デバッグ行はコメント化しています
# 時刻パターンチェックのため、コンテンツを出力してみる
# p jikokuPattern.match(contents)

# エントリを改行サインで行に分ける
contents.gsub!(kaigyouSign, "\n\\&") # "\\&"はマッチした文字列のもの。2重のエスケープ"\\"が必要

# 改行チェックのため出力
# p contents

# 入力を行で分割して各行ごとに処理
contents.split("\n") do |oneLine|
    # 午前/午後を示す開きカッコ"【"があるか
    if (oneLine =~ /^【/) then
        # そのまま出力
        outFile.write(oneLine + "\n")
        # p "午前午後:" + oneLine
        next
    # 空白行は無視スキップする)
    elsif (oneLine =~ /^[\s ]*$/) then
        # 出力しない
        # p " 空白行:<skip>"
        next
    # 行頭に「時」があるか
    elsif (oneLine =~ /^[0-9]{1,2}時/) then
        # あったら時間表示を抜きだしておく
        hour = oneLine.match(/^([0-9]{1,2}時)/)[0]
        # p "   時:" + oneLine
        outFile.write(convTopHourMinute2TwoDigits(oneLine) + "\n")
        next
    else
        # 「時」がなければつけて出力
        oneLine = hour + oneLine
        # p "普通の行:" + oneLine
        outFile.write(convTopHourMinute2TwoDigits(oneLine) + "\n")
    end
end
感想

手でやったほうが早いね

以上

2020-05-14

ag正規表現抑制するオプションはない

雑に2-3回ググっただけだからしらんけど。グーグルの1ページ目に存在しない情報はこの世にない

ag '\[a-zA-Z0-9\]'

みたいにバックスラッシュメタ文字回避するしか無い

2020-05-07

自分がめちゃ使えるって言ってる意味じゃないんですけど、あまりにも社内にメモ帳で済ましテキストエディタが使える人がいなさすぎて勉強会開きたいんですが。

などこのぐらいでも覚えたら結構捗ると思うのです。

面倒くさいことを面倒くさいままするんじゃなくて、どうしたら簡単に短時間でできるかって誰もそういうのは考えないもんだから

専門の慣れた人に頼めば10秒で終わることも、慣れない人がやると普通に1時間かかる様なことをして仕事した!って言って達成感得てる場合じゃないですよ本当に。

リストラで人数が少なくなったから、残った人で何でもできるようにするのも大切かも知れませんが、

専門の人が居るならそれを逆に活かさない手もないと思うんですが。

と言う自分はてな記法を初めて使ってみました!こんなことできるんですね。

今日もいくつか増田を書きましたが、ブクマトラバがつきませんでした。

やっぱり日々勉強ですよね、どうなるか分かりませんが日々自分の刀を磨いて行くしかないのかなと思いました。

今日はもうちょっとして帰ります

また明日よろしくお願いします。

Google Spreadsheet超便利じゃん。

Office切れてたから使ってみたけどこっちでよさそう。

本家正規表現グループ置換できなかったよな。

2020-05-06

正規表現検索できるサーチエンジン

なんで無いんだよ。

早く作れよIT土方ども。

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