タグ

610 正規表現に関するsatoschiのブックマーク (31)

  • 漢字、ひらがな、カタカナにマッチさせる方法 | 正規表現

    Unicodeプロパティがサポートされない場合 文字クラスで、文字が定義されているコードの範囲を指定します。このときShift_JISなどの[亜-熙]では不十分で、Unicodeブロックの範囲を指定する必要があります。 ひらがな Hiragana (Unicode block) - Wikipedia 表記1 … [\u3041-\u3096] 表記2 … [\x{3041}-\x{3096}] カタカナ Katakana (Unicode block) - Wikipedia 表記1 … [\u30A1-\u30FA] 表記2 … [\x{30A1}-\x{30FA}] 表記1 … [々〇〻\u3400-\u9FFF\uF900-\uFAFF]|[\uD840-\uD87F][\uDC00-\uDFFF] 表記2 … [々〇〻\x{3400}-\x{9FFF}\x{F900}-\x{FA

  • No.06 正規表現を使って合成フォントのような表現を目指す | other | 勉強部屋 | study-room

    InDesignには、「かな」や「欧文」に異なるフォントを指定できる「合成フォント」という機能が用意されています。[書式]メニューから[合成フォント]を選択すると、[合成フォント]ダイアログが表示されるので、新規で合成フォントを作成し、下図のように目的に応じて各項目を設定すればOKです。ちなみに、下図は「A-OTF リュウミンPr6N R-KL」のベースフォントに対し、[半角欧文]と[半角数字]に「Garamond Premier Pro regular」を指定し、[サイズ]や[ベースライン]を調整したものです。 なお、合成フォントの各文字種に、それぞれどのような文字が含まれているかは、NAOIさんのサイトで詳しく解説されています。 http://d.hatena.ne.jp/NAOI/20091111/1257923050 あとは、フォントメニューからこの合成フォントを指定すれば良いので

    No.06 正規表現を使って合成フォントのような表現を目指す | other | 勉強部屋 | study-room
  • OS間で気をつけるべき正規表現 - DTPab

    【訂正 2018.9.4】 正規表現の書き間違いを訂正しました(赤字部分)。 今回はスクリプトからちょっと離れまして、正規表現のお話です。 僕の勤める会社では、Mac環境とWin環境の両方があり、OSを跨いで作業することもしばしばあります。そんなときに、用意した正規表現スタイルがMacでは適用されるのにWinでは適用されない(もしくはその逆)ということがありました。割と知られているとは思うのですが、注意喚起も含めてご報告です。 段落スタイルを作成し、ひとつめの正規表現スタイルに「U+2212のマイナス記号」と「U+301Cの波ダッシュ」の文字カラーをマゼンタにするもの、ふたつめに「U+FF0Dのマイナス記号」と「U+FF5Eの波ダッシュ」の文字カラーをシアンにするものを登録します。 これを実際に適用すると下図のようになります。 このように見た目はほとんど変わらない文字ですが、正規表現ではし

    OS間で気をつけるべき正規表現 - DTPab
  • なるべく短い正規表現で住所を「都道府県/市区町村/それ以降」に分けるエクストリームスポーツ - Qiita

    rex = /ごにょごにょ/ p "東京都文京区後楽1丁目3−61".match(rex).captures #=> ["東京都", "文京区", "後楽1丁目3−61"] みたいなやつ。なるべく短く。 実用性? そんなもの、うちにはないよ。 TL;DR 「読むのめんどくさい」という人用に最初に最終結果を置いておきます (...??[都道府県])((?:旭川|伊達|石狩|盛岡|奥州|田村|南相馬|那須塩原|東村山|武蔵村山|羽村|十日町|上越|富山|野々市|大町|蒲郡|四日市|姫路|大和郡山|廿日市|下松|岩国|田川|大村)市|.+?郡(?:玉村|大町|.+?)[町村]|.+?市.+?区|.+?[市区町村])(.+) あまり厳密ではないのでちゃんとしたとこでは使わないほうがいいです 住所データを用意する 郵便局からデータをダウンロードしておく。一ヶ月毎に更新されている。 → 郵便番号データ

    なるべく短い正規表現で住所を「都道府県/市区町村/それ以降」に分けるエクストリームスポーツ - Qiita
  • 正規表現スタイル Tips(2) - 名もないテクノ手

    4桁の数字を4分数字、3桁の数字を3分数字、2桁の数字を2分数字にする 下図のような縦組で、数字を入力するだけでそれぞれの桁に応じた数字字形にします。 正規表現は以下の通り 文字スタイル正規表現 四分字形(?<!\d)\d{4}(?!\d) 三分字形(?<!\d)\d{3}(?!\d) 二分字形(?<!\d)\d{2}(?!\d) 適用結果はこうなりました。 num_glyphはもう役目を終えたかもしれないなあ。。。 図や表番号だけを太字&泣き別れ禁止にする 文中にある「図1」や「表2-3」などの文字列を自動的に太字にし、かつ泣き別れ禁止にします。下図のように文字列が泣き別れていると、なんだか気になって仕方ない人向け^^ 使用する正規表現は [図表]\d\d?[\.-]?\d* 適用すると... 英数字の言語を「米国」にする 普段、なにげなく「日語」属性で混植しているけれど、InDesi

    正規表現スタイル Tips(2) - 名もないテクノ手
  • (DTPtechNote:1382) Re: [Indesign Tag]特殊文字のタグ

    To: anonymous at unknown-host Subject: (DTPtechNote:1382) Re: [Indesign Tag]特殊文字のタグ From: 流星 <anonymous at unknown-host> Date: Tue, 25 Apr 2006 09:06:02 JST In-reply-to: <DTPtechNote.1380@tp> Reply-to: anonymous at unknown-host 私が調べたリストでは、こんな感じです。 一個ずつ情報パレットで見て書いたら、 非生産的なのでUnicodeタグ吐いて調べましたw ★「特殊文字の挿入」 自動ページ番号 <0018> 次ページ番号 <0018> 前ページ番号 <0018> セクションマーカー <0019> 中点 <2022> 著作権記号 <00A9> 省略記号 <2026> 段

  • InDesign CS3 正規表現一覧

    2008-05-27 市川せうぞー InDesign CS3の正規表現一覧をまとめてみました。オンラインヘルプよりもちゃんとしてます。間違え、漏れなど見つけた方はご一報ください。 ▼文字を表すもの 正規表現 意味 InDesign拡張 検索のみ InDesignワイルドカード 用例・備考

  • 中表紙.indd

    DBPublisher/i Database Publishing Plug-ins for InDesign 正規表現の手引き 市川せうぞー はじめに 読者の中には「正規表現」という言葉を初めて聞く方もいらっしゃるかもしれません。正規表現 はとても便利なテキスト検索方法の一種です。 「正規表現は難しい」などと言う人がいますがそれ は誤解です。基礎をきちんと理解すれば、決して難しいものではありません。この小冊子は、正規 表現を初めて学ぶ人のために書きました。 この小冊子は前半と後半に大きく分かれています。まず、前半の基礎編で正規表現の基的な考 え方について学びます。次に実例編でいくつかの作例を見ながら正規表現を学習できます。実例編 はチュートリアルとして実際にやってみると理解が深まるでしょう。巻末には参考書籍や主な正規 表現一覧を掲載してあります。 筆者と正規表現の付き合いはもう20年近

  • 正規表現スタイルの活用例……インタビュー記事で人名の書式を指定する

    文を明朝体で組むインタビュー記事で、下図のように人名をゴシック体にしたい……というケースを考えます。これが自動的に書式指定されるのであれば、編集者の方は入稿前の準備作業(マーカによる指示など)も必要なくなりますし、校正時の指定漏れチェックも楽になるはずです。 上図のように ■段落行頭の『人名:』をゴシックにする。 ■『人名:』から始まる段落行頭は字下げしない。その他の段落行頭は字下げのまま。 という体裁を目指します。※作業前に段落行頭が字下げされているのは、スペースを入力しているのではなく文字組みプリセットで『行末約物全角/半角・段落1字下げ』を選択しているためです。この設定は最後まで変更しません。 『先頭文字スタイル』機能を試してみる InDesignでは段落スタイルに対して『先頭文字スタイル』というものを設定できます。これは「段落行頭から最初の2文字だけ文字スタイルを変える」「段落行

    正規表現スタイルの活用例……インタビュー記事で人名の書式を指定する
  • javascript:replace()で正規表現に変数を使う場合 - クウネル戦隊ガキュオーン備忘録

    置換するのに正規表現を使いたくて、 その正規表現の中に変数を指定したらうまく動かなかったのでメモ なにやらそういう時はRegExpオブジェクトを使うらしい('-'*) pattern 1. str.replace(/ABC/g, '*'); pattern 2. str.replace(new RegExp('ABC', 'g'), '*'); は同じ結果になります(*'x') funciton (str) { // 全角数字を半角数字に置換え var zen = ['1','2','3','4','5']; var han = ['1','2','3','4','5']; for (var i=0; i < zen.length; i++) { str = str.replace(new RegExp(zen[i], 'g'), han[i]); } return str; }

    javascript:replace()で正規表現に変数を使う場合 - クウネル戦隊ガキュオーン備忘録
  • 『Illustratorの文字編集にRegX その1』

    このブログでは何度も書いておりますが、Illustratorのテキスト編集機能はあまりに貧弱と言わざるを得ません。 確かにIllustratorはオブジェクトを主体で操作するソフトであり、文字編集はページレイアウトソフトで行えというソフトメーカーの意図なのかもれません。 文字編集が重要視されていないのは検索置換という機能にも現れています。 テキストエディタには標準で搭載されている機能もほとんどなく、文字の範囲すら絞れません。ましてやInDesignではとっくの昔に標準化されている属性などの変更もできません。 しかし、ソフトメーカーの思惑とは違い、DTPという作業の中ではIllustratorで文字の編集をすることも少なくはないでしょう。だからみんな困っているわけですよね。 例えば無数にある「cm2」の「cmに続く2」だけを上付にするとします。 ↑こんなの 貧弱とは言ってもIllustrat

    『Illustratorの文字編集にRegX その1』
  • せうぞー流、InDesignの組版構造

    オレメモ。Illustrator流のやり方をそのままInDesignに適用できない。InDesignの組版には構造やシーケンスがある。これがわかってくると、InDesignが128倍くらい面白くなると思う。

    せうぞー流、InDesignの組版構造
  • 正規表現を使ってテキストをいじる3.0 - なにする?DTP+WEB

    3倍早くなるためのDTP講座の"効率化のヒント7"で正規表現を使ってテキストをいじる2.0が紹介されました。 追加機能のヒントをもらい、良い機会なので気づいていて直してなかった不具合も含めて、1年越しでバージョンアップしてみました。 前のバージョンよりもずいぶんキビキビ動くようになった気がします。(単にマシンが速くなっただけかも) 追記(2010-10-13): 設定ファイルの「保存」と 「読み込み機能」を追加したデラックス版をアップしました。 ダウンロード 対応バージョン:イラストレーターCS3以上 ダウンロード

    正規表現を使ってテキストをいじる3.0 - なにする?DTP+WEB
  • EPUB版『InDesign者のための正規表現入門』頒布はじめました。 - 名もないテクノ手

    InDesignを使って正規表現の基礎と実例が学べるテキストです。EPUBフォーマット*1になっていますので、多くのEPUBリーダー上で閲覧できます。 目次 目次は以下のとおりになっています。 InDesign者のための正規表現入門 はじめに 基礎編 正規表現とは何か? 正規表現で何ができる? ■初めての正規表現検索 メタ文字とは? メタ文字を攻略する ■文字を表すメタ文字 ■位置を表すメタ文字 ■繰り返しを表すメタ文字 ■その他のメタ文字 ■メタ文字をそのものを表すには 「先読み」と「戻り読み」テクニック ■先読み ■戻り読み ■補足 陥りやすい罠 ■欲張りなマッチ ■否定文字クラス ■方言 正規表現の考え方 正規表現スタイルについて InDesign独自の正規表現 ■独自のメタ文字表現 ■改行文字 ■全角半角の区別 ■POSIXブラケット表現 実技編 マーキング済みのテキストに段落スタ

    EPUB版『InDesign者のための正規表現入門』頒布はじめました。 - 名もないテクノ手
  • Unicodeで「漢字」の正規表現 – ものかの

    改訂:2017/07/22 Unicode 10.0に合わせて書き直し。正規表現を簡易にしようとしてやりすぎていたのを修正。 改訂:2023/03/21 U+30000以降を追加。InDesignの正規表現を追記。 正規表現で漢字の範囲指定をする場合、Unicodeではどうするかが悩ましいところです。 Unicodeの漢字の範囲として [一-龠] にしている例を見かけます。しかしこれは旧規格JIS X 0208の漢字が含まれる範囲をUnicodeの中から切り出しているだけです。互換漢字ブロックをまるごと取りこぼしているので、WindowsのシフトJIS(CP932)の拡張漢字に当たるものが含まれていません。現規格JIS X 0213の第3・第4水準漢字も考慮されていません。簡易な範囲指定だとしても、新常用漢字の「𠮟」が含まれておらず、今から見るとあまりに時代遅れです。 Unicodeのす

    Unicodeで「漢字」の正規表現 – ものかの
  • 【正規表現03】特定の金額だけにスタイルを適用したい - 名もないテクノ手

    さあ、きょうはInDesign上での正規表現です。InDesign上で特定の金額にだけスタイルを付けたい場合ってありませんか? 例えば下図のようなテキストがあったとします。 こうしたいくつかの価格のうち、「合計」の価格にだけスタイルを付けたいような場合です。 もちろん、これひとつだけなら手作業で変更したって罰はあたりゃしません。だがしかし! カタログなどで何百何千というスペックから特定の金額にだけ(あるいは特定の商品番号にだけ)スタイルを適用しようとしたらどうでしょう? きっとスリコギみたいにすり減っちゃうでしょう。Hey, You! マサヒコ「わかった! 『合計\t[\d,]+』でいいんじゃない?」 せうぞー「試してみよう!」 マサヒコ「あれ? 『合計』の部分までスタイルが付いてしまった!」「スタイルのオンオフを表す正規表現でもあるのかなあ?」 せうぞー「それはないよ。その方向には正解も

    【正規表現03】特定の金額だけにスタイルを適用したい - 名もないテクノ手
  • イラストレーターで正規表現とテキストの変形 - なにする?DTP+WEB

    「す。」をスクリプトで詰めてみる - なにする?DTP+WEBにインターフェースをつけてみた。 正規表現で見つけたテキストに指定した値を適用します。 入力した数値についてチェックしてませんので、 それぞれ適切な数値を入力してください。 おもしろいのは、文字パレットだと文字詰めは100%までしか選べませんが スクリプトからだと1000とか入れれますので1000%の詰めとか可能です。 アキも、文字パレットだと「二分とか三分」になっていますが、 スクリプトだと数値で管理しているが分かります。 ダウンロード 簡単ですが正規表現の簡易サンプル [0-9]:半角数字 [A-Za-z]:アルフェベットの大文字小文字 [ぁ-ん]:ひらがな [ァ-ン]:カタカナ [ぁ-んァ-ン]:ひらがな・カタカナ [一-龠]:漢字 (追記) 上の例だと1文字ずつマッチしますが、 「+」を追加することにより連続した文字にマ

    イラストレーターで正規表現とテキストの変形 - なにする?DTP+WEB
  • 【インフォシーク】Infoseek : 楽天が運営するポータルサイト

    日頃より楽天のサービスをご利用いただきましてありがとうございます。 サービスをご利用いただいておりますところ大変申し訳ございませんが、現在、緊急メンテナンスを行わせていただいております。 お客様には、緊急のメンテナンスにより、ご迷惑をおかけしており、誠に申し訳ございません。 メンテナンスが終了次第、サービスを復旧いたしますので、 今しばらくお待ちいただけますよう、お願い申し上げます。

  • 文字数によって自動的に長体をかける - 名もないテクノ手

    たとえば、7字取りの名簿のようなものがあったとします。 ご承知のとおり、7字までは「字取り機能」でいい具合になりますよね。しかし、7字以上の人名が入ってきたらどうでしょう? このように具合が悪いです(作家名の傾向がバラけているのは単に作例だから^^)。 InDesign CS2くらいだと「ヨシここは一丁、スクリプトでもんだるか」みたいな柔道一直線ワールドになりがちですが、InDesign CS4の「正規表現スタイル」を使えば、近藤正臣のように軽々と仕事をこなせます*1。 拡大していただければ分かるんですが、「^.{11}$」は行頭から行末まで11文字きっかり*2の場合は文字スタイル「65」(長体65%の文字スタイル)が掛かっています。同様に10文字には「70」、9文字には「80」、8文字には「90」になっています。これが自動でかかるんですね。 めでたし、めでたし。 この他にも表組み内や、見

    文字数によって自動的に長体をかける - 名もないテクノ手
  • Javascriptの正規表現置換で後方参照を使いたい - 名もないテクノ手

    Javascriptの正規表現置換(replaceメソッド)で後方参照(RegExp.$1とか)を使いたいと思った時、 str = "aaaaaa123aaaaa456aaaa7890" str1 = str.replace(/(\d+)/g, " (" + RegExp.$1 + ") "); //=> aaaaaa () aaaaa () aaaa () なんて書いてもうまくいきません。なぜなら、RegExp.$1は前回の検索時に最後にマッチした後方参照ですから。実際に試してみるとわかります。 str = "aaaaaa123aaaaa456aaaa7890" str1 = str.replace(/(\d+)/g, " (" + RegExp.$1 + ") "); str2 = str.replace(/(\d+)/g, " (" + RegExp.$1 + ") "); //=>