▶ 実 行
▶ 実行
クリア
文字種類判定プラス
by 雪乃☆雫
#サロゲート判定 # 文字列Sの一文字目がサロゲートペア文字かどうか判定して返す。 //上位でも下位でもヒットする。(1文字で2回ヒットする) ●サロゲート判定(Sが|Sの|Sを) Sを「^[\uD800-\uDBFF\uDC00-\uDFFF]」で正規表現マッチ。 もし、それがNULLならば、いいえで戻る。 違えば、はいで戻る。 ここまで。 ●上位サロゲート判定(Sが|Sの|Sを) Sを「^[\uD800-\uDBFF]」で正規表現マッチ。 もし、それがNULLならば、いいえで戻る。 違えば、はいで戻る。 ここまで。 ●下位サロゲート判定(Sが|Sの|Sを) Sを「^[\uDC00-\uDFFF]」で正規表現マッチ。 もし、それがNULLならば、いいえで戻る。 違えば、はいで戻る。 ここまで。 ●サロゲートペア文字個数(Sの) Sを「[\uD800-\uDBFF\uDC00-\uDFFF]」で正規表現マッチ。 もし、それ=NULLならば、0で戻る。 違えば、それの要素数/2で戻る。 ここまで。 ●上位サロゲート個数(Sの) Sを「[\uD800-\uDBFF]」で正規表現マッチ。 もし、それ=NULLならば、0で戻る。 違えば、それの要素数で戻る。 ここまで。 ●下位サロゲート個数(Sの) Sを「[\uDC00-\uDFFF]」で正規表現マッチ。 もし、それ=NULLならば、0で戻る。 違えば、それの要素数で戻る。 ここまで。 ●上位サロゲート一覧取得 変数 一覧=空。 数を0xD800から0xDBFFまで繰り返す。: 一覧=一覧にCHR(数)を追加。 一覧で戻る。 ここまで。 ●下位サロゲート一覧取得 変数 一覧=空。 数を0xDC00から0xDFFFまで繰り返す。: 一覧=一覧にCHR(数)を追加。 一覧で戻る。 ここまで。 #異体字セレクタ //(U+E0100〜U+E01EF)→(DB40 DD00)~(DB40 DDEF) ●異体字セレクタ判定(Sが|Sの|Sを) Sを「^[\uFE00-\uFE0F]|\uDB40[\uDD00-\uDDEF]」で正規表現マッチ。 もし、それがNULLならば、いいえで戻る。 違えば、はいで戻る。 ここまで。 ●異体字セレクタ個数(Sの) Sを「[\uFE00-\uFE0F]|\uDB40[\uDD00-\uDDEF]」で正規表現マッチ。 もし、それ=NULLならば、0で戻る。 違えば、それの要素数で戻る。 ここまで。 ●異体字セレクタ一覧取得 変数 一覧=空。 数を0xFE00から0xFE0Fまで繰り返す。: 一覧=一覧にCHR(数)を追加。 数を0xE0100から0xE01EFまで繰り返す。: 一覧=一覧にCHR(数)を追加。 一覧で戻る。 ここまで。 # ついでに、v1にはあるのにv3にはないやつ置いておく。 # 文字列Sの一文字目が全角かどうか判定して返す。 ●全角判定(Sが|Sの|Sを) Sを「^[\u0020-\u007E\uFF61-\uFF9F]」で正規表現マッチ。 もし、それがNULLならば、はいで戻る。 違えば、いいえで戻る。 ここまで。 # 文字列Sの一文字目がアルファベットか判定して返す。 ●英字判定(Sが|Sの|Sを) Sを「^[A-Za-zA-Za-z]」で正規表現マッチ。 もし、それがNULLならば、いいえで戻る。 違えば、はいで戻る。 ここまで。 # 漢字か判定もしたい! # 文字列Sの一文字目が漢字か判定して返す。 ●漢字判定(Sが|Sの|Sを) Sを「^[\u3005\u3007\u4E00-\u9FFF\uF900-\uFAFF\u3400-\u4DFF]|[\uD840-\uD87F][\uDC00-\uDFFF]」で正規表現マッチ。 もし、それがNULLならば、いいえで戻る。 違えば、はいで戻る。 ここまで。 #半角文字の個数も数えたい ●半角文字個数(Sの) Sを「[\u0020-\u007E\uFF61-\uFF9F]」で正規表現マッチ。 もし、それ=NULLならば、0で戻る。 違えば、それの要素数で戻る。 ここまで。 #以下はテスト もし、プラグイン名=「メイン」ならば、 #----------------------------- 挨拶=「こんにちは😀寒いですね💧」 数=6。# 抜き出す文字数。 テスト=挨拶の1から数を文字抜き出し。 テストを表示。#あれっ?! もし、((テストの1だけ文字右部分)の上位サロゲート判定)=はいならば、: テスト2=挨拶の1から数+1を文字抜き出し。 テスト2を表示。 #----------------------------- ここまで。
1863