探検


正規表現道場 Part2

1nobodyさん
垢版 |
2012/09/19(水) 18:58:43.51ID:bdgNsY2f
【正規表現道場の掟】

・言語不問

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

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

前スレ
正規表現道場
http://kohada.2ch.net/test/read.cgi/php/1168450843/
350nobodyさん
垢版 |
2018/10/22(月) 06:55:08.17ID:???
Janeはdatは取得したそのままで何も加工しないので
改行は\nではなくて<br>となる
また、各行の先頭と末尾に半角空白が付加されている
実際にレスがどうなっているのかはdatを覗いてみるのが一番
351nobodyさん
垢版 |
2018/10/24(水) 08:06:13.02ID:???
JavaScriptで
<table class="aaa" border="1" xxx="yyy" ...(略)>
これを
.replace( /class="(S+)"/g, '.$1' )
で、
<table .aaa border="1" ....>
の形にすることができました。

今度は
<table class="aaa bbb ccc (略)" border="1" xxx="yyy" ...(略)>
これを、border以降を巻き込むことなく
<table .aaa .bbb .ccc (略) border="1" ...>
の形にしたいのですが、どうすればよいでしょうか…?
「=」を含まないようにすればいいんだとは思いますが、なんだかごちゃごちゃするばかりでうまくいきませんでした。
352351
垢版 |
2018/10/25(木) 00:42:51.39ID:???
その後色々試して見た結果
replace( /class=["\s]((.+)+)"/g, '.$1' )
とすることで
<table .aaa bbb ccc (略) border="1" ...>
の形にすることができました。

しかし、.aaa .bbb .ccc のように繰り返して「.」を付加する方法がわかりません。
おとなしく2回に分けて置換するほかないのでしょうか?

replace( /class="(.+\s)?(.+)(\s.+)?"/g, '.$2' )
…これだと1回しか置換できませんね…
353nobodyさん
垢版 |
2018/10/25(木) 14:19:15.03ID:???
すいません質問させてください
専ブラアプリのchmateで連続投稿、連レスをNGに出来ませんか?
連続でなくても、同一IDで沢山書き込んでいるのをNGにしたいのです
毎日NGIDとして登録すれば済む話しなんですが‥
正規表現で一定数以上の書き込みをNGにしたいのです
よろしくお願いします
354nobodyさん
垢版 |
2018/10/30(火) 16:07:23.36ID:???
「あいう
えお」
『かきくけ
こ』

のような場合に改行を詰めたいのですが

^[」』](\r?\n)

を置換して消そうとしてもうまくいきませんでした
どうすれば詰めることができるでしょうか

(使用環境はAutoHotkeyです)
355nobodyさん
垢版 |
2018/10/30(火) 16:53:51.94ID:???
>>354
違ってたらごめんだけど、^の後に何がきても的な指定が足りてないんちゃう?

行頭、ほにゃらら、」または』、改行

とするのがいいんじゃないかなぁと。
356354
垢版 |
2018/10/30(火) 18:03:23.40ID:???
>>355
あ、^は行頭ではなく、[]内の否定でした…

」や』で終わってたらOK(置換しない)
」や』以外で終わってたら、改行コードを削除して詰める
という感じです

^(.+)[^」』]\r?\n

なんか違いますね…
試しにこれでやってみると

「あいう」
『えお』
「かきく
けこ」



「あいう」『えお』
「かきく
けこ」

になるので逆っぽい…
どうも[^]による否定ができていない気がします
一応、AutoHotKeyの正規表現でも[^]による否定はできるはずなんですけど
357nobodyさん
垢版 |
2018/11/10(土) 19:29:23.78ID:6srco+Il
http://r2.upup.be/wV2qsULdHm
358nobodyさん
垢版 |
2018/11/25(日) 15:27:10.04ID:TICRp/KJ
教えて下さい。
!と!に該当させたいけれど、!?と!?の場合は除外したい場合、
どのような正規表現になるでしょうか。
359nobodyさん
垢版 |
2018/11/25(日) 16:51:24.42ID:???
>>358
(?![!!][??])[!!]
360nobodyさん
垢版 |
2018/11/25(日) 17:08:57.74ID:???
質問スレ2つもあるけどどっちかにまとめたほうがいいな

Regular Expression(正規表現) Part14
https://mevius.5ch.net/test/read.cgi/tech/1489511075/
361nobodyさん
垢版 |
2018/11/26(月) 01:38:23.06ID:???
質問はこちらへ

Regular Expression(正規表現) Part14
https://mevius.5ch.net/test/read.cgi/tech/1489511075/
362nobodyさん
垢版 |
2018/11/26(月) 07:47:55.88ID:???
1に質問大歓迎とあるが
363nobodyさん
垢版 |
2018/12/31(月) 08:50:07.88ID:???
アドレスを編集しているんですけど
:80だけ消してたとえば:8001,:6080とか
80が含まれる数字は残したいんですけどどうやればいいんでしょうか
さくらエディターつかってます
364nobodyさん
垢版 |
2019/01/14(月) 16:34:17.89ID:???
PHPで改行以外の制御文字を空文字に置換したいと思い次のように書きました。

preg_replace( '/(?!\n)[\p{Cc}]/u' , '' , $ver );

この場合、否定先読みで\nを指定しているのですが、\rも指定した方が良いのでしょうか。
詳しい方、アドバイスをください。
よろしくお願いします。
365nobodyさん
垢版 |
2019/01/27(日) 18:09:07.98ID:???
そういえば\Rは\rや\nにマッチするって見かけたけど、間にある垂直タブや書式送りにもマッチするよな
366nobodyさん
垢版 |
2019/03/24(日) 10:07:25.65ID:???
鬼太郎実況スレに現れる軍オタ荒しはどうNGすればいいんでしょうか

荒らす個々の文が違うのでやってもやっても消えません
367nobodyさん
垢版 |
2019/07/07(日) 22:05:47.87ID:???
GreasemonkeyのスクリプトでニコニコのコメントをNGにするため
正規表現がうまく適用できなくて

任意の文字列が4字以上連続
.{4,}

スクリプトのほうの問題ならあきらめます
368nobodyさん
垢版 |
2019/07/30(火) 15:45:55.91ID:???
https://i.imgur.com/PgEWKSB.jpg
369nobodyさん
垢版 |
2020/09/08(火) 14:42:32.02ID:???
「任意の一文字と複数のスペース」を3回以上繰り返す文に合致する正規表現

(.[[:blank:]]{2}){3}

で↓の文にヒットしてくれないんだけど理由分かる方いる?

や    め    ろ    ー    !    し    ゅ    ー    く    ん    の    が

画像のように他の文にはヒットしている
https://i.imgur.com/mMhnds9.jpg
370nobodyさん
垢版 |
2020/09/08(火) 17:05:35.51ID:???
>>369
s/{2}/{2,}/
371nobodyさん
垢版 |
2020/09/11(金) 13:31:39.28ID:???
>>370
ありがとう
{2}を{2,}にしろってことだよね

上手く動きました!
372nobodyさん
垢版 |
2020/10/04(日) 12:23:49.19ID:EyprqV7h
phpで掲示板を作っていてアンカーリンク作りたいと思い以下のように書きました

preg_replace("/>>([0-9]+)/","<a href=\"?res=\\1\"> >>\\1</a>",$text);
>>1など単発の場合は↑でできましたが、>>1,2,3や>>1,2,3,10-15とやりたい場合どうしたら良いですか?
373nobodyさん
垢版 |
2020/11/12(木) 11:55:47.68ID:???
5ch閲覧にrep2を利用しています。
文末に「>>1」が入っているレスを正規表現を利用してあぼーんしようとしました。
rep2だと行末に半角スペースが入るために
>>1)\s$としたのですがうまくいきません。因みに「>>1」を他の日本語に変更すれば
期待通りの結果は得られるのですが。どの表に表現すれば良いのか教えて頂けないでしょうか。
374373
垢版 |
2020/11/26(木) 00:00:02.41ID:???
上の質問をしたものです。
&gt;&gt;1<\/a>\s$ を半角で記述すれば目的を達成することができました。
お目汚し失礼しました。
375nobodyさん
垢版 |
2021/06/01(火) 18:25:38.30ID:???
chmateのNG設定で

