質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

Q&A

解決済

4回答

285閲覧

正規表現の「-」が使える条件とは?

nnahito

総合スコア2004

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

0グッド

0クリップ

投稿2018/07/06 06:26

あまり正規表現は得意ではありません。


正規表現で、範囲(?)を表すハイフン(-)が使える範囲がわかりません。
例えば、半角数字の0123456789だと、[0-9]という表現が可能かと思います。
同様に全角数字の0123456789だと、[0-9]が使えます。

この規則は、ASCIIコード表に基づくものだと思っているのですが、
例えば、

見たアスキーコード表の「亜」から「旭」(亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭)を指定しようと思うと、
[亜-旭]かと思います。
(参考にしたASCII文字表: http://charset.7jp.net/jis.html

しかし、Atomの正規表現検索だと、ヒットしない物がありました。

イメージ説明
(阿、逢、葵、茜、穐、渥が反応してない)

この原因は何なのでしょうか?
そもそもの「正規表現のマッチ順序はASCIIコード表に基づくもの」という考え方が間違っているのでしょうか?

ご存知の方がいらっしゃいましたら、ご教示頂けますと幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

ベストアンサー

この規則は、ASCIIコード表に基づくものだと思っているのですが、

使う文字コードに依存しますが、多くの場合はUnicode基準になります(少なくとも、JavaScriptはUnicodeベースです)。

投稿2018/07/06 06:31

maisumakun

総合スコア145184

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nnahito

2018/07/06 07:01

ご回答有り難うございます! 文字コードベースだったんですね……どおりで合わないはずでした。 ありがとうございます!
guest

0

参考にしたコード表は ISO-2022-JP(≒Shift-JIS)のものです。
正規表現上の範囲指定はUnicodeになると思います。

投稿2018/07/06 06:34

mather

総合スコア6753

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nnahito

2018/07/06 07:03

ご回答有り難うございます! 本当ですね……検索でヒットしたものをそのまま何も考えずに参考にしてました。 文字コードベースというの知らなかったの今回の敗因ですね…… ありがとうございます!
guest

0

ASCIIコードには漢字なるものはありません。

その漢字の文字列には、いろんな文字コードがあります(JIS,ShiftJIS,UTF8などなど)
で、その文字コードごとに、漢字の並び順は変わってきます

ということで、まずは文字コードをはっきりさせよう、という話になるかと思われます


んで、その昔、EBCDICという文字コードがあってだな。。

投稿2018/07/06 06:32

編集2018/07/06 06:45
y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nnahito

2018/07/06 07:02

ご回答有り難うございます! 文字コードベースだったんですね…… EBCDICコード!? 初めて聞きましたw
guest

0

こちらの「CJK Unified Ideographs」を参考にされるのが良いかと。

投稿2018/07/06 06:48

tkturbo

総合スコア5572

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nnahito

2018/07/06 07:04

ご回答有り難うございます! これは……! 探すのが大変そうですねw でも、参考にさせていただきます! ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問