twinkle for iOS 正規表現専用 3 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
twinkleの正規表現のテストや正規表現に関する質問など
前スレ
twinkle for iOS 正規表現専用(実質2スレ目)
http://karma.2ch.net/test/read.cgi/ios/1447593710/ >>167
レスありがとうございます
今からゆっくり内容を理解しようと思います
>せめて「これこれ〜したがうまくいかなかった」と自分で手を動かして試行錯誤した経緯(正規表現)を書いてほしいところ(個人の感想です)
これに関してですが「正規表現」について知ったのがここ2〜3日で今はまだ ○○|○○|○○
でしかNGワードを登録できてない状態で
自分で特殊文字を使って試行錯誤できるレベルではなくて、すぐにでもNGしたい気持ちの方が強く円投げした形になってしまいました
正規表現には興味があるので試行錯誤できるレベルになりたいです
レスありがとうございました チンコはNGだけど
ガチンコはNGしないってできます? >>169
>>3
> ●後ろや前に特定の文字(または文字列)があるかないかを指定
> (?=あいう) 後ろに'あいう'がある
> (?!あいう) 後ろに'あいう'がない
> (?<あいう) 前に'あいう'がある
> (?<!あいう) 前に'あいう'がない >>3
の(?!)以降のアルファベットの大文字小文字が区別されないとおなじように
カタカナとひらがなが区別されないようなのってどうすればいいですか? >>174
それは定義されてないので無理
「あいす」「アイス」「あイす」などなら[あア][いイ][すス]と列挙するしかない あいうえの順序でワードが点在してるときにNGするにはどうしたらいい?
◯◯あ◯◯◯い◯う◯◯◯え◯◯←NG
◯◯う◯◯◯え◯あ◯◯◯い◯◯←NGされない
こういう感じに >>179
あ.+い.+う.+え
複数行にまたがる場合は
あ[.\n]+い[.\n]+う[.\n]+え >>153
[>>][:blank:]*[00]*[11](?![\d0-9])
>>180は>>3がマッチしない
素直に*でいいのでは? ラーメン書けない実況書けないファミレス書けない関東書けない
もうダメぽ >>2
上から5個目はなんのやつですか?
消えてる? 歩(?!く|こ|け) の場合
@歩く 歩こう 歩けば はNGされませんが
A歩幅 歩み はNGされます
ここまでは良いのですが
五十歩百歩 等『歩』で終わる文がNGされてしまいます @Aは変えずに文末が歩の場合にNGされなくするにはどうしたらよいですか? $や\nをいれてみたりしたんですが上手くいきません >>185,186
歩(?!く|こ|け|\n|$)
これでいけますが、そのレス内に歩幅などのNGワードがあればそちらが優先されNGとなります
また、1文字や改行は[]を用いて下のようにも書けます
歩(?![くこけ\n]|$) >>187
歩(?!く|こ|け|\n|$)
試してみました
○○○五十歩百歩
○○○○○○○○○
はNGなるのですが
五十歩百歩
のみのレスだとNGになりませんでした
これもNGにする方法がありますか? >>185
>NGされなくするにはどうしたらよいですか?
>>188
>これもNGにする方法がありますか?
NGにしたいのかしたくないのか? >>189
歩 で終わるパターンはすべてNGしたいです
レスが
歩や独歩 のみだとNGされません すみません>>185は間違えました
>五十歩百歩 等『歩』で終わる文がNGされてしまいます @Aは変えずに文末が歩の場合にNGされなくするにはどうしたらよいですか?
訂正
五十歩百歩 等『歩』で終わる文がNGされません @Aは変えずに文末が歩の場合にNGされるようにするにはどうしたらよいですか? NGにしたいなら>>185のままでいいです
NGにならない場合はそのレスの"歩"をコピーし、↓の◯部分に入れてみてください
[歩◯](?!く|こ|け)
それでもNGされない場合、スレのURLとレス番を示したほうがいいでしょう >>192
あ なんかこんがらがって迷走してました
>>187で大丈夫みたいです
ありがとうございました ABCの前の文字
○ABCの部分がローマ字、数字、URLに使われる記号(\ _ . :)以外の時にABCをNGにする場合どうすれば良いですか?
文の最初にABCがくる場合もNGできればなお良いです >>196
(?<![a-zA-Z0-9\\_\.:])ABC 文中に「。」が10個以上ある時
を指定できますか? 。。。。のように連続する場合ではなく
文全体で計10個以上の場合です >>201
おお すごい
ありがとうございます!! アンチ対策で正規表現を作っていてそのNGワードを住人と共用する為に2ちゃんにコピペすする場合、文字数制限があって全角で128文字以上になる場合、その都度改行しないとエラーがでて書き込めません。
その為
>>5 @ A
の ^(?=.*A)(?!.*B).*$
等の表現で『 | 』を沢山使うと文字数の問題で下のように@の部分が重複してしまい、全体として長くなってしまうし@がながければ長いほどAに登録できるワードも減ってしまいます(2ちゃんに書き込む時の文字数制限の問題)
自分一人で使う分にはいくら長くなっても問題ないのですが、書き込むことを考慮するとできるだけ簡略化したいです
^(?=.*aaaa|bbbb|cccc|dddd|eeee|ffff|gggg|hhhh|iiiii|jjjjjj|kkkkh)(?!.*lllll|mmmmmm|nnnnn|oooo|ppppp|qqqqpq).*$
^(?=.*aaaa|bbbb|cccc|dddd|eeee|ffff|gggg|hhhh|iiiii|jjjjjj|kkkkh)(?!.*あああ|いいい|ううう|えええ|おおお|かかかか).*$
>>3の
『\1』は
^(?=.*A)(?!.*B).*$ の場合
一つ目の()なので(?=.*A)が該当するとおもうのですが
これの応用的な使い方で
正規表現全体(改行含む)の○個目の()を指定することはできますか? 補足
こんな感じで、重複してる部分を指定したいです
【^(?=.*aaaa|bbbb|cccc|dddd|eeee|ffff|gggg|hhhh|iiiii|jjjjjj|kkkkh)】(?!.*lllll|mmmmmm|nnnnn|oooo|ppppp|qqqqpq).*$
^(?=.*(【】と同じ))(?!.*あああ|いいい|ううう|えええ|おおお|かかかか).*$
^(?=.*(【】と同じ))(?!.*ききき|くくく|けけけ|こここ|さささ|ししし).*$ >>203-204
構文はひとつひとつ別物なのでできません
手間はかかりますがテキストファイルやサイトなどを参照してもらったり、以下のようにしてはいかがでしょう
^(?=.*(@))(?!.*(A)).*$
@に入れる
aaaa|bbbb|cccc|dddd|eeee|ffff|gggg|hhhh|iiiii|jjjjjj|kkkkh
Aに入れる
lllll|mmmmmm|nnnnn|oooo|ppppp|qqqqpq|あああ|いいい|ううう|えええ|おおお|かかかか|ききき|くくく|けけけ|こここ|さささ|ししし
----または、
正規表現NGワード(改行を消して使ってください)
^(?=.*(aaaa|bbbb|cccc|dddd|eeee|ffff|gggg|hhhh|iiiii|jjjjjj|
kkkkh))(?!.*(lllll|mmmmmm|nnnnn|oooo|ppppp|qqqqpq|
あああ|いいい|ううう|えええ|おおお|かかかか|ききき|
くくく|けけけ|こここ|さささ|ししし)).*$ ABという単語をNGしたくてABCやDABEをNGしたくない場合どういう正規表現になりますか? >>66のこと?
でもこれって前か後ろの片方でもカタカナならNG回避されるよね?
両方指定したいんだけどどうすればいい? >>100 などの安価はNGせず
> の後の文字が数字以外の場合だけNGしたいのですが上手くできません
\dと(?!)を使いそうなことはわかるのですがどう組み立てて良いかわかりません 〜で終わる
ってテンプレにあった気がするんですがなくなりました? いくつか単語を決めてそのうち2つ以上入ってる文章をNGとかってできます? >>5
●本文に特定の文字列が含まれる、含まれない
(?#1行にA,Bが含まれる)(?=.*A)(?=.*B)
(?#複数行にA,Bが含まれる)(?=[\s\S]*A)(?=[\s\S]*B)
(?#1行にAが含まれBが含まれない)(?=.*A)(?!.*B)
(?#複数行にAが含まれBが含まれない)^(?=.*A)(?!.*B).*$
↑このあたりつかえばいけるっしょ 「2つ以上」はいけそうですね
「3つ以上」とか「4つ以上」とかはできますか? スレタイに改行してるやつの正規表現ってもう出てる?
https://i.imgur.com/ftkoNAO.png
クソうざくてかなわん >>219
俺も同じ質問しようと来た
(?#2行NG)(.*\n){2}
これで消えない? >>220-221
ありがとう
うーん消えない…
https://i.imgur.com/YBX9LuF.png
全体での設定
NGワード正規表現ってところでいいんだよね? >>222
スレ一覧の下にあるアイコンの真ん中のヤツを押す
NGスレッド設定を押す
NGスレッド(正規表現)を押す
\n を入れる >>224
おお!
そんなとこにもNG設定あったのか!
ごめんまじありがとうm(_ _)m ちゃんと板一覧でNGすれ設定に入れたのに(´・ω・`) 再起動かけて入れ直したら反映された(´・ω・`)
何だったんだろうサンクス 昔NGワードに入れてた(.*\n){8}がなんなのかわからないんですがわかる方いますか? >>230
\n は改行
{8} 8個
.と*はわからん >>233
良かれと思って言ったのになんだその言いぐさは
改行と8個で わかるかもしれんだろ
おまえは浅いな >>233
てめーは何様だ?
わかるならおまえが教えろや
わからないなら口挟むなたこすけ >>233は正論じゃん
回答者側になりたいなら中途半端に答えるなよ >>230
憶測だけど簡易型の長文NGっぽいね
長文は無駄だろうからNGしたい
かといって複雑な条件付けをすると計算コストが無駄
8改行(実質的にそれ以上の全ても含む)するほどの本文は無駄に長文だろうとざっくり判断してNG
かな
正規表現ならコメント文を置けるのでコメント付けるようにしておくといいよ
(このレスもそのNGに該当すると思う) >>238
ばかなの?
質問者はそのヒントでわかる可能性があるだろ
なにもないよりはあった方がいい >>238
俺が質問者なら
改行 8個
というワードでどのNGかわかると思ったから書いたんだよ >>238
>>233
おまえらこそ答えられないなら
答えた人を叩くな >>238
>>233
答えた事が良心からである事を肝に命じておけ
そして 謎の上から目線は今後控えた方がいい ID:9fSSFS+0だけがおかしい
瞬間沸騰と必死さから池沼キッズだと思われる (?#末尾P).{8}Pや.{8}[M]をNGIDに正規表現でいれてみたのですが末尾NGができてませんでした。
どうすれば良いでしょうか。 >>248
.{8}[]$
[]内に消したい末尾全てをぶち込めばおk
例えば末尾MとPをNGしたいなら
.{8}[MP]$ 半コテをNGにするにはどうすればいいんでしょうか
>>40を入れてみたら全ての書き込みが消えてしまいました sageレスだけNGするにはどうすればよいでしょうか
また、2つ以上の安価と画像URLを併せ持ったレスをNGする方法も教えて頂きたいです >>253
NGメールにsage
>>\d([-,](>>)?|[ \n]*>>)\d\n*[htpsf]+://[!-z]+\.(?i:(jpe?g|png|gif|bmp|tiff?))
これでどうかな >>3と>>5の{,5}だけど、{0,5}にしないと機能しないよね?
次からテンプレ修正しようず トリップなしのコテもNGしたいんですが、板のデフォルトネーム以外は全てNGにするにはどうすればいいですか? >>251
少し勘違いしてたので訂正
>>250だと特定日時の末尾表示と重複する場合があるから次の構文の方が確実
^.{8}[]$
使い方は>>250と同じ
>>253
sageレスに関しての補足だけど、完全一致させたければ
^sage$
と登録してほしい A
https://www.youtube.com/
B
https://www.youtube.com/
名前とYouTubeの20個組み合わせする荒らしの場合どうすればいいですか?
youtube全消しとかすると使い勝手が悪いので困ってます >>258
板ごとの設定になるけど
^(?!◯( \([^ ]+ .{4}-.{4}( \[[\d\.]{7,15}\])?\))?$)
◯の位置にデフォルト名を入れれば、基本的にはそれ以外の名前での書き込みを非表示にできる
ワッチョイやIP表示があっても問題ない
ただしデフォルト名にメタ文字が含まれている場合にはそれぞれのメタ文字の前に\を付ける必要がある
加えて選挙投票日のような特定の日時にはデフォルト名が変わるので、そういうときは
^(?!(◯|名無しさん@そうだ選挙に行こう! Go to vote!)( \(.+ .{4}-.{4}( \[[\d\.]{7,15}\])?\))?$)
という風に()で囲った上で|を挟んで名前を追加していけばいい >>260
((.+\n[htpsf]+://(www\.)?youtu\.?be.*)\n){19}\2 >>164の(?s:○○)ってどういう意味ですか?
あと>>167の結論のようにわざわざというか一々というか(?:と入れるのはなぜですか?
テンプレには\3とかの数に数えられないという意味でしか書いてないので
正規表現中に何番目のカッコを指定する表現がない場合には必要ないと思ったのですが他の意味があるのですか? >>264
> 164の(?s:○○)ってどういう意味ですか?
シングルラインモード
> あと167の結論のようにわざわざというか一々というか(?:と入れるのはなぜですか?…他の意味があるのですか?
一つは昔から言われているメモリ効率
もう一つは不要なキャプチャで$数字が増えると管理が面倒になるがこれを避け必要部に限るため >>261
できました!詳しくありがとうございます >>266
どういたしまして
こないだのに関連して、デフォ名なのかよく知らないから入れなかったけどIP表示スレで浪人持ちを弾かない表現も一応書いてたんで記録として残しとく
^(?!◯( \([^ ]+ .{4}-.{4}( \[[\d\.]{7,15}( \[上級国民\])?\])?\))?$) ■ このスレッドは過去ログ倉庫に格納されています