正規表現道場 Part2 (393レス)
上下前次1-新
1(8): 2012/09/19(水)18:58 ID:bdgNsY2f(1) AAS
【正規表現道場の掟】
・言語不問
・質問も大歓迎。使用言語を書くのを忘れずに。
正規表現と関係ない話・質問は他スレへどうぞ。
前スレ
正規表現道場
2chスレ:php
313: 2018/05/19(土)00:09 ID:??? AAS
シングルラインモードで改行文字除外して先頭からマッチすればいいんじゃねーの?
/^([^\x0A\x0D]+)(?:\x0D\x0A|[\x0A\x0D])/"$1"|/g
外部リンク:regex101.com
マルチラインモードしかダメってんなら
/^((?:(?<!\x0A|\x0D).)+)(?:\x0D\x0A|[\x0A\x0D])/"$1"|/gm
外部リンク:regex101.com
314(1): 2018/05/19(土)00:12 ID:??? AAS
あ, 開始デリミタあったな, マルチラインモードでもこれでいいや
/\A([^\x0A\x0D]+)(?:\x0D\x0A|[\x0A\x0D])/"$1"|/gm
外部リンク:regex101.com
315: 2018/05/19(土)00:49 ID:??? AAS
>>314
完璧に動作しました。
助かりました。
外部リンク:regex101.comで試していたのですが
結果までリアルタイムに見れることも気づいてませんでした
本当にありがとうございました。
316(1): 2018/07/02(月)19:01 ID:??? AAS
教えてください
日付を処理するにあたり
2018-07-09 もしくは 7-9-18
のどちらがきても$1月$2日を7月9日にしたいと思っています。年は不要。
(?:20[12][0-9]-0?)?(1?[0-9])-0?([123]?[0-9])(?:-[12][0-9])?
で一応うごいてるのですが、もっとスマートにできますでしょうか?
317(1): 2018/07/04(水)17:45 ID:??? AAS
PHPで一番最後のカギカッコとその先を消したい時
$text = 'あいうえお「かきくけこ」「さしすせそ」たちつてと';
↓
$text = 'あいうえお「かきくけこ」';
$text = preg_replace("/「[^「」]*」.*/","",$text);
では元の文字列のまま返されます。
しかし、さしすせそ の部分を sasisuseso にすると成功します。何が問題なのでしょうか?
318(1): 2018/07/04(水)18:51 ID:??? AAS
>>316
そもそも処理自体が正規表現に向いてないと思うんですけど
>>317
それ全然ダメでしょ
*はgreedyだから最初にマッチした括弧以降全部食う
あとPHPならuオプション使うべき
/(「[^「」]*」)(?:(?!(?1)).)*$/
省2
319: 2018/07/05(木)13:28 ID:??? AAS
>>318
ありがとうございます。半分くらいしか分かりませんがうまくいきました。
$text = preg_replace("/(「[^「」]*」)(?:(?!(?1)).)*$/su","",$text);
320: [age] 2018/07/06(金)12:54 ID:??? AAS
age
321(2): 2018/07/08(日)09:24 ID:??? AAS
txtファイルで20文字目で改行したいのです。
20文字目で改行コードを挿入すればいいのかなと思ったのですが、
書き方がわかりません。
よろしければどなたか教えてください。
322(1): 2018/07/08(日)09:51 ID:??? AAS
/\A(.{20})/$1\n/
323(1): 321 2018/07/08(日)10:40 ID:??? AAS
>>322
レスありがとうございます。
説明が足りず申し訳ありません。
例えばなんですが、秀丸エディタのような正規表現の置換に対応したテキストエディタで
<置換前>
あいうえおかきくけこさしすせそ
たちつてとなにぬねのはひふへほ
省9
324(1): 2018/07/08(日)10:51 ID:??? AAS
>>323
秀丸 タグ付き正規表現
で検索するといいかも?
325: 321 2018/07/08(日)11:37 ID:??? AAS
>>324
検索してみたら、そのものずばりがありました。
【秀丸エディタ】正規表現を用いて指定文字数で改行させる方法
外部リンク:nodoame.net
どうもありがとうございました。
326: 2018/09/30(日)10:40 ID:??? AAS
書き込めないテスト
BEアイコン:1a4y8.png
327: 2018/09/30(日)10:49 ID:??? AAS
test
行数?
328(1): 2018/09/30(日)10:50 ID:??? AAS
IllustratorCS以降のスクリプトで縦中横を正規表現でしたいのですが
ググっても見つからないので自作しようと
縦書きテキストの縦中横を自動処理
var matchStr = /[0-9]/ ; //これをベースに↓
htt 外部リンク[html]:d-p.2-d.jp
これだと半角1文字か2文字の数値のみで 小数点が間にあると1文字ずつバラバラに適用されてしまいます
半角数字2〜3文字(以上) かつ 途中に小数点ピリオド有無 を縦中横に
省3
329: 2018/09/30(日)10:53 ID:??? AAS
AA省
330(1): 2018/09/30(日)11:07 ID:??? AAS
頭にマイナス文字が来るのを忘れていました
BEアイコン:1a4za.png
331: 2018/09/30(日)16:42 ID:??? AAS
URLは見せたいのか伏せたいのかどっちやねん
332: 2018/09/30(日)16:47 ID:??? AAS
URLは5chのNGワードにひっかかってるみたいで
すみません
333(1): 2018/09/30(日)19:23 ID:??? AAS
直接の答えじゃなくてすまんけど。
正規表現で^は行の先頭を意味するけど、それは意図とあってる?
縦書きに紛れる数字って行の先頭とは限らないんじゃないかな。
334: 2018/09/30(日)19:28 ID:??? AAS
一度に書けなくてすまん。
$も、あれは行末を意味するからそれも意図とあってるかな?
縦書きする日本語
数字部分
縦書きする日本語
という原稿なら俺のツッコミは余計なのでごめん。
逆に言うとそういう原稿じゃないと機能しないと思うよ。
335: 2018/09/30(日)21:08 ID:??? AAS
>>333
^が行の一番目から数字かどうかを見ていたから
$が行末を見ていたから
下のは走らなかったんですね
文中の数字なので、そのご指摘であってます
初歩的な内容ですみません
とりあえず頭と尻を取ってみてみます
省1
336(1): 2018/09/30(日)21:18 ID:??? AAS
/[0-9]+$|^[1-9][0-9]+\.?[0-9]+/ ; //では駄目でした……
練習テスト
328nobodyさん2018/09/30(日) 10:50:04.80ID:???
この文字列を
↓こうしたい ヒット希望する箇所=【 】
【328】nobodyさん【2018】/【09】/【30】(日) 【10】:【50】:【04.80】ID:???
337: 2018/09/30(日)21:24 ID:??? AAS
386 や 38.6 みたいな数字だけのも試しましたが
386 には無効で 38.6 は 38 と ピリオド と 6 とに分けられて効きました
正規表現よりスクリプトの中身の処理なのかもしれません
う〜ん
338: 2018/09/30(日)22:48 ID:??? AAS
いま手元に試せる環境ないけど、でもまだ環境を疑う前の状態、正規表現が完成してない状態だと思う。余裕あったら336の最後、試してみるね。
339(1): 2018/09/30(日)22:51 ID:??? AAS
>>336
例文の328nobodyの328は必ず3桁?
340: 2018/10/01(月)08:40 ID:??? AAS
>>339
>>328 や >>330 の画像のように
必ず3桁とは限りませんですね
4桁以上のこともありますので
341(1): 2018/10/01(月)09:15 ID:??? AAS
[+-]?[0-9]+(?:\.[0-9]+)?
外部リンク:regex101.com
342: 2018/10/01(月)11:05 ID:??? AAS
>>341
プラスマイマスまで処理していただいて
ありがとうございます
システムのプログラムが本職ではないので
こういうのが苦手でした
正規表現処理としては合っているのですが
スクリプトは半角数字1〜2文字のみを処理するだけで
省3
343: 2018/10/18(木)16:57 ID:ks7bneBP(1) AAS
自分に対して「ガイジ」って言ってくる奴をNGみたいなの出来る?
344: 2018/10/18(木)17:27 ID:??? AAS
無理だと思う。どのレス番が自分なのか予め分かってる必要があるけどそれが難しいんじゃないかな。
345: 2018/10/19(金)07:53 ID:??? AAS
私たち日本人の、日本国憲法を改正しましょう。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。
346(1): 2018/10/20(土)10:38 ID:Isa88TJv(1) AAS
perlをphp化しようとしています。
perlの$`や$'のようなマッチの前後の文字列を取り出すことはできますか?
また、tr/A-Z/A-Z/のような変換は、変換則をいちいち配列で指定しないとできないのでしょうか。
347: 2018/10/20(土)12:59 ID:??? AAS
>>346
後者は正規表現じゃなくてmb_convert_kanaじゃあかんの?
348: 2018/10/22(月)04:46 ID:F6qPDtGA(1/2) AAS
スレ内のランダムで3回以上繰り返される同一の文章をNGできますか?
349: 2018/10/22(月)05:47 ID:F6qPDtGA(2/2) AAS
細かく説明するとスクリプトコピペ荒らしのコピペ内容が一定期間で変わってしまうというので困っています
V2Cの正規表現で似たもの見つけましたが、janeでは使えませんでした。
(?:^|\n)(.{5,}\n(.*\n){0,2})\1{3}
350: 2018/10/22(月)06:55 ID:??? AAS
Janeはdatは取得したそのままで何も加工しないので
改行は\nではなくて<br>となる
また、各行の先頭と末尾に半角空白が付加されている
実際にレスがどうなっているのかはdatを覗いてみるのが一番
351(1): 2018/10/24(水)08:06 ID:??? AAS
JavaScriptで
<table class="aaa" border="1" xxx="yyy" ...(略)>
これを
.replace( /class="(S+)"/g, '.$1' )
で、
<table .aaa border="1" ....>
の形にすることができました。
省6
352: 351 2018/10/25(木)00:42 ID:??? AAS
その後色々試して見た結果
replace( /class=["\s]((.+)+)"/g, '.$1' )
とすることで
<table .aaa bbb ccc (略) border="1" ...>
の形にすることができました。
しかし、.aaa .bbb .ccc のように繰り返して「.」を付加する方法がわかりません。
おとなしく2回に分けて置換するほかないのでしょうか?
省2
353: 2018/10/25(木)14:19 ID:??? AAS
すいません質問させてください
専ブラアプリのchmateで連続投稿、連レスをNGに出来ませんか?
連続でなくても、同一IDで沢山書き込んでいるのをNGにしたいのです
毎日NGIDとして登録すれば済む話しなんですが‥
正規表現で一定数以上の書き込みをNGにしたいのです
よろしくお願いします
354(2): 2018/10/30(火)16:07 ID:??? AAS
「あいう
えお」
『かきくけ
こ』
のような場合に改行を詰めたいのですが
^[」』](\r?\n)
を置換して消そうとしてもうまくいきませんでした
省2
355(1): 2018/10/30(火)16:53 ID:??? AAS
>>354
違ってたらごめんだけど、^の後に何がきても的な指定が足りてないんちゃう?
行頭、ほにゃらら、」または』、改行
とするのがいいんじゃないかなぁと。
356: 354 2018/10/30(火)18:03 ID:??? AAS
>>355
あ、^は行頭ではなく、[]内の否定でした…
」や』で終わってたらOK(置換しない)
」や』以外で終わってたら、改行コードを削除して詰める
という感じです
^(.+)[^」』]\r?\n
なんか違いますね…
省12
357: 2018/11/10(土)19:29 ID:6srco+Il(1) AAS
外部リンク:r2.upup.be
358(1): 2018/11/25(日)15:27 ID:TICRp/KJ(1) AAS
教えて下さい。
!と!に該当させたいけれど、!?と!?の場合は除外したい場合、
どのような正規表現になるでしょうか。
359: 2018/11/25(日)16:51 ID:??? AAS
>>358
(?![!!][??])[!!]
360: 2018/11/25(日)17:08 ID:??? AAS
質問スレ2つもあるけどどっちかにまとめたほうがいいな
Regular Expression(正規表現) Part14
2chスレ:tech
361: 2018/11/26(月)01:38 ID:??? AAS
質問はこちらへ
Regular Expression(正規表現) Part14
2chスレ:tech
362: 2018/11/26(月)07:47 ID:??? AAS
1に質問大歓迎とあるが
363: 2018/12/31(月)08:50 ID:??? AAS
アドレスを編集しているんですけど
:80だけ消してたとえば:8001,:6080とか
80が含まれる数字は残したいんですけどどうやればいいんでしょうか
さくらエディターつかってます
364: 2019/01/14(月)16:34 ID:??? AAS
PHPで改行以外の制御文字を空文字に置換したいと思い次のように書きました。
preg_replace( '/(?!\n)[\p{Cc}]/u' , '' , $ver );
この場合、否定先読みで\nを指定しているのですが、\rも指定した方が良いのでしょうか。
詳しい方、アドバイスをください。
よろしくお願いします。
365: 2019/01/27(日)18:09 ID:??? AAS
そういえば\Rは\rや\nにマッチするって見かけたけど、間にある垂直タブや書式送りにもマッチするよな
366: 2019/03/24(日)10:07 ID:??? AAS
鬼太郎実況スレに現れる軍オタ荒しはどうNGすればいいんでしょうか
荒らす個々の文が違うのでやってもやっても消えません
367: 2019/07/07(日)22:05 ID:??? AAS
GreasemonkeyのスクリプトでニコニコのコメントをNGにするため
正規表現がうまく適用できなくて
任意の文字列が4字以上連続
.{4,}
スクリプトのほうの問題ならあきらめます
368: 2019/07/30(火)15:45 ID:??? AAS
画像リンク[jpg]:i.imgur.com
369(1): 2020/09/08(火)14:42 ID:??? AAS
「任意の一文字と複数のスペース」を3回以上繰り返す文に合致する正規表現
(.[[:blank:]]{2}){3}
で↓の文にヒットしてくれないんだけど理由分かる方いる?
や め ろ ー ! し ゅ ー く ん の が
画像のように他の文にはヒットしている
画像リンク[jpg]:i.imgur.com
370(1): 2020/09/08(火)17:05 ID:??? AAS
>>369
s/{2}/{2,}/
371: 2020/09/11(金)13:31 ID:??? AAS
>>370
ありがとう
{2}を{2,}にしろってことだよね
上手く動きました!
372: 2020/10/04(日)12:23 ID:EyprqV7h(1) AAS
phpで掲示板を作っていてアンカーリンク作りたいと思い以下のように書きました
preg_replace("/>>([0-9]+)/","<a href=\"?res=\\1\"> >>\\1</a>",$text);
>>1など単発の場合は↑でできましたが、>>1,2,3や>>1,2,3,10-15とやりたい場合どうしたら良いですか?
373(1): 2020/11/12(木)11:55 ID:??? AAS
5ch閲覧にrep2を利用しています。
文末に「>>1」が入っているレスを正規表現を利用してあぼーんしようとしました。
rep2だと行末に半角スペースが入るために
(>>1)\s$としたのですがうまくいきません。因みに「>>1」を他の日本語に変更すれば
期待通りの結果は得られるのですが。どの表に表現すれば良いのか教えて頂けないでしょうか。
374: 373 2020/11/26(木)00:00 ID:??? AAS
上の質問をしたものです。
&gt;&gt;1<\/a>\s$ を半角で記述すれば目的を達成することができました。
お目汚し失礼しました。
375(2): 2021/06/01(火)18:25 ID:??? AAS
chmateのNG設定で
複数のワードを全て含む書き込みをNG (?s:^(?=.*ワード1)(?=.*ワード2)(?=.*ワード3))
の ?s:^ と?=はどういう意味ですか?
376: 2021/10/20(水)09:13 ID:??? AAS
>>375
超いまさらだけど一応
?s:^は文章全体から検索するよって意味
?=は、ワードを含む(検索する時にマッチする)って意味
(?=あいう)だったら「あいう」があるレスがマッチする
377: 2021/11/03(水)20:06 ID:??? AAS
# h1
## h2
これにマッチする正規表現はどう書けばいいんでしょうか?
# h1にマッチさせたい場合、以下のようにしましたが、h2にもマッチします
# .*
h1のみ、h2のみにマッチさせる書き方はどうしたらいいのでしょうか
378: 2021/11/04(木)17:32 ID:??? AAS
解決すました
379: 2021/11/18(木)22:44 ID:LOXmgaYk(1) AAS
お.んこ
380(1): 2021/12/21(火)17:54 ID:ha2uCzxO(1) AAS
PLAN
PLAN2
PLAN3
PLAN4
以上の4つを表す正規表現についてですが
^PLA(N|N[2-4])
で合ってますか?
381: 2021/12/21(火)19:18 ID:??? AAS
>>380
合ってるけど
^PLAN[2-4]?
でいいんじゃないか
382: 2021/12/21(火)19:21 ID:??? AAS
ところで、後ろはどうするんだ
PLAN5
とかでもPLANにマッチするけどいいのか
383: 2022/04/20(水)03:42 ID:??? AAS
スマホのブラウザ(Berry browser)での検索結果にでたYouTubeのリンクを
NEWPIPEで開くようにする正規表現をおしえていただけませんか?
384: 2022/08/03(水)23:16 ID:1IP0HnLs(1) AAS
正規表現ってこういうのも出来ますか?
あ い う え お
が「順不同」で「全て含まれている」のを検出
(1) ヒット例
ーーーーあいうえおーーーー
ーおーえーうーいーあーー
ーーーおあーーいいええーーう
省4
385(1): 2022/08/03(水)23:48 ID:??? AAS
できるよ
386: 2022/08/04(木)01:48 ID:1CNBnxTN(1/2) AAS
>>385
やり方教えて!
387: 2022/08/04(木)14:27 ID:??? AAS
複数文字列のANDの基本
^(?=.*文字列1)(?=.*文字列2)(?=.*文字列3)・・・
388: 2022/08/04(木)16:32 ID:1CNBnxTN(2/2) AAS
これで行けました >>375
ありがとうございます
389: 2023/01/08(日)22:01 ID:??? AAS
^.{0,20}$
20文字以下の短文をNGにしたいんですけどアンカーが付いてるとスルーされてしまいます
どうやって改善したら良いですか?
390: 2023/07/06(木)23:30 ID:??? AAS
5ちゃんのスレでid無しだけを表示したいのですが
391: 2023/10/27(金)13:16 ID:??? AAS
基礎的なことですみません、一応調べてはみたのですが
JavaScriptで改行コードを消す場合
str.replace(/\r\n|\n|\r/g, '')
は理解できますが
str.replace(/[\r\n]/g, '')
ではだめでしょうか?
392: 2023/10/29(日)19:52 ID:CfvUCDSw(1) AAS
age
393: 2023/11/24(金)17:30 ID:??? AAS
ChMateのNG機能で、レス本文に順不同で含まれる "あ" に5回マッチさせる際の書き方を教えていただきたいのです
こんな↓感じの毎回微妙に違う意味のないレスをポイしたいのです
うあいうえああえあかあたま
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.942s*