[表示 : 全て 最新50 1-99 2chのread.cgiへ]
Update time : 03/16 03:50 / Filesize : 8 KB / Number-of Response : 22
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

正規表現道場 Part2



1 名前:nobodyさん [2012/09/19(水) 18:58:43.51 ID:bdgNsY2f]
【正規表現道場の掟】

・言語不問

・質問も大歓迎。使用言語を書くのを忘れずに。

正規表現と関係ない話・質問は他スレへどうぞ。

前スレ
正規表現道場
kohada.2ch.net/test/read.cgi/php/1168450843/

9 名前:nobodyさん mailto:sage [2012/10/30(火) 17:54:51.44 ID:???]
ば.?か

ばいか(売価)とかも入るけどねー

10 名前:nobodyさん mailto:sage [2012/10/30(火) 21:28:35.04 ID:???]
〜ばかり
ばっかり
ばんから

11 名前:nobodyさん mailto:sage [2012/10/31(水) 08:02:36.23 ID:???]
ばんかい
バイカム

こういうのは>>8の指定の方が間違いがないね

12 名前:8 mailto:sage [2012/10/31(水) 12:31:50.64 ID:???]
まさに、>>9のようにまとめるられる書式を知りたかったのです!が…
皆さんご指摘のことを読むと確かにおっしゃるとおりですよねー

ば.?か、のような書式で運用できるかできないか、
掲示板のログとにらめっこしてみることにします

ともあれ、お答えくださった皆さん、とても参考になり助かりました
ありがとうございました

13 名前:nobodyさん mailto:sage [2013/01/29(火) 08:17:24.91 ID:???]
せめて同じ文字はまとめるか
^(ば(か|っか|ーか))

14 名前:nobodyさん [2013/02/10(日) 11:51:32.02 ID:m9q+FHWZ]
パスワードの登録で
半角アルファベットと半角数字の組み合わせで8文字以上
という条件を考えてるんですが、以下じゃダメですよね?

preg_match('/^[a-zA-z0-9]{8,}$/', $s);

アルファベットと数字の組み合わせ(アルファベットも数字もどちらもある)とするには
どうしたら良いでしょうか?

15 名前:nobodyさん mailto:sage [2013/02/10(日) 12:46:13.25 ID:???]
>>14みたいな正規表現のちょっとしたテクニック集とかどっかにまとまってないかね?

16 名前:nobodyさん mailto:sage [2013/02/13(水) 23:30:20.10 ID:???]
/^(?=(.*\d[a-zA-Z].*)|(.*[a-zA-Z]\d.*))\w{8,}$/

数字英字 もしくは 英字数字という並びが存在する英数字8文字以上

17 名前:nobodyさん mailto:sage [2013/02/14(木) 00:13:02.40 ID:???]
>>16を1回チェックするのと、
>>14と「英字を含む」「数字を含む」の計3回チェックするのとで、どのくらい

ここまで書いたところで自分でいろいろ試してみた。
$s = '3066058kczgr9784685fwn874fos847fos8djtkcrzu9q58nzfc';
for($i=0; $i<1000000 && preg_match('/^(?=(.*\d[a-zA-Z].*)|(.*[a-zA-Z]\d.*))\w{8,}$/', $s); $i++){} //2.3948659897 sec.
for($i=0; $i<1000000 && preg_match('/^[a-zA-z0-9]{8,}$/', $s) && preg_match('/[a-zA-z]/', $s) && preg_match('/[0-9]/', $s); $i++){} //5.7406949997 sec.
for($i=0; $i<1000000 && preg_match('/^[a-zA-z0-9]{8,}$/', $s) && !preg_match('/^[0-9]+$/', $s); $i++){} //3.9960801601 sec.
for($i=0; $i<1000000 && 8<=strlen($s) && ctype_alnum($s) && !ctype_digit($s); $i++){} //2.2285568714 sec.
$s = '1';
for($i=0; $i<1000000 && preg_match('/^(?=(.*\d[a-zA-Z].*)|(.*[a-zA-Z]\d.*))\w{8,}$/', $s); $i++){} //0.0000748634 sec.
for($i=0; $i<1000000 && preg_match('/^[a-zA-z0-9]{8,}$/', $s) && preg_match('/[a-zA-z]/', $s) && preg_match('/[0-9]/', $s); $i++){} //0.0000240803 sec.
for($i=0; $i<1000000 && preg_match('/^[a-zA-z0-9]{8,}$/', $s) && !preg_match('/^[0-9]+$/', $s); $i++){} //0.0000209808 sec.
for($i=0; $i<1000000 && 8<=strlen($s) && ctype_alnum($s) && !ctype_digit($s); $i++){} //0.0000181198 sec.

おもしろかった。



18 名前:nobodyさん mailto:sage [2013/03/04(月) 01:35:07.40 ID:???]
>>13
これはひどい

19 名前:nobodyさん mailto:sage [2013/03/09(土) 22:12:30.87 ID:???]
^([a-z]|[A-Z]|[0-9]){8,}$

はダメ?

20 名前:nobodyさん mailto:sage [2013/03/09(土) 23:24:50.86 ID:???]
ダメ

21 名前:nobodyさん mailto:sage [2013/03/10(日) 23:50:57.56 ID:???]
>>19
大文字と小文字を区別したいってことなら

^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[A-Za-z0-9]{8,}$

でおk






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<8KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef