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で質問しましょう!
似たような質問が見つかりました
- その他(コンピューター・テクノロジー) 正規表現の置換で数値を合計したいです。 2 2022/10/17 11:01
- オープンソース csvデータのダブルクォーテーションで囲まれた文字内にあるカンマを削除したい 3 2022/09/02 15:17
- Excel(エクセル) エクセルの表でダブりを解消する方法を、教えてください。 5 2023/04/12 12:11
- その他(プログラミング・Web制作) VB.NETの正規表現について 4 2022/04/12 16:54
- 日本語 意味とは何か、どこにあるのか? 16 2022/04/09 11:44
- 数学 正規数の定義で分からないことがあります。 正規数の定義について専門書において 「xがr進正規であると 1 2023/07/17 20:50
- Excel(エクセル) Excel 、この式はどのように解釈すればいいのでしょうか 4 2023/02/03 08:53
- 英語 総称的意味の「the+過去分詞」が無冠詞複数形で置き換えることができない理由について 5 2022/08/04 10:14
- Java この世で連日正規表現について質問している阿呆は私くらいしかいないでしょう。本当にお世話になっています 2 2022/05/22 11:59
- Access(アクセス) AccessVBAで任意の複数リンクテーブルをAccessVBAを動かす際に削除したいと考えておりま 1 2022/11/17 15:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「何とかで始まり、何とかで終...
-
「abcで始まらない」を正規表現...
-
バッチファイルの正規表現を利...
-
VBA EXCEL あるセルの中の一...
-
C++でofstreamに空白を含む文字...
-
CSVファイルの中で、「 , 」カ...
-
マクロを使ってフォルダー内に...
-
英数字のみ全角から半角に変換
-
エクセルで数値を全角文字(カ...
-
EXCELからCSVにすると余計なカ...
-
エクセルにMicrosoft Barcode C...
-
カンマ区切りの数字をCSVフ...
-
各項目がダブルクォーテーショ...
-
Excel VBAでPDFファイルをMicro...
-
住宅にカナを入力する際に丁目...
-
csvデータ ダブルクォーテ...
-
CSVの定義
-
正規表現で、特定の文字列を含...
-
IEからEdgeへの移行に伴うIMEの...
-
VBA 置換文字がみつからない時
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「何とかで始まり、何とかで終...
-
VBA EXCEL あるセルの中の一...
-
「abcで始まらない」を正規表現...
-
正規表現の否定先読みで、複数...
-
バッチファイルの正規表現を利...
-
正規表現について
-
角カッコが含まれてるかどうか...
-
XML::Xpathで部分一致検索をす...
-
英数字混じり8文字以上の正規表現
-
正規表現 英数字を1つ以上含む...
-
C++でofstreamに空白を含む文字...
-
.htaccessで特定のドメインを弾...
-
文字列の否定の正規表現について
-
正規表現
-
Perl CSVファイルの複数条件で...
-
文字列から数値を抽出したいの...
-
[正規表現]特定の範囲のIPアド...
-
ログファイルからキーワードを...
-
長い文字列から特定の数字を取...
-
正規表現にて文字数をチェック...
おすすめ情報