正規表現道場 Part2 (396レス)
正規表現道場 Part2 http://medaka.5ch.io/test/read.cgi/php/1348048723/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
1: nobodyさん [] 2012/09/19(水) 18:58:43.51 ID:bdgNsY2f 【正規表現道場の掟】 ・言語不問 ・質問も大歓迎。使用言語を書くのを忘れずに。 正規表現と関係ない話・質問は他スレへどうぞ。 前スレ 正規表現道場 http://kohada.2ch.net/test/read.cgi/php/1168450843/ http://medaka.5ch.io/test/read.cgi/php/1348048723/1
2: nobodyさん [sage] 2012/09/20(木) 03:58:43.36 ID:??? >>1乙 ●過去スレ 正規表現道場@2ch http://pc.2ch.net/test/read.cgi/php/996105815/ 正規表現道場@2ch Part2 http://pc5.2ch.net/test/read.cgi/php/1038146241/ 正規表現道場@2ch Part3 s/煽り|荒らし/あぼーん/g http://pc5.2ch.net/test/read.cgi/php/1069245758/ 正規表現道場@2ch Part4 http://pc8.2ch.net/test/read.cgi/php/1105930285/ ●過去スレのテンプレにあった参考サイトたち Perlメモ http://www.din.or.jp/~ohzaki/perl.htm 正規表現メモ http://www.kt.rim.or.jp/~kbk/regex/regex.html Regex::Diagram.pm http://www.cc.rim.or.jp/~midorin/mad-p/RegexDiagram.html 正規表現 http://www.cc.rim.or.jp/~midorin/mad-p/perl/benkyou/PRC2kRegex/ UNIX正規表現入門 http://web.archive.org/web/20021219021503/http://www01.u-page.so-net.ne.jp/jc4/hiroyuki/rex_index.html Regular Expression(Riue ちゃんの正規表現講座) http://www.sixnine.net/regexp/ ほとんどは↓のリンク集にまとまっています。 正規表現/文字コード最新リンク2005 http://www2.famille.ne.jp/~akio1998/l_grep.html (Not Found) http://medaka.5ch.io/test/read.cgi/php/1348048723/2
3: nobodyさん [sage] 2012/09/22(土) 03:58:02.23 ID:??? |:::ハ:.:.:.:.:.:i:.:.:i.:.:i./.:.://メノ 左ォ}::::ノ::ノノ |::::i:::';::::::::l、::i:::ハ:/,ィチ爪' {ヒチ'!::イイ |ハ::::::ヾ::::ハ 'Vリ ゙´ {、込ソ ゛″!:::i:.:l |:.::ト、:.:.:ヾ:.ハーi| :::::::: 〉 ノ::::i::.| {:.:.ト、ヾ.:.:.:ヾハ lト、 _, , イ:.:.:.:i.:ハ ヾ::ヽゞ、\.::.\!! ヽ、. ´ /!.::!.:.i:.:!:.!:l >>1乙ぱい , '" ヾ\ \:::::::::k /` ー ' `メ'リ:.:.ノ.ノ:ノノ / 川 リllVハ. ( i `\ ,イイ// // / |l ̄`ヽ ノ `メ、 ,/ {:} `ー'- ニ_ ,/ _∠ |l \ , \ / _ ,. イ´: |l \ ,λ / -‐‐‐-<´ .! / |l ' , _,ィ'ンy} 〈 \ .ノ`ー斗rェ,,_,_,_|l ,.ir'彡イy-´ ! `ヽ、 ` ' <._ {jt=t-t-ミ`^Yーrヘr-彡'水k} !:} .ノ ` ー- .._ ` -ヽ. l`亠^{:i ̄ {:リ |ハ ノノ/ノ _,. -‐ '  ̄ ´ ̄` ー- 、 \{{ {:l {:i ノ_,ィニ_ン´ // `ヽ 、\ \ {:l {∠ニァ--' / / `ヽミニ>ァ┴ '´ /\V| / ./ ヾ.、 ,. ' ´ http://medaka.5ch.io/test/read.cgi/php/1348048723/3
4: nobodyさん [sage] 2012/10/15(月) 10:43:51.98 ID:??? >>2 正規表現最新リンク集2005 http://web.archive.org/web/20100410230942/http://www2.famille.ne.jp/~akio1998/l_grep.html 個人名載ってるしこのまま外しちゃってもいいかもしれない http://medaka.5ch.io/test/read.cgi/php/1348048723/4
5: nobodyさん [] 2012/10/19(金) 12:38:26.99 ID:ZQDqri43 過疎スレ状態になっているっぽいですが質問宜しいでしょうか? http://medaka.5ch.io/test/read.cgi/php/1348048723/5
6: nobodyさん [sage] 2012/10/19(金) 12:44:45.04 ID:??? >>1 http://medaka.5ch.io/test/read.cgi/php/1348048723/6
7: nobodyさん [sage] 2012/10/19(金) 19:53:20.37 ID:??? 質問は? http://medaka.5ch.io/test/read.cgi/php/1348048723/7
8: nobodyさん [sage] 2012/10/30(火) 16:10:01.92 ID:??? >>5の人とは別人ですが質問がありますのでお願いします 拒否したいワード例 ・ばか ・ばっかやろー ・ばーか 掲示板の拒否ワード機能を使って上のような言葉を ^(ばか|ばっか|ばーか) このようにまとめているのですが、 もっと効率よくまとめられるような気がしています ^ば(0または任意の1文字)か 以上のように、 まとめることは可能でしょうか? http://medaka.5ch.io/test/read.cgi/php/1348048723/8
9: nobodyさん [sage] 2012/10/30(火) 17:54:51.44 ID:??? ば.?か ばいか(売価)とかも入るけどねー http://medaka.5ch.io/test/read.cgi/php/1348048723/9
10: nobodyさん [sage] 2012/10/30(火) 21:28:35.04 ID:??? 〜ばかり ばっかり ばんから http://medaka.5ch.io/test/read.cgi/php/1348048723/10
11: nobodyさん [sage] 2012/10/31(水) 08:02:36.23 ID:??? ばんかい バイカム こういうのは>>8の指定の方が間違いがないね http://medaka.5ch.io/test/read.cgi/php/1348048723/11
12: 8 [sage] 2012/10/31(水) 12:31:50.64 ID:??? まさに、>>9のようにまとめるられる書式を知りたかったのです!が… 皆さんご指摘のことを読むと確かにおっしゃるとおりですよねー ば.?か、のような書式で運用できるかできないか、 掲示板のログとにらめっこしてみることにします ともあれ、お答えくださった皆さん、とても参考になり助かりました ありがとうございました http://medaka.5ch.io/test/read.cgi/php/1348048723/12
13: nobodyさん [sage] 2013/01/29(火) 08:17:24.91 ID:??? せめて同じ文字はまとめるか ^(ば(か|っか|ーか)) http://medaka.5ch.io/test/read.cgi/php/1348048723/13
14: nobodyさん [] 2013/02/10(日) 11:51:32.02 ID:m9q+FHWZ パスワードの登録で 半角アルファベットと半角数字の組み合わせで8文字以上 という条件を考えてるんですが、以下じゃダメですよね? preg_match('/^[a-zA-z0-9]{8,}$/', $s); アルファベットと数字の組み合わせ(アルファベットも数字もどちらもある)とするには どうしたら良いでしょうか? http://medaka.5ch.io/test/read.cgi/php/1348048723/14
15: nobodyさん [sage] 2013/02/10(日) 12:46:13.25 ID:??? >>14みたいな正規表現のちょっとしたテクニック集とかどっかにまとまってないかね? http://medaka.5ch.io/test/read.cgi/php/1348048723/15
16: nobodyさん [sage] 2013/02/13(水) 23:30:20.10 ID:??? /^(?=(.*\d[a-zA-Z].*)|(.*[a-zA-Z]\d.*))\w{8,}$/ 数字英字 もしくは 英字数字という並びが存在する英数字8文字以上 http://medaka.5ch.io/test/read.cgi/php/1348048723/16
17: nobodyさん [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. おもしろかった。 http://medaka.5ch.io/test/read.cgi/php/1348048723/17
18: nobodyさん [sage] 2013/03/04(月) 01:35:07.40 ID:??? >>13 これはひどい http://medaka.5ch.io/test/read.cgi/php/1348048723/18
19: nobodyさん [sage] 2013/03/09(土) 22:12:30.87 ID:??? ^([a-z]|[A-Z]|[0-9]){8,}$ はダメ? http://medaka.5ch.io/test/read.cgi/php/1348048723/19
20: nobodyさん [sage] 2013/03/09(土) 23:24:50.86 ID:??? ダメ http://medaka.5ch.io/test/read.cgi/php/1348048723/20
21: nobodyさん [sage] 2013/03/10(日) 23:50:57.56 ID:??? >>19 大文字と小文字を区別したいってことなら ^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[A-Za-z0-9]{8,}$ でおk http://medaka.5ch.io/test/read.cgi/php/1348048723/21
22: nobodyさん [] 2013/03/18(月) 20:02:10.97 ID:XSCUuGgi すっごい初歩的だったらすまそ http://www.rider-n.sakura.ne.jp/regexp/regexp.php で試す限りはうまくいくんだけどPHP上でうまくいかない。 スクリプト SJIS マッチング文字列 SJIS PHP内部文字エンコ SJIS の環境下で 【サッカー】xxxxx【野球】 で最初のサッカーだけをマッチングしたいので /^【([^】])】/i としているんだけど、サッカーの時はマッチしない。 【テニス】xxxxx【卓球】ならちゃんとテニスがマッチする。 なんで?(´・ω・`) http://medaka.5ch.io/test/read.cgi/php/1348048723/22
23: nobodyさん [sage] 2013/03/18(月) 20:21:31.67 ID:??? >>22 それだとテニスもマッチしないはずだが [^】] は「 】」以外の1文字ってことになる それとShift_JISなんて捨ててUTF-8使おうぜ http://medaka.5ch.io/test/read.cgi/php/1348048723/23
24: nobodyさん [] 2013/03/18(月) 22:12:52.90 ID:XSCUuGgi >>23 すません、[^】]+です。 SJISで何とか… http://medaka.5ch.io/test/read.cgi/php/1348048723/24
25: nobodyさん [sage] 2013/03/19(火) 00:22:00.75 ID:??? mb_regex_encoding("sjis"); mb_ereg ("^【([^】]+)】" ,$txt,$ret); pregはSJIS使えません http://medaka.5ch.io/test/read.cgi/php/1348048723/25
26: nobodyさん [sage] 2013/03/24(日) 00:53:34.57 ID:??? >>22 文字列をアスキーコードに変換してから検索しろ http://medaka.5ch.io/test/read.cgi/php/1348048723/26
27: nobodyさん [sage] 2013/05/16(木) 11:13:37.06 ID:??? javascriptでの正規表現で質問があります。 /^(?:(?:http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?)*$/ 上記はURLをチェックする簡単な正規表現だと思うのですが そのURLがRSSかどうかチェックする正規表現にしたいのです RSSの拡張子は .rss .rdf .xml です。 URLの最後の拡張子にこの文字列が入ってるかチェック出来るようにしたいのですが どうすればいいでしょうか? お願いします。 http://medaka.5ch.io/test/read.cgi/php/1348048723/27
28: nobodyさん [sage] 2013/05/16(木) 11:28:59.91 ID:??? 最後をこれに差し替え \.(rss|rdf|xml)$/ http://medaka.5ch.io/test/read.cgi/php/1348048723/28
29: nobodyさん [sage] 2013/05/16(木) 11:38:31.44 ID:??? >>28 レスありがとうございます ただこれに差し替えるだけだと http://www.example.com/.rss これも正常として判断されてしまうのですがどうしたら良いでしょうか? よろしくお願いします。 http://medaka.5ch.io/test/read.cgi/php/1348048723/29
30: nobodyさん [sage] 2013/05/16(木) 11:47:36.80 ID:??? [^\\/:,;*?"<>|]\.(rss|rdf|xml)$ http://medaka.5ch.io/test/read.cgi/php/1348048723/30
31: nobodyさん [sage] 2013/05/17(金) 09:33:25.55 ID:??? >>30 お礼遅くなってすいません ありがとうございます! うまくいきました! http://medaka.5ch.io/test/read.cgi/php/1348048723/31
32: nobodyさん [] 2013/07/20(土) NY:AN:NY.AN ID:75R8ikZF PHPのpregでの正規表現について質問です。 <a href="http://www.test.jp/" title="test"><img src="test.png" alt="ALT" title="TITLE" /></a> 上記のようなHTMLを正規表現でヒットさせ、 <li>TITLE</li> に変換させたいのですが、正規表現ではどう表したらいいのでしょうか? http://medaka.5ch.io/test/read.cgi/php/1348048723/32
33: nobodyさん [sage] 2013/07/21(日) NY:AN:NY.AN ID:??? 保守 http://medaka.5ch.io/test/read.cgi/php/1348048723/33
34: nobodyさん [] 2013/07/25(木) NY:AN:NY.AN ID:2TH+2Iiw 正規表現で解決できるのではと思い、こちらで質問させてください。 "ver.2 test.Test"という文字列を"ver.2 test. Test"のように ピリオドの次の文字が大文字のときに限り半角スペースを挿入したいのですが 良い方法はないでしょうか? http://medaka.5ch.io/test/read.cgi/php/1348048723/34
35: 34 [sage] 2013/07/25(木) NY:AN:NY.AN ID:??? >>34です。 正規表現のグループ化を用いることで解決できました。 安易に質問を投稿してしまい申し訳ございませんでした。 http://medaka.5ch.io/test/read.cgi/php/1348048723/35
36: nobodyさん [sage] 2013/07/25(木) NY:AN:NY.AN ID:??? せっかくなのでその正規表現を書いておきますねくらいの気持ちが必要だ。 http://medaka.5ch.io/test/read.cgi/php/1348048723/36
37: nobodyさん [sage] 2013/07/25(木) NY:AN:NY.AN ID:??? >>34 preg_replace('/\.(?=[A-Z])/','. ',$str); http://medaka.5ch.io/test/read.cgi/php/1348048723/37
38: nobodyさん [sage] 2013/09/06(金) 20:12:17.12 ID:??? >>32 見ての通り超手抜きだけど例の通りか属性値のダブルクォートが無いぐらいならこれで大丈夫 検索文字列: /^(.+<img.+title=\")(.+)(\" \/><\/a>)$/ 置換文字列: <li>$2</li> http://regex101.com/r/qI6aG4 > PHPのpregでの正規表現 実はPHP分からないんだけど↓みたいな感じ?w preg_replace("/^(.+<img.+title=\")(.+)(\" \/><\/a>)$/i", "<li>$2</li>", $input_lines); http://medaka.5ch.io/test/read.cgi/php/1348048723/38
39: nobodyさん [] 2013/09/14(土) 18:05:14.35 ID:0qKO1mtd 質問です。 PHP5で preg_match ("/.*'.*/s", $_POST["value"]) としたときにvalueに「'」があってもマッチしない場合があるらしいのですがどういう文字列の場合でしょうか? preg_matchはPCRE関数でPerl互換です。マルチバイトに対応していないのでその辺りに落し穴があるのかなと思うのですが。 http://medaka.5ch.io/test/read.cgi/php/1348048723/39
40: nobodyさん [] 2013/09/14(土) 19:42:16.21 ID:QgtFjJm6 FireFoxでRSSリーダにFeedlyを使っています。 NGワードフィルターが正規表現なのですが教えて頂けないでしょうか。 "韓国"というキーワードをフィルタリングしたいです。 http://userscripts.org/scripts/show/172085 http://medaka.5ch.io/test/read.cgi/php/1348048723/40
41: nobodyさん [sage] 2013/09/15(日) 10:40:22.03 ID:??? >>39 マッチしない場合があるとは思えないけど、一応マッチしない場合があると言った人に聞いてみれば? まぁ、$_POST["value"]が送信されて来なければ話は別だけど・・ ちなみにそれは preg_match("/'/", $_POST["value"]) のようにシンプルに書くこともできる http://medaka.5ch.io/test/read.cgi/php/1348048723/41
42: nobodyさん [sage] 2013/09/15(日) 10:43:39.46 ID:??? >>40 使ったこと無いけど、"韓国"だったら完全一致なのでそのまま正規表現使わずに書けると思うけど http://medaka.5ch.io/test/read.cgi/php/1348048723/42
43: nobodyさん [sage] 2013/09/15(日) 15:21:48.42 ID:??? 2ch専ブラにおける2chmateのデバッグ用文字列のみの書き込みをNGにしたいです 2chMate 0.8.5.6 dev/HTC/HTL21/4.1.1 2chMate 0.8.5.4/SHARP/SBM003SH/2.3.4 ↑こんなやつです 一応専ブラはjanestyleということでどなたか教えていただけませんでしょうか http://medaka.5ch.io/test/read.cgi/php/1348048723/43
44: nobodyさん [] 2013/09/16(月) 04:52:23.59 ID:V1KLg8Lz 韓|トンスル|ニダ| http://medaka.5ch.io/test/read.cgi/php/1348048723/44
45: 39 [sage] 2013/09/16(月) 18:13:41.90 ID:??? >>41 マッチしない場合は無いようでした。 phpの設定の問題でpreg_matchがマッチできずfalseを返す場合があるらしいです。 http://medaka.5ch.io/test/read.cgi/php/1348048723/45
46: nobodyさん [] 2013/09/19(木) 16:03:12.92 ID:XGTpu0pg 最近2ちゃんで同じ文字列を数行繰り返す荒らしがいますが 最近2ちゃんで同じ文字列を数行繰り返す荒らしがいますが 最近2ちゃんで同じ文字列を数行繰り返す荒らしがいますが ↑こんな感じです 改行を挟まない場合もあります Janeでこれをあぼーんしたいんですが 同じ文字列が数行続いたかを調べられる正規表現はありませんか http://medaka.5ch.io/test/read.cgi/php/1348048723/46
47: nobodyさん [sage] 2013/09/19(木) 19:40:04.05 ID:??? >>46 1行文の2連投 http://thinkarc.blogspot.jp/2007/07/janeviewngex.html#NGEx_Contiguous_single-line んでこれ以上は下で NGEx.txtを晒すスレ4 http://mattari.plusvip.jp/test/read.cgi/jane2ch/1325934427 http://medaka.5ch.io/test/read.cgi/php/1348048723/47
48: 46 [sage] 2013/09/19(木) 23:50:13.04 ID:??? >>47 ありがとうございます 無事あぼーん出来ました 直前の自分のレスも消えてます http://medaka.5ch.io/test/read.cgi/php/1348048723/48
49: nobodyさん [] 2013/09/22(日) 00:52:59.03 ID:PBzP1rLU 下の文字列から最短で「NN are_VBP strongly_RB supported_VBN」を抜き出すのに NN\s.*?VBNでうまくいかない(最長マッチが返ってくる)のですが、何が悪いのでしょうか? In_IN Israel_NNP ,_, freedom_NN of_IN opinion_NN and_CC risk_NN taking_NN are_VBP strongly_RB supported_VBN ._. http://medaka.5ch.io/test/read.cgi/php/1348048723/49
50: nobodyさん [] 2013/09/22(日) 02:25:21.73 ID:V8cai0+K それだと最初に出現するNN\s位置からマッチングが始まって、 最短で後続するVBNまでがマッチする こうじゃないか? .*(NN\s.*?VBN) http://medaka.5ch.io/test/read.cgi/php/1348048723/50
51: 49 [sage] 2013/09/22(日) 08:30:46.88 ID:??? >>50 ありがとうございます。 しかし、、、.*(NN\s.*?VBN) だと、今度は、行全体がマッチしてしまいます。。。 ムムム http://medaka.5ch.io/test/read.cgi/php/1348048723/51
52: nobodyさん [sage] 2013/09/22(日) 14:36:58.31 ID:??? NN arからじゃ駄目なん? NNじゃ>>50の言うとおり最初のNNからマッチするんだし http://medaka.5ch.io/test/read.cgi/php/1348048723/52
53: 49 [sage] 2013/09/22(日) 15:17:49.08 ID:??? >>50 >>52 ありがとうござしました。 プログラム板でも聞いてみたところ、下のような表現を教えてもらいました。 NN\s((?!NN).)*?VBN http://medaka.5ch.io/test/read.cgi/php/1348048723/53
54: nobodyさん [sage] 2013/09/22(日) 20:33:23.35 ID:??? >>53 結果教えてくれてありがと 前方参照否定位置指定子かー NNが来ないNN空白〜VBNにマッチするのね http://medaka.5ch.io/test/read.cgi/php/1348048723/54
55: nobodyさん [sage] 2013/09/23(月) 15:50:05.13 ID:??? ええい、お前はもう下がっておれ webprog板の面汚しめ http://medaka.5ch.io/test/read.cgi/php/1348048723/55
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 341 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.008s