[edit] メタ文字列とリテラル、メタ文字とエスケープ 式展開 文字 任意の1文字 文字クラス 特別な文字列に対するマッチ 繰り返し キャプチャ グループ 部分式呼び出し(subexpression call) 選択 アンカー 条件分岐 オプション エンコーディング コメント フリーフォーマットモード 非包含オペレータ (absence operator) (実験的) 一覧 特殊変数 参考文献 正規表現(regular expression)は文字列のパターンを記述するための言語です。また、この言語で記述されたパターンも正規表現と呼びます。 正規表現を用いると、文字列が指定したパターンを含んでいるかどうかを判定し、また含んでいるならばそれが文字列中のどの場所であるかを知ることができます。 /pat/ %r{pat} などの正規表現リテラルや Regexp.new などで正規表現オブジェク
はじめまして、hachi8833です。 正規表現において、使わないまま死ぬのはあまりにもったいない「Unicode文字プロパティ」について解説します。これについてネット上にまとまった情報がほとんどなく、しかたがないので自分で書くことにしました。書きながら早くも記事があふれてきたので、見出しに「連載」の文字を追加などしてみました。たぶん他所ではほとんど見かけることのない連載になると思います。よろしくお願いします。 通常の開発においては、目的を達成する正規表現を作成してコードが動けば事足りるものであり、コーディング中に正規表現と延々付き合うことは普通ないでしょう。料理人は包丁を研ぐのに時間をかけすぎないものです。しかし特殊な業界の特殊な人々(日本に5人もいないと思います)は、来る日も来る日も正規表現を書き続けていたりするので、このUnicode文字プロパティは本当にありがたいものです。私の場合
会社の人が書いたRubyのコードの正規表現で /[\p{katakana}]*/みたいなのがでてきて、なんだこれって思ったので調べた。 へー 'アイウエオ' =~ /\A[\p{katakana}]+\z/ #=> 0 'あいうえお' =~ /\A[\p{katakana}]+\z/ #=> nil 'アイウエオあいうえお' =~ /\A[\p{katakana}]+\z/ #=> nil 'イロハニホヘトチリヌルヲ' =~ /\A[\p{katakana}]+\z/ #=> 0 'イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス' =~ /\A[\p{katakana}]+\z/ #=> 0 'イロハニホヘトチリヌルヲワカヨタレソツネナラム' =~ /\A[\p{katakana}]+\z/ #=> 0 'テンノウズアイル' =~ /\A[\
mysql> SHOW VARIABLES LIKE '%char%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8mb4 | | character_set_connection | utf8mb4 | | character_set_database | utf8mb4 | | character_set_filesystem | binary | | character_set_results | utf8mb4 | | character_set_server | utf8mb4 | |
これまでのMySQLでよく問題になった、絵文字や日本語の文字の照合やソート順序の問題に関して、来たるMySQL 8.0では大幅な改善が加えられる予定になっている。この問題の概要と今後の改善方針について、MySQL開発チームからの解説。 免責事項 この記事はManyi Lu氏によるMySQL Server Blogの投稿「Sushi = Beer ?! An introduction of UTF8 support in MySQL 8.0」(2017/1/13)をユーザが翻訳したものであり、Oracle公式の文書ではありません。 MySQL 8.0での私たちの計画として、utf8のサポートを大幅に改善します。utf8サポート自体はMySQL 4.1の頃にさかのぼりますが、いくつかの制限が存在しています。記事タイトルにもある「寿司 = ビール」問題は、バグ#76553のことを指しています。少
mysql> show variables like "chara%"; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8mb4 | | character_set_connection | utf8mb4 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | utf8mb4 | | character_set_server | latin1 | | c
Today’s bug: I tried to store a UTF-8 string in a MariaDB “utf8”-encoded database, and Rails raised a bizarre error: Incorrect string value: ‘\xF0\x9F\x98\x83 <…’ for column ‘summary’ at row 1This is a UTF-8 client and a UTF-8 server, in a UTF-8 database with a UTF-8 collation. The string, “😃 <…”, is valid UTF-8. But here’s the rub: MySQL’s “utf8” isn’t UTF-8. The “utf8” encoding only supports th
Unicodeにあるハイフン/マイナス/長音符/波線/チルダのコレクション 2015/06/18 Unicodeにある文字の中からハイフンのような横棒と波線を集めてみました。複数あるのはわかっていたつもりでしたが、こんなにたくさんあるとは思いませんでした。 横線に関しては、ハイフンや長音符(カタカナの長音記号)、罫線など、線が横に延びているものです。縦方向や斜めの線は除きます。ほとんど横線だけどほんのちょっとだけ斜め(主観)になっているものは含みます。点線や矢印、線が2つ以上に分かれているものは除きます。途中で曲がっているものも除きます。横線が上の方だったり下の方だったり、太さが途中で変わるものも含めています。 波線に関しては、横方向の線が、直線ではなくS字カーブになっているもので、縦や斜めのS字を除きます。 S字カーブを超えて複雑な曲線も除いています。ただ、文字の名前に “wave” と
For a modern JavaScript utility which does exactly why my tool used to do, I recommend js-escapes. The following are shorthand notes for the conversion. For a thorough discussion (and for my notes below to mean anything), I recommend the Wikipedia article on UTF-8. if first_byte > 1111 0000 (F0h, 240d) then there will be 4 bytes in this character if first_byte > 1110 0000 (E0h, 224d) then there wi
Unicode対応 JIS X 0208 文字コード一覧 JIS X 0208 の区点番号、JISコード、シフトJISコード、EUCコード、Unicode(UTF-8, UTF-16)の文字コード対応一覧です。 文字コードとその文字を順に出力しているだけですので、表示される文字はフォントによって決まります。 01区~08区 JIS非漢字(各種記号、英数字、かな) 13区~13区 NEC特殊文字(機種依存) 16区~47区 JIS第1水準漢字 48区~84区 JIS第2水準漢字 文字コードについてのページや、文字コード一覧についての説明もあります。 JIS X 0208 JIS非漢字 文字コード表 区 点 JIS SJIS EUC UTF-8 UTF-16 字 01 01 2121 8140 A1A1 E38080 3000 01 02 2122 8141 A1A2 E38081 3001
^ a b § 全角ダッシュのマッピング問題を参照。 全角ダッシュのマッピング問題[編集] JIS X 0208およびJIS X 0213漢字集合1面の1区29点には「ダッシュ(全角)」があり、ISO/IEC 10646およびUnicodeの対応する文字名はEM DASHと定義されている。従って、この(面)区点位置に対応するUnicodeの符号位置はU+2014である。 なお、JIS X 0213:2000には最初誤ってU+2015と印刷されていたが、2001年5月付けの正誤表で訂正された。2002年5月発行の日本規格協会『増補改訂 JIS漢字字典』でもU+2014としており、2004年のJIS X 0213改正でもU+2014であることが確認されている。JIS X 0213:2000/追補1:2004の規格票解説3.3.5では、JIS X 0208の1区29点がISO/IEC 10646
日本語環境ではハイフンっぽく見える文字が何種類も有ります。 そのせいで、住所入力欄などでハイフン(っぽい文字)でバリデーションにひっかかってイライラするということが多々有ります。 一般のユーザーがハイフンっぽい文字の違いを理解しているはずもないので、ハイフン系文字の内、特定の1つだけを許容するようなバリデーションルールを設定してしまうと、ユーザビリティを低下させてユーザの離脱を招きます。 ハイフンっぽいものは全部入力できるようにして、サーバサイドで統一的な文字に置換するほうが良いでしょう。 というわけで、日本語環境で入力できるハイフンをまとめてみました。 文字 UTF-8 Unicode 説明
⚓ utf8の4バイト文字問題は突然に こんにちは、hachi8833です。 MySQLのデータベースでencoding=utf8が指定されていると、UTF-8の文字長が4バイトの文字をデータベースに保存できなくなる、いわゆるUTF-8の4バイト文字問題、またの名を「寿司ビール問題」が発生することがあります(「MySQLのutf8の4バイト文字問題とは」で後述)。 BPSWebチーム部長のmorimorihoge さんがこの問題に対応したときの手順をメモします。 ⚓ utf8からutf8mb4に移行する手順 MySQLのストレージエンジンはInnoDBが前提です。utf8mb4を指定するにはMySQLのバージョンが5.5以上である必要があります。 ⚓ 1. 以下のコマンドでdumpを取る mysqldump --no-create-info --ignore-table=mydata_st
Node.js Native ESM への道 〜最終章: Babel / TypeScript Modules との闘い〜Teppei Sato
MySQL と Unicode Collation Algorithm (UCA) - かみぽわーる に関連するトピックで、 MySQL には寿司ビール問題というのがある。 寿司ビール問題どっかで詳しくお話を聞くべきだよなぁ。。。— RKajiyama (@RKajiyama) March 18, 2015 これはどういう問題かというと、 MySQL の Unicode では binary collation にしてコードポイントで比較しないと🍣と🍺に限らず絵文字が同値判定されるという問題です。 あれ? MySQL の utf8mb4 charset って、4バイト文字同士を比較すると同じ文字扱いされる? SELECT '🍣'='🍺' → 1 MySQL的には寿司とビールは同じ扱い。— とみたまさひろ (@tmtms) December 22, 2014 MySQLで select
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く