複数のワードを全て含む書き込みをNG (?s:^(?=.*ワード1)(?=.*ワード2)(?=.*ワード3))

の ?s:^ と?=はどういう意味ですか?
376nobodyさん
垢版 |
2021/10/20(水) 09:13:32.70ID:???
>>375
超いまさらだけど一応

?s:^は文章全体から検索するよって意味

?=は、ワードを含む(検索する時にマッチする)って意味

(?=あいう)だったら「あいう」があるレスがマッチする
377nobodyさん
垢版 |
2021/11/03(水) 20:06:54.60ID:???
# h1
## h2

これにマッチする正規表現はどう書けばいいんでしょうか?
# h1にマッチさせたい場合、以下のようにしましたが、h2にもマッチします

# .*

h1のみ、h2のみにマッチさせる書き方はどうしたらいいのでしょうか
378nobodyさん
垢版 |
2021/11/04(木) 17:32:15.82ID:???
解決すました
379nobodyさん
垢版 |
2021/11/18(木) 22:44:23.00ID:LOXmgaYk
お.んこ
380nobodyさん
垢版 |
2021/12/21(火) 17:54:59.04ID:ha2uCzxO
PLAN
PLAN2
PLAN3
PLAN4

以上の4つを表す正規表現についてですが

^PLA(N|N[2-4])

