環境依存文字があたっている文字列の正規表現のやり方がわからず困っています。
なにか対応する方法はありますでしょうか?
javascript
1"22日 21:30".match(/22/); // true 2"????????日 ????????:????????".match(/22/); // false <- trueになってほしい
こちらのサイトを利用してそのような文字を確認することができます。
https://www.shapoco.net/plainstyle/
それは「フォント」ではなく「環境依存文字」ではないでしょうか。
勉強不足ですみません。
こういったサイトで作られる文字は「環境依存文字」になるのですね。
https://www.shapoco.net/plainstyle/
上記、前提として書いておいてください。
Windowsの場合、選択状態にして「変換」ボタン押すとそのように出てきます。そのサイトの説明にあるように「学術用の文字や記号を利用して擬似的にフォントを変更」されているためと思います。
全角文字は効きませんしね。
/22/ でなく /????????/ とすればいいのでは?
例として /22/ を利用したのですが、本当は数ある環境依存文字(フォント)に対応できるようにしたいのです。
```
"????????日 ????????:????????".match(/(\\d+)日/); // これで日付を抽出する
```
あなたの言う「環境依存文字」を詳しく説明してください。
「フォント」ではないにせよ「環境依存文字」と言うのも不適切だと思いますね。
ここで問題となっている差は「書体」や「タイプフェイス」でしょうか。
質問のリンク先を見てみましたが、文字に割り当てられたコード自体が違うので、広い意味では「書体」かもしれませんが、それだと大きな誤解を招くように思います。全角と半角、「③」と「三」のような関係ですね。
これらに対応したフォントがインストールされているとは限らないので「環境依存文字」ではあると思いますが、PC ならたいてい表示できると思うので、「環境依存」でくくるのも少しカテゴライズの方法として古いように感じます。
無理やり一言で言うなら「数字記号」でしょうか。私の回答からリンクされている「数学英数字記号」に加えて他の記号も使用したいんでしょうから、なかなか共通認識の得られる短い言葉で表すのは難しいと思います。検索したい記号の一覧を作るところから始める必要があるでしょう。
あ、すいません、Unicodeが言うにはこれは「Font variant」なのでフォントで正しいようです。
大きな誤解は招きますが。
で、質問者はログインしてるのになぜ何も言わないんだ?
回答3件
あなたの回答
tips
プレビュー