twinkle for iOS 正規表現専用4

1iOS2020/05/03(日) 15:59:38.84ID:Hfhe4tC9
twinkleの正規表現のテストや正規表現に関する質問など

前スレ
twinkle for iOS 正規表現専用3
http://fate.5ch.net/test/read.cgi/ios/1494717956/

2iOS2020/05/03(日) 16:00:08.74ID:Hfhe4tC9
NG - 正規表現

(250文字NG)(?s).{250}
(16行NG)(.*\n){16}
(小型AA)(?m)[\´∧∨]
(大型AA)(?m)[|:;,  ]{2}[|!:;.,]
(1文字ずつ改行NG)(.\n){3}
(1文字ずつ改行NG)(..\n){3}
(数字-1行以上NG)(\n[ ]*){3}
(1文字改行5連続)(?m)(.\s){5,}
(1文字改行4連続)[()/|ヽ()/\|])(?= *[_  ̄_]{3})[ _ _ ̄]+\1
(縦書き 4文字)(?:^|<br>)[  ]*[^ < ](?:(?:[  ]*<br>)+[  ]*[^ < ]){2}(?=[  ]*(?:<br>|$))
(巨大AA 記号の線対称)/[ _ _ ̄]+\|\[ _ _ ̄]+/|[((](?! *[))])[ _ _ ̄]+[))]
(巨大AA 記号の並列)(?:^|<br>)[  ]*[^ < ](?:(?:[  ]*<br>)+[  ]*[^ < ]){3}(?=[  ]*(?:<br>|$))
(4文字以下のレス)^(?:[  ]*<br>)*[  ]*[^<]{1,4}(?:[  ]*<br>)*[  ]*$
(区切り文字)(?:[ w w]+[ぁ-龠]){4}(?=[ <w w]|$)
(アンカー5連投)(?:^|<br>)(?:[^<]*?(?:<a [^<]+</a>|(?:>|>){1,2}\d+)){5}
(1行文連投)(?:^|<br>)(?![  ]*<br>)((?:[^<]|<a [^<]+</a>)+)<br>\1(?=(?:<br>|$))
(1行文の2連投)(?:^|<br>)(?![  ]*<br>)((?:[^<]|<a [^<]+</a>)+)<br>\1(?=(?:<br>|$))

3iOS2020/05/03(日) 16:00:52.66ID:Hfhe4tC9
NG設定で使われそうな正規表現一覧
' 'で括られた部分は任意で変更可能
NGにしたい文字列の中にメタ文字($や+など)が含まれる場合は頭に\をつける(\$や\+など)

●任意の文字や位置を指定
. 何か1文字 \n 改行 ^ レスの始め $ レスの終わり
\d 数字 \D 数字以外の1文字 \t タブ
[[:blank:]] スペース(半角/全角)とタブ
[\s\S] 改行等を含めた何か1文字
[^\x01-\x7E] 全角文字(半角カタカナ含む)
[\xA1-\xDF] 半角カタカナ
\3 正規表現中の'3'個目の()内と同一

●直前の文字(または文字列)の数を指定
? 0〜1個 + 1個以上 * 0個以上
{5} '5'個 {,5} '5'個以下 {1,5} '1'〜'5'個

●複数の文字(または文字列)を指定
[あいう] 'あ' 'い' 'う'のどれか1文字
[^あいう] 'あ' 'い' 'う'を除く1文字
[あ-お] Unicodeで'あ'〜'お'までの1文字
(あいう) 'あいう'という文字列
(あいう|かきく|さしす) 'あいう' 'かきく' 'さしす'という文字列のどれかひとつ

●後ろや前に特定の文字(または文字列)があるかないかを指定
(?=あいう) 後ろに'あいう'がある
(?!あいう) 後ろに'あいう'がない
(?<あいう) 前に'あいう'がある
(?<!あいう) 前に'あいう'がない