で合ってますか?
381nobodyさん
垢版 |
2021/12/21(火) 19:18:54.23ID:???
>>380
合ってるけど
^PLAN[2-4]?
でいいんじゃないか
382nobodyさん
垢版 |
2021/12/21(火) 19:21:03.74ID:???
ところで、後ろはどうするんだ
PLAN5
とかでもPLANにマッチするけどいいのか
383nobodyさん
垢版 |
2022/04/20(水) 03:42:46.79ID:???
スマホのブラウザ(Berry browser)での検索結果にでたYouTubeのリンクを
NEWPIPEで開くようにする正規表現をおしえていただけませんか?
384nobodyさん
垢版 |
2022/08/03(水) 23:16:32.32ID:1IP0HnLs
正規表現ってこういうのも出来ますか?

  あ い う え お

が「順不同」で「全て含まれている」のを検出

(1) ヒット例
ーーーーあいうえおーーーー
ーおーえーうーいーあーー
ーーーおあーーいいええーーう

(2) スルー例
ーあいうえーーーーー
ーおういあーーーーー

みたいなの1行の正規表現出来ますか?
385nobodyさん
垢版 |
2022/08/03(水) 23:48:42.00ID:???
できるよ
386nobodyさん
垢版 |
2022/08/04(木) 01:48:18.36ID:1CNBnxTN
>>385
やり方教えて!
387nobodyさん
垢版 |
2022/08/04(木) 14:27:12.75ID:???
複数文字列のANDの基本
^(?=.*文字列1)(?=.*文字列2)(?=.*文字列3)・・・
388nobodyさん
垢版 |
2022/08/04(木) 16:32:56.29ID:1CNBnxTN
これで行けました >>375
ありがとうございます
389nobodyさん
垢版 |
2023/01/08(日) 22:01:02.48ID:???
^.{0,20}$
20文字以下の短文をNGにしたいんですけどアンカーが付いてるとスルーされてしまいます
どうやって改善したら良いですか?
390nobodyさん
垢版 |
2023/07/06(木) 23:30:11.65ID:???
5ちゃんのスレでid無しだけを表示したいのですが
391nobodyさん
垢版 |
2023/10/27(金) 13:16:07.99ID:???
基礎的なことですみません、一応調べてはみたのですが
JavaScriptで改行コードを消す場合

str.replace(/\r\n|\n|\r/g, '')

は理解できますが

str.replace(/[\r\n]/g, '')

ではだめでしょうか?
392nobodyさん
垢版 |
2023/10/29(日) 19:52:21.37ID:CfvUCDSw
age
393nobodyさん
垢版 |
2023/11/24(金) 17:30:39.48ID:???
ChMateのNG機能で、レス本文に順不同で含まれる "あ" に5回マッチさせる際の書き方を教えていただきたいのです

こんな↓感じの毎回微妙に違う意味のないレスをポイしたいのです
うあいうえああえあかあたま
394nobodyさん
垢版 |
2026/02/26(木) 04:36:45.48ID:ADZHfnXG
>>393
これでいいんじゃね?
あ.{5,}
395nobodyさん
垢版 |
2026/02/26(木) 10:07:53.84ID:???
「あ」の後ろに改行以外の任意の5文字以上あること
396nobodyさん
垢版 |
2026/03/21(土) 14:21:22.10ID:???
ChMateで荒らしのワッチョイ99**-9999
固定の9部分に一致したものをNGしたいので教えて下さい
397nobodyさん
垢版 |
2026/07/02(木) 19:08:48.82ID:???
>>396
99[A-Za-z0-9+/]{2}-9999
398nobodyさん
垢版 |
2026/07/04(土) 19:02:03.78ID:???
>>391
別々にマッチさせると処理効率が悪いからこれで
str.replace(/[\r\n]+/g, '')
399nobodyさん
垢版 |
2026/07/30(木) 09:53:00.99ID:UzYHp+XM
>>393
亀レスですが

(あ.*){5}

>>394では1回の「あ」がほぼヒットする
400nobodyさん
垢版 |
2026/08/05(水) 22:36:20.00ID:???
[ぁ-ゖ]{13}
レスを投稿する


ニューススポーツなんでも実況