終了

正規表現での数字の表現について

Community Expert ,
Oct 04, 2021 Oct 04, 2021

ちょっと不可解なことがありましたのでお尋ねします。

1桁数字にマッチさせようとして、以下のように書きました。

(?<![,-9ー])[0-9](?![,-9ー])

ところがこれではマッチせず、

(?<![,-9ー])\d(?![,-9ー])

だとマッチするのです。

 

理由がどうしてもわからないので、どなたかお分かりになる方いらっしゃるでしょうか。

MacOS10.15.7

CC2020

で作業しております。

キーワード
手順
2.3K
翻訳
レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines

correct answers 1 件の正解

Community Expert , Oct 04, 2021 Oct 04, 2021

ごく単純なところから確認しますが、

マッチ対象の数字が半角数字以外である可能性は?

極端な例でいえば、全角数字+プロポーショナル字形であるとか…

マッチした文字コードは情報パネル上で0x30〜0x39として見えてるでしょうか?

翻訳
Community Expert ,
Oct 04, 2021 Oct 04, 2021

ごく単純なところから確認しますが、

マッチ対象の数字が半角数字以外である可能性は?

極端な例でいえば、全角数字+プロポーショナル字形であるとか…

マッチした文字コードは情報パネル上で0x30〜0x39として見えてるでしょうか?

翻訳
レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Expert ,
Oct 04, 2021 Oct 04, 2021

確認しました!

バッチリです!

テキスト中の数字が全部半角だと信じておりましたが、[0-9]でマッチしなかったのは全角数字でした。

謎が解けました。ありがとうございます。

翻訳
レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Expert ,
Oct 05, 2021 Oct 05, 2021
最新

よかったです! 書体や文字組みによっては見た目で区別つきにくいことも多いですね。

自分でもたまにやらかしますw

翻訳
レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Expert ,
Oct 04, 2021 Oct 04, 2021

補足しておきますと、数字の前後を[,-9ー]以外の文字が来た時でマッチさせる(否定先読みと否定後読み)と考えたのですが、肝心の数字部分を[0-9]にしたときにマッチせず、\dにしたときにマッチするのです。

何か超基本的なところを間違っているのでは?と思い投稿した次第です。

翻訳
レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines