[過去ログ] Regular Expression(正規表現) Part16 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
703: 2023/06/02(金)21:23 ID:XcfIYH3W(1) AAS
>>701
誰か頑張れ
外部リンク[html]:www.soumu.go.jp
704: 2023/06/03(土)16:20 ID:p6l+hu28(1) AAS
固定電話
外部リンク:regex101.com
705: 2023/06/03(土)22:05 ID:vWJZBL5V(1) AAS
愛は行動。言葉だけではダメ
706: 2023/06/04(日)00:25 ID:FmV4cjgS(1) AAS
もう冷めました
707: 2023/06/16(金)20:08 ID:BLiKvBT9(1) AAS
Perl v5.38.0-RC1
708
(2): 2023/06/18(日)00:06 ID:7IbgNtYk(1) AAS
NTTと早大、誤った正規表現の文字列抽出を自動で修正する技術を発表
japan.zdnet.com/article/35205348/

perl-5.38.0-RC1 perlre.pod
metacpan.org/release/RJBS/perl-5.38.0-RC1/view/pod/perlre.pod

(鬼車) 不在機能群の入れ子 の動作テスト集
github.com/tonco-miyazawa/regex_etc/blob/master/MEMO_onig/abcent/nesting.txt
709
(2): 2023/06/18(日)14:54 ID:PO9vLDeK(1/3) AAS
>>708
これは色んな意味でおかしい。まず、画像で例示しているURLだがドメインレベルに ? は
使用できない(エラーになる)。正規表現自身もURLということをチェックしていない。最低限、
スキームが https? で始まり、ID=文字列(アルファベット限定)を含む書式の、文字列のみを
抽出するコードを(ここに直接書くとエラーを食らっているので)貼っておく。

外部リンク:pastebin.com
710: 2023/06/18(日)15:04 ID:PO9vLDeK(2/3) AAS
訂正。>709で貼ったコードは正しく動作するががコメントに(ここに貼った際に試行錯誤した
せいで) ? が抜けていた。趣旨は同じものなので、↓を参照して下さい。

外部リンク:pastebin.com
711
(1): 2023/06/18(日)15:53 ID:uv5oAAX5(1/2) AAS
>>709
URLの「正しい」ってなんですか

外部リンク:en.wikipedia.org
外部リンク:datatracker.ietf.org
712
(1): 2023/06/18(日)16:12 ID:uv5oAAX5(2/2) AAS
「正規表現を用いた文字列抽出の例」図は「誤った正規表現」の例なんじゃないかなあ
例の正規表現では ~.com?fakeID=DEF にもマッチしてしまう
713: 2023/06/18(日)16:13 ID:PO9vLDeK(3/3) AAS
>>711
あなたが示している[1]のsyntax diagram(構文図)[2]にあるように、? はqueryを示す文字で
path( / )以前のドメイン名部分には出てこず、最低限 / の後でなければならないはず。

[1] 外部リンク:en.wikipedia.org
[2] 画像リンク[png]:upload.wikimedia.org
714: 2023/06/19(月)17:12 ID:a4eWUm7x(1) AAS
>色んな意味でおかしい
同意。本当にこの例をNTTの技術者が作ったの?と思ってしまった。
広報担当の事務員が頑張って作った例だと言われたら納得出来るw
715: 2023/06/20(火)13:11 ID:AvErps2d(1) AAS
これは、>>712の人も言ってるように「悪い見本」か、あるいは「プレスリリース用にめっちゃ簡略化した例」のどちらかかと思う
個人的には悪い見本の方かと思う
「?」と「ID」の間のスペースとか気持ち悪いし
716: 2023/06/21(水)01:04 ID:LPKmcd4s(1) AAS
メールアドレスは誤ったアドレスを発行して運用してるところがあると対応せにゃ仕方ないけど
URLは誰もアクセスできないだけで終わるんだろうな
717: 2023/06/21(水)02:01 ID:FL3bkV8O(1/2) AAS
質問
ある文字列の中に、4桁の数字が出た場合、文字列を区切るという目的で正規表現を使いたいです
let hoge="....";
hoge.split(/\d{4}/)
しかし上記の正規表現だと、例えば6桁の数字でも区切ってしまうため、これを4桁に限定するためにはどうしたらよいでしょうか?
718: 2023/06/21(水)02:36 ID:HRXsYHZK(1) AAS
(?<!\d)\d{4}(?!\d)
719: 2023/06/21(水)06:20 ID:FL3bkV8O(2/2) AAS
ありがとうございます
720: 2023/06/21(水)07:00 ID:8S43aXN3(1/3) AAS
修正前 .*(..)?
修正後 .*?(.[^z])?

"abcd"を与えて受理される文字列
修正前 ""
修正後 "ab"
受理してもらいたかった文字列 "cd"

URLからIDを取り出すほうは画像に入るようにデフォルメする必要があるから
おかしいURLになるのはやむを得ないと思う

> (?:[&].*)?
ただこれはちょっと気持ち悪い
省4
721: 2023/06/21(水)07:17 ID:Z+I+bAqU(1) AAS
「abczは拒否」→「なるほど末尾zは拒否だな」

えー…
722: 2023/06/21(水)07:38 ID:SbeXWTV7(1) AAS
書いてないけど前提として完全一致のつもりだったんだろうな
1-
あと 280 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.023s