タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

正規表現に関するkazuauのブックマーク (3)

  • メイルアドレス正規表現ふたたび | Netsphere Laboratories

    (2017.7.1) 新規作成。そんなに新規でもないが。 (2017.7.2) IPv4/IPv6アドレスに対応。 "メールアドレス 正規表現"ぐらいで検索すると、上位に、微妙だったり不適切な内容のページが並ぶ。つらい。 あまつさえ、現実に, いまだに '+' が通らないWeb上の商業サービスもあって、妥当な処理が行なわれていない。 とても古い話題のはずが、まともな解説だけが時代の彼方に去って、訳の分からない記事が跋扈しているのか? とはいえ、メイルアドレスは仕様が複雑すぎて、意外と難しい。 HTML Living Standard での定め WHATWG HTML Living Standard には, input[type="email"] 要素で、クライアント側の妥当性検査が盛り込まれている。 これの要求が微妙。結論として、この機能を使ってはならない。 4.10.5.1.5 Emai

    kazuau
    kazuau 2022/08/14
    “!def!xyz%abc@example.com” こんなの通しちゃ駄目でしょ。local-partには解釈の仕方があるから文法さえあってればいいというものではない。少なくともunquotedな%や!は通すべきではない
  • 君たちは正規表現におけるインド数字の罠にハマったことはあるかい?(١٢٣٤٥٦٧٨٩) - Qiita

    import re re.match(r'\d{4}-\d{2}', '٢٠٢٢-٠٦') Pythonで書いてはいますが、内容を補足します。「'٢٠٢٢-٠٦'」という文字列が、数字4文字+ハイフン+数字2文字にマッチするかどうか、という正規表現を書いています。 一見するとどう見ても数字4桁ではないので、正規表現にマッチしないように見えますよね???? 実は正規表現にマッチします!!!というのが今回の記事の内容になります。 そもそも正規表現における数字の扱いとは 今回はPythonの正規表現のライブラリを利用しているので、公式のリファレンスを見てみましょう。 該当の部分には以下のような記述があります。 \d Unicode (str) パターンでは: 任意の Unicode 10 進数字 (Unicode 文字カテゴリ [Nd]) にマッチします。これは [0-9] とその他多数の数字を

    君たちは正規表現におけるインド数字の罠にハマったことはあるかい?(١٢٣٤٥٦٧٨٩) - Qiita
    kazuau
    kazuau 2022/06/25
    JSだと仕様(ECMA-262)に"characters 0 through 9 inclusive"って定義されてるからこういう問題は生じない…はず / UnicodeのNumberの指定は\p{N}だそうだ
  • [コラム] 正規表現の先読み/後読みは、どう考えても名前が悪いので、呼称禁止令を出してルックと気軽に呼んでみませんか。 - Qiita

    [コラム] 正規表現の先読み/後読みは、どう考えても名前が悪いので、呼称禁止令を出してルックと気軽に呼んでみませんか。regex 正規表現の "先読み" / "後読み" を、分かりにくいと感じるすべての人にお送りします。 --- 追記:2017/06/04 コメントにて、ご指摘を頂いております。 当記事の解釈には誤りがあります。コメントのご指摘内容をご覧いただければ幸いです。 当記事の主旨としては、"先読み・後読み" よりも "ルックアヘッド" の方が、意味を捉えやすいのでは?というものでしたが.. そもそも私の、「lookahead」の解釈(とくに、look の主語はどれなのかという部分だと思います)に、勘違いがありました。 ですので、いまのところ当記事の主題は、「"先読み" でも、"ルックアヘッド” でも、どちらでもよいけど、しっかりと厳密に理解しよう!(反省)」となります。 コメント

    [コラム] 正規表現の先読み/後読みは、どう考えても名前が悪いので、呼称禁止令を出してルックと気軽に呼んでみませんか。 - Qiita
    kazuau
    kazuau 2017/06/04
    文字列が左から右に走査されるイメージだと、ルックアヘッドはまだ到達してない前方、すなわち右側だと誤認識するので、この呼びかえでは解決できない。なぜleftとrightにしなかったのか。
  • 1