●正規表現の性質を指定
(?i) 以降のアルファベットの大文字小文字が区別されない
(?i:abc) ()内のアルファベット'abc'の大文字小文字が区別されない
(?:あいう) この()は上記の\3には数えられない
(?#あいう) 'あいう'がコメントとして無視される

4iOS2020/05/03(日) 16:01:39.23ID:Hfhe4tC9
●本文以外
(空白age)^$
(sage以外)^(?!sage$)
(末尾P).{8}P

●本文が◯◯のみ
(1文字のみ)^.$
(安価のみ)^>>[\d,-]+$
(URLのみ)^[htpsf]{,5}://[!-z]+$
(画像のみ)^[htpsf]{,5}://[!-z]+\.(?i:(jpe?g|png|gif|bmp|tiff?"))$

●本文に◯◯が×個(×回)連続で含まれる
(改行が10回連続)\n{10}
(空白文字含む改行が10回連続)([[:blank:]]*\n){10}
(1文字の行が10回連続)((^|\n).){10}
(wが10個連続)w{10}
(同じ文字や文字列が5回連続)(.+?)\1{4}

●本文に特定の文字列が含まれる、含まれない
(1行にA,Bが含まれる)(?=.*A)(?=.*B)
(複数行にA,Bが含まれる)(?=[\s\S]*A)(?=[\s\S]*B)
(1行にAが含まれBが含まれない)(?=.*A)(?!.*B)
(複数行にAが含まれBが含まれない)^(?=.*A)(?!.*B).*$

5iOS2020/05/03(日) 16:02:51.44ID:Hfhe4tC9
○UnicodeでのNG設定方法

1,NGにしたい文字をコピーする(例: ೢ)

2,Unicodeスカラ値を調べる
2-1,サイトにいく
ttp://www.shurey.com/js/works/unicode.html
2-2,テキストボックスに貼り付けて、検査を押す
2-3,下に出た結果からNGにしたい文字の下にある16進数を確認する(例:0CE2)
2-4,「表示選択メニュー」で2-3で確認した16進数が含まれる範囲を選ぶ(例:[U+0C80-0CFF] カンナダ文字)
2-5,出てきた表にNGにしたくない文字がなければ上記の16進数をメモする(例:0C80-0CFF)
あればNGにしたい範囲の始めの文字と終わりの文字の16進数をメモする(例:0CE0-0CE3,0CEA-0CED)

3,正規表現を組み立てる
・16進数を各々\x{}で囲う
・ひとつの範囲はハイフンでつなぎ、別の範囲は続けて書く
・全体を[]で囲う

完成例:
[\x{0CE0}-\x{0CE3}\x{0CEA}-\x{0CED}]

6iOS2020/05/03(日) 16:03:38.15ID:Hfhe4tC9
https://regexper.com/
正規表現を可視化できるサイト

http://js.wakastream.jp/regex.html
javascript 正規表現 チェッカー

https://msdn.microsoft.com/ja-jp/library/cc392020.aspx
正規表現の構文

7iOS2020/05/03(日) 16:04:55.75ID:Hfhe4tC9
テンプレ貼り終わり

8iOS2020/05/03(日) 16:05:07.81ID:Hfhe4tC9
1

9iOS2020/05/03(日) 16:05:16.91ID:Hfhe4tC9
2

10iOS2020/05/03(日) 16:05:25.87ID:Hfhe4tC9
3

11iOS2020/05/03(日) 16:05:36.07ID:Hfhe4tC9
4

12iOS2020/05/03(日) 16:05:45.45ID:Hfhe4tC9
5

13iOS2020/05/03(日) 16:05:54.15ID:Hfhe4tC9
6

14iOS2020/05/03(日) 16:06:01.68ID:Hfhe4tC9
7

15iOS2020/05/03(日) 16:06:10.76ID:Hfhe4tC9
8

16iOS2020/05/03(日) 16:06:20.98ID:Hfhe4tC9
9

17iOS2020/05/03(日) 16:06:29.51ID:Hfhe4tC9
10

18iOS2020/05/03(日) 16:06:38.21ID:Hfhe4tC9
11

19iOS2020/05/03(日) 16:06:57.83ID:Hfhe4tC9
12

20iOS2020/05/03(日) 16:07:21.48ID:Hfhe4tC9
13

21iOS2020/05/03(日) 16:07:32.19ID:Hfhe4tC9
14

22iOS2020/05/04(月) 00:20:30.00ID:yqZ+0W0R

ちんくるの正規スレってあったの?検索かけてもヒットしなかったんだが

23iOS2020/05/04(月) 01:02:41.83ID:PWCdPWkh
総レス数20以下のスレは一定期間書き込みがないとdat落ちしちゃうからな
正規表現スレは基本的に過疎スレだから保守しないとすぐ消える

24iOS2020/05/04(月) 01:19:49.26ID:3WZeUwEa
いちおつ
待ってたー ありがとう

25iOS2020/05/04(月) 10:07:20.83ID:yqZ+0W0R
本文が150文字以上の場合
(?s).{150}
これでいいの?
某スレで長文コピペ貼られてもNGならねーわ

26iOS2020/05/04(月) 10:10:34.96ID:yqZ+0W0R
【車】 カースピーカーを語るスレ40
http://medaka.5ch.net/test/read.cgi/car/1558923303/

このスレの652から3レスが長文なんだけどさっきのじゃNGならない

27iOS2020/05/04(月) 10:14:08.36ID:yqZ+0W0R
自決した!

28iOS2020/05/04(月) 11:52:31.27ID:ig9fZzsW
待て、早まるな!

29iOS2020/05/04(月) 11:54:42.29ID:gk0tuwLv
やはり自決の方法は刀だったのだろうか?

30iOS2020/05/05(火) 00:32:07.28ID:R8c2e4D9
文字数はロケール依存じゃないかな?
UTF-8だけどカウントはバイトになっていたりすると
文字数とバイト数は一致しないとか

あと
(?s)の解説は必要ないのかな?

31iOS2020/05/06(水) 15:43:34.24ID:1aABqGfR
広範囲安価をNGするのってあったよね?
誰が教えてくださいませ
>>1-9
とか

32iOS2020/05/06(水) 15:49:14.59ID:1aABqGfR
あれ、ここではテンプレのやつで広範囲NGなるな
VIPだと正規表現違うのか?

33iOS2020/05/12(火) 10:06:40.98ID:P8MPXT1b
これテンプレに入れてくれや
>>4の奴は効かない
889iOS2019/10/27(日) 20:35:05.71ID:afCSa1h8
●本文に特定の文字列が含まれる、含まれない
(?#同一行内でA,Bが含まれる)(?m:^(?=.*A)(?=.*B))
(?#文章全体でA,Bが含まれる)(?s:^(?=.*A)(?=.*B))
(?#同一行内でAが含まれBが含まれない)(?m:^(?=.*A)(?!.*B))
(?#文章全体でAが含まれBが含まれない)(?s:^(?=.*A)(?!.*B))

34iOS2020/05/12(火) 10:52:10.91ID:nw2TWAZh
>>33
難しくて混乱してしまう
本文中に空白と改行しかないスレをNGにしたいんだけど
これで誤魔化した

(?#[[:blank:]])^.$
([[:blank:]]*\n){10}

35iOS2020/05/12(火) 12:25:57.88ID:+U6stZX6
^ と .* は要らないだろ
無駄なコストかけすぎ

36iOS2020/05/12(火) 13:07:31.44ID:7QDPySAS
>>34
お前がやりたい事と>>33の記述は全く無関係だろ
なんとかしか含まないは、なんとか以外を含むになって、
平仮名漢字片仮名数字半角英数字とか全部書かないと出来ないよ

37iOS2020/05/18(月) 11:51:05.84ID:FLDtswPP
>>2

38iOS2020/05/18(月) 11:51:28.97ID:wjKXbOI40
>>2

39iOS2020/05/28(木) 10:01:21.83ID:QIZTHJMa
IDワッチョイ強制スレでのIDもワッチョイも非表示のレスを正規表現「(?<!\))$」でNGにしたけど、今度はワッチョイは非表示なもののIDは表示するレスまで消えてしまった
そのスレでの荒らしは両方非表示の奴だけで片方だけ表示の者は荒らしではない
IDかワッチョイの片方だけ非表示のレスはNGにせず、両方非表示のレスだけNGにする方法を教えてください
どなたかお願いします

40iOS2020/05/31(日) 14:20:27.77ID:o7k6pd3W
ある特定の文字列を含まないレスをNGにしたいのですが、どう書いたら良いでしょうか
自分で書くと、特定の文字列を含まない行が一つでもあるとNGになってしまいました
逆に言えば、書き込み全体で1箇所でも特定の文字列が含まれていればNGにならないようにしたいです

41iOS2020/05/31(日) 23:16:02.01ID:Vjz3mMNu
(?s:^(?!.*文字列).*$)

42iOS2020/06/01(月) 00:11:54.57ID:6IcJnvER
効きました!ありがとう!

43iOS2020/06/05(金) 08:26:44.83ID:99EiqCLl
正規表現してるとニュース系のスレだと1がNGになってしまうんだけど
>>1は除外の設定ってできるのかな

新着レスの表示
レスを投稿する