TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
Pythonのお勉強 Part62
インデントはタブかホワイトスペースか?
プログラミングのお題スレ Part14
Borland Developer Studio 2006 No.13
■WindowsCEプログラミング(EVC PB3含む)Ver2.2■
+ JavaScript の質問用スレッド vol.125 +
Visual Studio 2019 Part4
Rust Part6
今だからこそ2ch代替サービスの実装を考えるスレ
Git 16
76 :
正規表現を勉強し始めた者です
>>73の正規表現について2つ質問させて下さい

展開すると以下のようになりますよね
^[^+]*$   「+」が無い行に一致。残りは「+」が在る行
(
「+」に数字が続く場合の0〜3桁とその先頭に0が続くパターン ※Q1
\+
\+0*[0-9]
\+0*[1-9][0-9]   [1-9]なのは0*0[0-9]は0*[0-9]に含まれているから
\+[1-9][0-9][0-9]  3桁目で0*とすると0900にマッチしてしまう

4桁で「0900以外」のパターン ※Q2
\+0[1-7][0-9][0-9]
\+08[0-9][0-9]
\+090[1-9]
\+09[1-9][0-9]
\+[1-9][0-9][0-9][0-9]

\+[0-9][0-9][0-9][0-9][0-9]+  5桁以上
)
([^0-9]|$)  続く文字が数字以外もしくは行末。これが無いと+0900に3桁以下の式でマッチしてしまう

Q1
3桁までの表現に0*としてるのはなぜなのでしょうか?
素人考えには
[0-9]?
[0-9][0-9]
[0-9][0-9][0-9]
で良いのでは?と思うのです。 [0-9]?|[0-9][0-9][0-9]? これでも0〜1桁と2〜3桁になりますよね?
「0*」という書き方の方が処理が速くなったりとか何か理由があるのでしょうか?

77 :
Q2
\+0[1-7][0-9][0-9]
\+08[0-9][0-9]
[1-7]なのは00の場合1〜3桁の式と被るから1からなのだと思うのですが
この2つは合わせて \+0[1-8][0-9][0-9] としてはダメなのでしょうか?

「0900以外」の4桁の数字のパターンは以下のようになるかと思います
[1-9][0-9][0-9][0-9]  0xxx
[0-9][0-8][0-9][0-9]  x9xx
[0-9][0-9][1-9][0-9]  xx0x
[0-9][0-9][0-9][1-9]  xxx0

被っているところを数値に置き換え
[1-9][0-9][0-9][0-9]
0  [0-8][0-9][0-9]
0  9  [1-9][0-9]
0  9  0  [1-9]

一応Q1と合わせ疑問に思ったところを書き換えて>>73さんのサンプルと+0〜+10000と+0000〜+9999をテキストに書き出して
テストしてみたところ問題無さそうなのを確認したのですがそれでも確信が持てず質問させて頂きました
試した式は以下になります
^[^+]*$|\+([0-9]?|[0-9][0-9]|[0-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|0[0-8][0-9][0-9]|09[1-9][0-9]|090[1-9]|[0-9][0-9][0-9][0-9][0-9]+)([^0-9]|$)
^[^+]*$|\+((|[0-9][0-9])[0-9]?|([1-9][0-9]|0[0-8])[0-9][0-9]|09([1-9][0-9]|0[1-9])|[0-9][0-9][0-9][0-9][0-9]+)([^0-9]|$)
^[^+]*$|\+(|090[1-9]|((([0-9][0-9]+|(|[1-9]))[0-9]|(|0[0-8]))[0-9]|(|09[1-9]))[0-9])([^0-9]|$)

身近に聞ける人が居ないので自分の解釈が間違っていたり何か見落としているのではないか?と悶々としております
どなたか分かる方が居られましたら2つの疑問点の回答をお願いしたいです
また解釈を間違えている箇所がありましたらそちらも指摘下さい。よろしくお願いします

ハッシュ使うのやめてクラスにしましょう
【.NET】F#について語れ2【OCAML】
UWSC初心者用スレ
Regular Expression(正規表現) Part15
[特設]サマータイム対応相談室
Julia Juno Jupyter part1
Perlについての質問箱 64箱目
関数型プログラミング言語Haskell Part33
Eclipse統合M36【Java/C++/Ruby/Python/Scala】
統計解析R たぶんpart3くらい
--------------------
【浪人&クレクレ乞食中】鋼兵(川本恒平)アンチスレPart639【2018/11から色々解禁していたらしい】
【PSO2】PHANTASY STAR ONLINE2 フェオ鯖晒しスレ130
【技来静也】拳奴死闘伝セスタス65【拳闘暗黒伝】
チャーハンを1時間誰にも見られなければブリザード136
【GREE】ガンダムマスターズ アッシマー322
【オッペケ】ゴキヲタはなぜAA埋め立て発狂してしまったのか?【Sr4f-jxMf】
【青木志貴】魔王様総合スレ17にゃす!【eerie】
メタラーのツイッター事情Part19
俺「それで、電通はどこが悪いの?」 ( ヽ゜ん゜)「全然わからない。俺たちは雰囲気で電通叩きをやっている」 [268718286]
フリー切符総合スレ2
RPGツクール、暁に斃れる。
Ryzen 7 3700X、RTX2070SUPER、メモリ32GB、NVMeSSD1TB、HDD2TB、電源850W GoldのPCが16.5万円 [758284599]
【京成線】 青砥駅で押上線の上り列車が脱線で運転見合わせ 6/1210:15(NHK) [夜のけいちゃん★]
躁うつ病なのに頑張って仕事してる人★5
モンベル◇◆◇mont-bell◇◆◇Part121
【新幹線3人殺傷】「東方神起」ファン多数乗車か 横浜公演帰り★2[6/10]
裁判所職員スレ 令和元年(わ)第8号
湘南美術学院5
【アズレン】アズールレーン Part1809
アホタリアン「ゾンビは生きていないのかな?」キリッ ←は?
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