twinkle for iOS 正規表現専用 3 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
twinkleの正規表現のテストや正規表現に関する質問など
前スレ
twinkle for iOS 正規表現専用(実質2スレ目)
http://karma.2ch.net/test/read.cgi/ios/1447593710/ ある特定の言葉のみのレスをNGってできますか?
NGワードだとその言葉を含むレスも全てNGになるのでそれを回避したいです 方向性はいいんだけと>>66は微妙に日本語が変。と言うか単純に間違ってる
> 前か後ろにカタカナ(と'ー')がある グロ をNG
正しくは
前か後ろにカタカナ(と'ー')がない グロ をNG
だからグローバルはNGにならないしガングロもNGにならない >>103は単純に特定の言葉を^$で囲めばいいと思う
>>3,5 >>106
(?#特定の言葉をここに入れる)^$
こんな感じ? >>107惜しい
^◯◯$
(?#本文が◯◯のみ)^◯◯$
↑この?#が先頭にあるカッコ内はコメントとして無視されるのでどちらも同じもの
コメントは何をNGにするものか書いておけば管理しやすいよ
◯◯に特定の言葉を入れてね 画像のURLを9つ貼ってるだけのレスをNGできませんか?
サムネ9枚を使って1枚の巨大な画像を表示させている荒らしがいるのでなんとかしたいです。 無意味に細かく区切って改行してくるレスをNGぶち込むにはどうしたらいいでしょうか
下に書いたようなのです
ふざけんな
掃除したのに
ふざけんな
朝から晩まで >>113
一行が10文字以下で1レス中に4回以上改行されるものを非表示にする感じです >>114
(?m:(?:(?<=^|\n)[[:blank:]]*.{1,10}[[:blank:]]*(?:\n|$))){4,}
このスレだと>>112の下四行だけがマッチする
他で検証していないのでダメだった場合の予備
(?m:(?:(?:^|\n)[[:blank:]]*.{1,10}[[:blank:]]*(?:\n|$))){4,}
[[:blank:]]*は行頭行末に空白挿入されても対応できるおまじないなのでなくてもいい 今まで無意味な文字の連続の荒らしを
[0-90-9ぁ-んァ-ヴA-Za-zA-Za-z]{60}
で対処していたのですが、ここからwの連続のみを抜くにはどうしたらいいでしょうか? [0-90-9ぁ-んァ-ヴA-Za-zA-Za-z&&[^WwWw]]{60} 6 名無しSUN[] 2017/07/26(水) 17:56:47.59 ID:y2L/Yt5b
政府が雷発生させない装置未だに作らないのは怠慢だなwwwwwwwwwwww
今の科学力ならできるだろ
↑このレスが
(?#URLではないwwwをNG)(?<!ttps?://)www
これで消えないのはどこがおかしいですか? >>119
・NGワード(正規表現) のところに入れてない
・NGをオンにしていない >>120
全体のNG設定の正規表現のところに入れています
オンオフ切り替えても変わりません すみません自己解決
http://i.imgur.com/oCUAC3y.png
これでした(1-10までのレス)
正規表現よりこっちの設定が優先されるということですね ん?でもこの設定で1はNGにしないを選択して、1についたアンカーにNGワードが含まれていたら1が非表示になったような? >>122
それもあったね、忘れてました
>>123
範囲でNGにしない設定よりも連鎖あぼーんの方が強いので、1に「次スレは>>950が〜」と書かれて950がNGになると1もNGになる
ところで前スレってキャッシュ残してない人でも見れる? >>124
なるほど…それはさすがに正規表現でも回避不可
というか連鎖あぼーんのほうが強い仕様が変わらない限り無理ですね 句読点有り無し含めて、語尾の「かと」をNGしたい。 PSPって色々言われているけど、
あの価格でゲームもできて、音楽も聴けて
映画もみられるし、何よりあの液晶はすごい。
今年一番の買い物だと思う。
こういう行間を開けてるレスをNGにしたいのですが上手くいきません ☆ 日本人の婚姻数と出生数を増やしましょう。そのためには、公的年金
生活保護を段階的に廃止して、満18歳以上の日本人に、ベーシックインカムの
導入は必須です。月額約60000円位ならば、廃止すれば財源的には可能です。
ベーシックインカム、でぜひググってみてください。お願い致します。☆☆ 130みたいな安価すら出さない投げやり回答を見てると
知ってても教えるのが面倒なら何も書かずそのままスルーすればいいのにって感じる 132みたいな安価すら出さないレスを見てると
何も書かずそのままスルーすればいいのにって感じる 前スレ読む以前にこのスレ内に既に回答のある質問をスレ内検索すらせずに「上手くいきません」とか普通ならそうですかで終わりだよ
質問するなら「○○の方法で試したのですが上手くいかないのでどなたか教えてください、お願いします。」でしょ 細かく区切って改行してるレスをNGにしたいけど上手くいかない (?#同じ文字や文字列が5回連続)(.+?)\1{4}
どなたかこれを解説してくださる方いませんか 自分でどう解釈したか開陳してくれ間違ってたら突っ込みが入るだろうよ (.+?)
.→何か1文字
+→1個以上
?→分からない
\1
(.+?)と同じ
{4}
(.+?)を4個
?の意味が分からないのと
(.+?){5}とは何が違うのかが知りたいです >>140
.+?は.+が0〜1個、つまり最小限を指す
(あ+)と(あ+?)で"あああああ"を調べた場合、前者は"あああああ"を1つ、後者は"あ"を5つ見つける
(.+?){5}は「1文字以上の全ての文字」が5回
(.+?)\1{4}は「1文字以上の〜」が1回と、それと同じものが4回 ?そのものは分かるんだよな?ここでの用法が分からないだけだよな?
?そのものが分からないなら初歩的知識がないので正規表現でググってこいとしか言いようがない
用法が分からないなら正規表現+最短でググれ
後者は
.{4}
(.)\1{4}
で適当な文章、例えばこのスレを正規表現検索してくれ
手を動かして試せばなにが違うか一目瞭然だよ
怠けないで手を動かせ ありがとうございます
>>141
やはり後半が理解できません…
>>142
正規表現検索ってどうやるんですか?
あと新たに疑問が出てきたんですが
(.+?)と(.+{0,1})って同じですよね?
この0は意味あるんですか?(.+{1})とは違いますか? > 正規表現検索ってどうやるんですか?
てきとーに正規表現検索使えるアプリ探せば?
> (.+?)と(.+{0,1})って同じですよね?
違うというか後者は構文エラーになる
((.+){0,1})
ならエラーにならないけどね
(.+?)と((.+){0,1})としても同じではない
答えはすでに教えた。「用法が分からないなら正規表現+最短でググれ」
典型的な自分で動かないタイプだなこりゃ
教えられたことを咀嚼して>>140をアップデート出来るようになってくれ 最短一致とか最長一致
正規表現+バックトラックorパフォーマンス
とかグクってみては >>143
(.+?){5}は5回とも文字指定されてないため"(あ)(い)(う)(え)(お)"でもいける
(.+?)\1{4}は始めが(あ)ならその後も(あ)しか認めない"(あ)(あ)(あ)(あ)(あ)"
正規表現でアプリ検索したらどう書くとどうマッチするかわかるのあるよ
>>7 こういうサイトもある
使われてるところによって少し書き方に違いがあるけど、違いを探す癖をつければすぐわかるから大丈夫 >>2
2を入れると2が表示されないんだが
どこに#入れると良いのかな? 一つ一つじゃなく複数のワードをまとめてNGする方法ありますか?
たとえば
『死ね アホ 馬鹿 ハゲ ・・・』をすべてNGにする方法 >>148
>>3
>●複数の文字(または文字列)を指定
>(あいう|かきく|さしす) 'あいう' 'かきく' 'さしす'という文字列のどれかひとつ ABCとDEF という単語を両方含むレスをNGにする事はできますか?
ABCだけが含まれるレスとDEFだけが含まれるレスはNGにせず、両方含まれる場合だけNGにしたいです >>150
5
●本文に特定の文字列が含まれる、含まれない
(?#1行にA,Bが含まれる)(?=.*A)(?=.*B)
(?#複数行にA,Bが含まれる)(?=[\s\S]*A)(?=[\s\S]*B) >>151
こういう認識で合ってますか?
(?#1行にA,Bが含まれる)(?=.*A)(?=.*B)
○○○○○ワード1○○○○○○ワード2○
○○○○○○○○○○○○○○○○○○○○
(?#複数行にA,Bが含まれる)(?=[\s\S]*A)(?=[\s\S]*B)
○○○○○○○ワード1○○○○○○○○○
○○○○○○○○○○○ワード2○○○○○
A=ワード1
B=ワード2 >>5
(?#複数行にAが含まれBが含まれない)^(?=.*A)(?!.*B).*$
ではなく
(複数行にAが含まれB又はCが含まれない
のやり方教えていただけませんか >>155
(?#複数行にAが含まれBが含まれない)^(?=.*A)(?!.*(?:B|C)).*$ >>153
[>>]{2}1
大文字を含めなければ正規表現なしでいける
>>155
Bを(B|C)にする >>5の確認なんですが
(?#複数行にAが含まれBが含まれない)^(?=.*A)(?!.*B).*$
についてですが
^(?=.*ワードA)(?!.*ワードB).*$
でNGに登録すると
○○○○ワードA○○○○
○○○○○○○○○○ NGされる
○○○ワードA○○○○○
ワードB○○○○○○○○ NGされない
○○○ワードA○○○○○
○○○○○○ワードC○○ NGされる
○○ワードA○○ワードB○
ワードA○○ワードC○○○ NGされない
で合ってますか? >>161
合ってる
ちなみにその正規表現はAB(C)の順序は関係なく働く >>162
ありがとうございます
実際にNGしてみたんですけど
なぜか消えないものと消えるものがあったので
困ってました 原因がわかりませんが他の方法でNGして妥協しました >>161
処理系がtwinkleではないしそもそもiOSでもないが同様目的には以下を使っている
(?s:^(?=.*(?:ワードA))(?!.*(?:ワードB))) 下の2つの条件を満たす正規表現の方法を教えて欲しいです。おねがいします
条件1
(ワードA)の後に続く最初の文字が
「の、み、ち)」はNGされない(それ以外の文字はNGされる)
条件2
(ワードA)の後の文字が「の」の場合でもそのレスに(ワードB)が含まれていない場合はNGされる
※(ワードB)が含まれていても(ワードAの後の文字が「の」以外の時はNGされる)
例
ワードA=明日
ワードB=予定
とする
【NGされないパターン】
明日の
明日みんなで
明日ちゃんと
明日の予定は
【NGされるパターン】
明日は
明日で
明日も
明日も予定は >>164
うわ!ありがとうございます!
>>163
の問題が解決できました!感謝! >>165
矛盾あり(行単位処理として)
> 【NGされないパターン】
> 明日の
条件1のみであればNGされないが
> 条件2
> (ワードA)の後の文字が「の」の場合でもそのレスに(ワードB)が含まれていない場合はNGされる
> ※(ワードB)が含まれていても(ワードAの後の文字が「の」以外の時はNGされる)
ワードBを行内に含んでいないので条件2によりNGされなければならない
以下は
> 明日の
が条件2によりNGされることを前提
(「そのレス」とあるが見本が行単位前提なので行単位しか考慮していない。レス全体なら>>164同様に書き直す必要がある)
【NGされないパターン】
明日みんなで
明日ちゃんと
明日の予定は
【NGされるパターン】
明日の
明日は
明日で
明日も
明日も予定は
明日の未定
> 条件1
> (ワードA)の後に続く最初の文字が
> 「の、み、ち)」はNGされない(それ以外の文字はNGされる)
明日(?![のみち])
(条件2に関わる「明日の 」「明日の未定」「明日の予定は 」すべてこれのみではNGと判断されない)
> 条件2
> (ワードA)の後の文字が「の」の場合でもそのレスに(ワードB)が含まれていない場合はNGされる
> ※(ワードB)が含まれていても(ワードAの後の文字が「の」以外の時はNGされる)
^(?=.*(?:明日の))(?!.*(?:予定))
(条件2に関わる「明日の 」「明日の未定」「明日の予定は 」の内「明日の予定は 」以外はNGされる)
よって
(?:明日(?![のみち]))|(?:^(?=.*(?:明日の))(?!.*(?:予定)))
すべてテンプレ内で説明されている
だからといって「テンプレにあるから質問するな」とは言わない
しかしせめて「これこれ〜したがうまくいかなかった」と自分で手を動かして試行錯誤した経緯(正規表現)を書いてほしいところ(個人の感想です) >>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個以上の場合です ■ このスレッドは過去ログ倉庫に格納されています