
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
正規表現 (の書き方) については改めて調べてもらうことにして.
/^0[5-9](?(?=0)\d{9}|\d{8})$/
だと, 最初の 0 のあとは 5~9 でないとだめだよ. つまり, 例えば東京 03 エリアなんかは全部アウトになる.
「00 ではじまる番号」を弾きたいならたとえば
/^0[1-9](?(?=0)\d{9}|\d{8})$/
かなぁ.
/^0[1-9](?:0\d|[1-9])\d{8}$/
でもよさそうだけど.
度々のご回答ありがとうございます。
おっしゃる通りですね。
先頭に[5-9]を入れてしまうと、北海道やら、東京やらの、
市街局番がぬけますね。
詳しい判別は、IF 等で、する必要がありそうです。
それにしても、正規表現は、覚えれば便利ですね。
ありがとうございます。
No.4
- 回答日時:
> [1-9]0 の意味がわかりません。
/^0[1-9]0/ は、日本の電話番号計画における
0A0 特番プレフィックスに一致します
010 : 国際電話 / 桁数不定
020 : 電子機器 / 桁数11桁以上
030 : 廃止
040 : 廃止
050 : IP電話 / 桁数11桁
060 : 携帯電話予定
070 : 携帯電話 / 桁数11桁
080 : 携帯電話 / 桁数11桁
090 : 携帯電話 / 桁数11桁
参考)
https://www.soumu.go.jp/main_sosiki/joho_tsusin/ …
https://ja.wikipedia.org/wiki/%E6%97%A5%E6%9C%AC …
たびたびのご回答ならびに詳しいご解説ありがとうございます。
私はどうも考え違いをしていたようで、
[1-9]0
の 0 は正規表現で特別な意味をもつのかなと思い込んでいました。
[1-9]0
の部分は、二桁の数字と考えればいいんですよね。
先頭の ^0
と併せて考えると
^0(?(?=[1-9]0)
の部分で3桁と考えればいのかなと思いました。
ただよくよく考えると、先頭が
0+0+0以外
の順番になると、9桁でマッチして
00+0以外の数値
もマッチするようにおもいました。
よくわかりませんが、
先頭から
00
にマッチさせないようにするには、文法的にいいのか不明ですが、
教えていただいた番号を考えて、
/^0[5-9](?(?=0)\d{9}|\d{8})$/
のようにすれば、携帯は11桁、家電は10桁のハイフンなし、
でマッチさせることができるのかなと思いました。
No.3
- 回答日時:
例えば
123
という正規表現が何を表すかはわかりますか?
No.2
- 回答日時:
(?(condition)yes-pattern|no-pattern)
条件式を評価してパターンを変える
(?=pattern)
パターンに一致する文字列の先頭箇所(アンカーの一種)
(?(?=x)y|z)
ここが x の先頭箇所なら y のパターン、でなければ z のパターン
^0(?(?=[1-9]0)\d{10}|\d{9})$
先頭が 0 で始まる
その後が [1-9]0 の先頭箇所なら後続に数字10桁、でなければ数字9桁
その後で文字列が終わる
ご丁寧な解説ありがとうございます。
>(?(condition)yes-pattern|no-pattern)
>条件式を評価してパターンを変える
なんですね。全体は理解できたと思います。
ただ、
[1-9]の部分は、数字の1から9を表すと理解できるのですが、
[1-9]0 の意味がわかりません。
補足お願いできないでしょうか。
No.1
- 回答日時:
サイトのご紹介ありがとうございます。
横文字なので、ちょっと、理解が難しいです。
それと
>ちなみにそこで切っちゃダメ.
がよくわかりませんでしたすみません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正規表現
-
文字コードの%E3%80%とは何です...
-
フォントの色を保持したままセ...
-
住宅にカナを入力する際に丁目...
-
openoffice calcで#DIV/0! の...
-
メモ帳からエクセルにセル区切...
-
いまスマホからカードの申込み...
-
(エクセル)特定のスペースを...
-
CSVの定義
-
「一角」って何でしょうか
-
3桁ごと?4桁ごと?コンマの...
-
perlで文字列を短く(圧縮)し...
-
CSVファイルの中で、「 , 」カ...
-
数字を全角で書くのは何が悪い...
-
エクセルにMicrosoft Barcode C...
-
UTF-8でソースを書くとエラーに...
-
IEからEdgeへの移行に伴うIMEの...
-
秀丸マクロ(条件で改行を入れたい)
-
空白を表示したい
-
封筒の宛先で縦書きの書き方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「何とかで始まり、何とかで終...
-
VBA EXCEL あるセルの中の一...
-
正規表現の否定先読みで、複数...
-
角カッコが含まれてるかどうか...
-
バッチファイルの正規表現を利...
-
「abcで始まらない」を正規表現...
-
正規表現 英数字を1つ以上含む...
-
Emeditorの正規表現を利用した...
-
CASLIIの穴埋め問題について。
-
if(str=='a' || str=='b' || st...
-
正規表現のAND条件記述手法
-
【abc】に【完全一致】する正規...
-
文字列から数値を抽出したいの...
-
XML::Xpathで部分一致検索をす...
-
ログファイルからキーワードを...
-
正規表現でのパイプ(or)を減...
-
正規表現で
-
条件式、htmやcgiやphpが含まれ...
-
CGI.pmで'&'が'&'に置き換...
-
拡張子の正規表現
おすすめ情報