Regular Expression(正規表現) Part17 (499レス)
上下前次1-新
1(3): 2023/12/16(土)08:59 ID:uVHZ7e2j(1/4) AAS
Regular Expressionスレです。
質問する場合は必ず実装言語や処理系ソフトウェア名を示してください。
前スレ
Regular Expression(正規表現) Part16
2chスレ:tech
次スレは>>980宜しく
テンプレ>>2以降
400: 374 04/05(日)23:09 ID:B+wTc8s7(2/2) AAS
>>395
試してみましたが駄目でした・・・
以下のように_の部分に半角スペースを入れてみましたが希望通りにはなりませんでした
{}内が.と@から始まるものだけではないからだと思います
( [.@])
_OR$1
>>381さんに教えてもらったもので希望を100%満たしてるので大丈夫です
ありがとうございました
401: 04/06(月)16:07 ID:vyjciAxd(1) AAS
こら!知的なケンカはやめなさい!
402: 05/02(土)15:59 ID:EFxMfN5/(1) AAS
PowerShellはバッチコマンドの引数から"^"(キャレット、サーカムフレックス)を除去してしまうのでバッチコマンドに正規表現を渡しづらいね
バッチコマンドに"[^0-9]"を渡したい場合は"[^^^^0-9]"とエスケープして渡す必要がある
403: 05/03(日)22:01 ID:U+o3w/Vn(1) AAS
AIに聞けば他の対策もいろいろ教えてくれる
ただしAIは知ったかぶりすることもあるから動作確認は必須
404: 05/03(日)22:12 ID:flEHwPM5(1/2) AAS
curlに渡す場合によく^^^を使ったもんだ
コマンドプロンプトを使う場合はここでよく躓く
405: 05/03(日)22:17 ID:flEHwPM5(2/2) AAS
いやbatでってこと
406: 05/04(月)23:15 ID:Jfo4Jf9/(1) AAS
いまさらながらなんでWindows版のegrep.exeとfgrep.exeがgrepをラップしたバッチコマンド形式ではなくわざわざバイナリ形式になっているのか理解できた
バッチコマンドだと渡した引数に含まれる"^"が削除されて不都合だからだね
407(2): 05/06(水)02:56 ID:CbvZh1Nf(1/2) AAS
●Regular Expressionの使用環境
サクラエディタ Ver. 2.4.2.6048
(bregoing.dll Ver.4.20 with Onigmo 6.2.0)
●検索か置換か?
置換
●説明
・4行で1セットになっています
・1セットの内1行目の行末のCRLFはタブに置換したいです
・1セットの内2行目の行末のCRLFもタブに置換したいです
・1セットの内3行目の行末のCRLFはCRLFのままでいいです
省16
408(4): 05/06(水)07:58 ID:4C1XaSSi(1) AAS
4行目が必ず空行/1-3行目が必ず内容あり、なら
(1)いったん\r\n⇒\tに全置換
(2)\t\t⇒\r\nに全置換
とかやるのが楽だけど、どうだろ
409(1): 05/06(水)11:27 ID:cnVvFbK6(1/2) AAS
テキストエディタは改行をまたぐ置換が苦手だからサクラエディタの仕様を調べないといけないね
面倒くさいからAIに丸投げしてこういう置換プログラム作ってってお願いすれば作ってくれそう
410(10): 05/06(水)13:36 ID:1SVzPnT0(1/2) AAS
サクラエディタは行またぎ非対応
1. \r\n→未使用文字ダミー文字列
2.ダミーダミー→\r\n
3.ダミー→\t
行またぎ対応なら4行マッチ3行捕獲
^(.*)\r\n(.*)\r\n(.*)\r\n\r\n
$1\t$2\t$3\r\n
411(1): 05/06(水)20:07 ID:EBMzzDT6(1) AAS
行またぎ非対応のやつとか案外あるんだ
412: 05/06(水)21:04 ID:1SVzPnT0(2/2) AAS
たぶんgrep ベースだと行指向
413(2): 05/06(水)21:22 ID:D350Ut84(1) AAS
Visual Studioが複数行マッチに対応しているね
ただしドット"."に改行が含まれるから細心の注意が必要だけど
414(1): 407 05/06(水)21:33 ID:CbvZh1Nf(2/2) AAS
>>408
できました!
超ありがとうございました
>>410
これだとできませんでした・・・
^(.*)\r\n(.*)\r\n(.*)\r\n\r\n
$1\t$2\t$3\r\n
415: 05/06(水)22:00 ID:cnVvFbK6(2/2) AAS
テンプレの>>3に書いてあった
bregoing.dllはまだ現役だったんだね
416(1): 05/06(水)23:32 ID:hu9+ldR8(1) AAS
>>414
元のデータが行単位で切り出されていて
1行分しかデータが無い状態で正規表現が実行されると思われるので
複数行データがそもそも無いので無理
417(1): [age] 05/07(木)00:55 ID:cPjD8Hv8(1/5) AAS
>>416
実行できないクソの役にも立たないレスはご遠慮くださいますようスレ民一同心よりお願い申し上げます。
418: 05/07(木)13:11 ID:r6HNCc+R(1/3) AAS
プログラム作ったほうが安心確実メンテ楽
プログラム分かりませんなら仕方ない
試しに
4行ひとかたまりのデータの最後に"end"の3文字を追加するpythonプログラムを下さい
をgoogle検索したらいけたからプログラム知らない方でもなんとかなりそう
419(1): 05/07(木)14:25 ID:gJqX98ka(1) AAS
>>417
毎回自演バレバレだからそういうレスは自重しといたほうがいいぞ
420(1): [age] 05/07(木)16:16 ID:cPjD8Hv8(2/5) AAS
>>419
無能な回答した貴方の自演と言うことは分かります
421(1): 05/07(木)18:50 ID:Bxzv9Zfd(1) AAS
>>420
君がそう思いたいならご自由にどうぞ
つか有能な回答なんてなかったと思ったが君にとっては有能な回答があったんだね
それはなによりでスレ民一同よりお祝い申し上げますw
422(1): 05/07(木)19:41 ID:r6HNCc+R(2/3) AAS
417が切れてる理由がさっぱり分からんがAI荒らしか何か?
416は当たり前のことを書いてるだけに見えるが417にはどう見えてるんだ
423: 05/07(木)20:54 ID:tYXcxSRQ(1) AAS
メ欄見てから相手をしよう
424: [age] 05/07(木)21:03 ID:cPjD8Hv8(3/5) AAS
>>421-422
何であと出しでこんなクソみたいなレスしたの?
^(.*)\r\n(.*)\r\n(.*)\r\n\r\n
$1\t$2\t$3\r\n
425(1): [age] 05/07(木)21:10 ID:cPjD8Hv8(4/5) AAS
ちゃんと仕様を理解してから回答しましょう
仕様を理解しているのに仕様外の回答をするオナニーレスをする変態はお引き取りください
426(1): 05/07(木)21:29 ID:H2rHVG+N(1/2) AAS
>>425
荒らしているのはお前 ID:cPjD8Hv8 のほうだぞ
技術板で人格攻撃じみたことをするな
427(1): [age] 05/07(木)22:07 ID:cPjD8Hv8(5/5) AAS
>>426
質問に対して回答になっていないレスをしている奴が荒らしだろ
質問者はテンプレに従って書いてるし第一の回答者は正しい回答しているし
それで解決しているし
第二の回答者が荒らし確定
以降は俺もレスしないからお前もレスするなよ
この件に関してはこれで終わりな
これ以降、この件に関してレスした奴は荒らし確定
この件の定義は質問に対して解決しているのに解決しない回答を後だしする自慰レスについてな
以上
428(1): 05/07(木)22:25 ID:H2rHVG+N(2/2) AAS
善意の回答者が間違った回答をすることはいつでも起こりうる
善意の回答者を罵倒していたら誰も回答できなくなってしまう
ルールを勝手に決める行為は慎め
レスするなという一方的な押し付けを慎め
正しい回答だけ欲しいなら質問せず仕様書を読め
429: 05/07(木)22:32 ID:Gftn+938(1) AAS
>>410のどこが善意の回答なのか説明して欲しいねぇ
説明を求めるなって?
じゃあ>>410は悪意のある荒らし回答で決定な
説明は求めるなよ
430: 05/07(木)23:00 ID:r6HNCc+R(3/3) AAS
ふむふむ、"408で綺麗に解決したのに汚しやがって" みたいな感じ?
408は確かに質問者を満足させる回答で素晴らしい回答だったよ
しかし410と413の組み合わせは解決策として成立している(ドットの問題はあるが)
君は質問者がこういう情報を得られる機会を失うことが良いことだと思うかい?
君は賢いから自分の間違いにすぐ気付くだろう
431(1): 05/08(金)10:35 ID:zKOtTGyw(1/2) AAS
410の正規表現はダメだろ
432(1): 05/08(金)10:54 ID:Z+p2VFA6(1) AAS
>>428
>ルールを勝手に決める行為は慎め
>レスするなという一方的な押し付けを慎め
回答者が善意かどうかとか俺は別にどうでもいいけど、この2つには激しく同意する
ID:cPjD8Hv8のやってることは明らかに荒らし
自覚もあるのにいつも同じことをやるからたちが悪い
433: 05/08(金)11:29 ID:yHIiuh7O(1/2) AAS
>>431
このスレには解決したのにgdgd言うガイジが住みついてるから
>>432
要望を満たさないどころか全く動作しない正規表現をレスする行為は慎め
もはや全く動作しない正規表現は荒らしレスであるから慎め
これは押しつけ以前に5chのルールであるから慎む慎まない以前の問題である
434: 05/08(金)11:30 ID:yHIiuh7O(2/2) AAS
次スレはワッチョイ付けよう
そうすればガイジをNGしやすくなると思う
ガイジだからワッチョイころころする可能性も否定できないが
435: 05/08(金)11:33 ID:zKOtTGyw(2/2) AAS
要望を解決した後で派生の話題をする分には俺的には問題ない
むしろ歓迎するよ
元データからして1行分しかないという情報も無駄に正規表現をあれこれ試行するのを防ぐという役には立つだろう
質問者はそれでもやったみたいだが
436(1): 05/08(金)13:13 ID:h3TBS6Dt(1) AAS
素人なのでよく分からないので410が何故ダメなのか教えて下さい
437: 05/08(金)14:44 ID:fpn3bHal(1/2) AAS
連続しない単体の1文字にマッチする正規表現を教えてください
使う文字は、数字、平仮名、記号などいろいろです
(例)
検索:AABADDCCCDBBCAAA
置換:AAXXDDCCCXBBXAAA
必須じゃないですが、2連続まではマッチなどと指定できたら尚ありがたいです
438(1): 05/08(金)14:59 ID:e0XYRuju(1) AAS
単体の1文字にマッチ
(?<!(.)\1)(.)(?!\2)
1〜2連続まではマッチ
(?<!(.)\1)(.{1,2})(?!\2)
439: 05/08(金)18:14 ID:fpn3bHal(2/2) AAS
>>438
すいません
いろんなテキストエディタで試しましたが
構文のエラーで動作しませんでした
440(1): 05/08(金)20:51 ID:J+TE0A6u(1) AAS
連続しない単体の1文字
(?!(?<=(.))\1)(.)(?!\2)
2連続まで
(?!(?<=(.))\1)(.)\2{0,1}(?!\2)
441: 05/08(金)22:12 ID:g+j7hC7F(1) AAS
>>440
どっちも完璧に動作し解決できました
教えていただいてありがとうございました
お手数ですいませんあともうひとつ教えてもらいたいのですが
連続しない任意の1文字だけにマッチさせる場合がわかりません
(例:連続しない任意の文字?を?に置換え)
検索:??????????????
置換:??????????????
442(1): [sqge] 05/08(金)22:43 ID:FKG508Ye(1) AAS
一文字決まってるなら
(^①)①(^①) → $1⑩$2
443: 05/09(土)00:03 ID:FJMh0TIY(1/2) AAS
>>442
ありがとうございます
検索結果がマッチ無しとなるので、[^?]?[^?]のことではと思いましたが
これでは?????の部分にまとめてマッチして
????????????という結果になり
希望のかたちとはなりませんでした
444(1): 05/09(土)00:21 ID:sbT9j+e6(1) AAS
(?<!?)?(?!?)
445: 05/09(土)00:54 ID:FJMh0TIY(2/2) AAS
>>444
素晴らしく希望する置換ができました
今夜はよく眠れそうです
ご親切にありがとうございました
446: 05/09(土)07:14 ID:sWrfC/g9(1/2) AAS
>>408は明らかにトリッキーな解決方法です
手間がかかり、何度も行うには非効率です
まっとうな方法での解決策もあるはずで
それを教えずに満足してしまうのは頂けません
質問者がサクラエディタを使っているから
サクラエディタでなんとかしなければならない
正規表現スレで質問しているから正規表現で
なんとかしなければならない
そんなふうに考えてはいけません
むしろ「正規表現でやるな!」と言える回答者になって下さい
447(1): 413 05/09(土)07:34 ID:ELyObXm1(1/2) AAS
今確認したらVisual Studioの正規表現"."に改行に含まれなかったので帝政
448(1): 05/09(土)09:09 ID:sWrfC/g9(2/2) AAS
android studioで試しましたが同様でした
"."は改行にはマッチせずでしたが代替として[\s\S]を
使えば複数行のマッチに成功しました
ただし円記号とバックスラッシュは別文字扱いなので注意が必要です
私なら>>408の方法ではなく>>410を修正して使うでしょう
449(1): 05/09(土)09:50 ID:VgQE41DB(1) AAS
410の上の方法で連結した場合
単純に(.*)ではダメな点に注意(.に置換した文字が含まれるため複数行がキャッチされる場合が出てくる)
450: 413 05/09(土)10:51 ID:ELyObXm1(2/2) AAS
>>447 の「改行に」を「改行が」、「帝政」を「訂正」に、それぞれ訂正
>>448
macOSのX codeとAndroid Studioはフラグ設定"(?s)"で"."を改行"\n"にマッチできるけど、非強欲マッチungreedyフラグ設定"(?U)"は無理だった
pcre2やre2そのままならungreedyにも対応しているはずなんけど。。。
macOSのVisual Studio Codeはフラグ指定そのものが使えない
WindowsのVisual Studioはフラグ設定"(?s)"で"."を改行"\n"にマッチできるのに"\r"にマッチしない謎仕様だったわ
451: 05/10(日)10:57 ID:iEm9a63w(1/2) AAS
>WindowsのVisual Studioの"r"
面白いですね、どんな事情があったのか気になります
>"(?U)"
これ、初めて見ました
このようなマイナーな機能は知らない人が多いので
混乱の原因になりやすいためあまり使わないように
しようという暗黙のルールがあったりします
452: 05/10(日)15:36 ID:iEm9a63w(2/2) AAS
同じ理由で"(?s)."より"[\s\S]"が使われるから"\r"の問題が
実用上は問題にならないと判断されたのかも知れませんね
453: 410 05/10(日)16:22 ID:Bn3N3I/I(1) AAS
悔しくて荒らしてしまいました
454: 05/14(木)13:13 ID:SsMn8/y0(1) AAS
>>449
>410の上の方法で連結した場合
>単純に(.*)ではダメな点に注意(.に置換した文字が含まれるため複数行がキャッチされる場合が出てくる)
何が言いたいのか分からない、上の方法と書いてるのに(.*)が出てくるし
".に置換した文字が含まれる"の状況もよく分からない
455(1): 05/14(木)13:44 ID:TEbsF9lW(1) AAS
gdgd能書きはいいからコピペして実際に動く正規表現を貼れ
貼れないなら荒らすなゲェジ共
456(1): 05/15(金)10:34 ID:jDd3RQZH(1/2) AAS
>>455
>>410の下の正規表現を試しにプログラムに突っ込んで動かしてみたら
期待通りの処理をしてくれましたよ
あなたは何に対して怒ってるのか意味不明です
>>410の正規表現に問題があると言うならそれを指摘しましょう
「ここがダメだからこう直すべきだ」と一言言えば済む話です
457: 05/15(金)14:16 ID:ZxBZz0IU(1) AAS
>>456
それが本当であれば期待通りの処理をしたという証拠を出しましょう
出せなけれな貴方は嘘つきです
もちろん条件は>>407です
置換前:^(.*)\r\n(.*)\r\n(.*)\r\n\r\n
置換後:$1\t$2\t$3\r\n
正規表現:bregoing.dll Ver.4.20 with Onigmo 6.2.0
サクラエディタ:Ver. 2.4.2.6048
458: 05/15(金)14:45 ID:jDd3RQZH(2/2) AAS
あなたが問題点を指摘出来ない理由が分かりません
問題点があるなら早く書いて下さい
小学生相手に逃げたいならご自由に
459: 05/16(土)06:11 ID:dLJKRrTZ(1/4) AAS
逃げましたね
クソだのダメだの言っておいて問題点を指摘出来ないなんてダサいにも程があります
問題点を指摘出来ないなら>>410に謝るのが筋だと思いますが出来ますか?
また逃げたいならご自由に
460: 05/16(土)09:30 ID:/CgggpFu(1/3) AAS
まずは>>410自身が>>410で動作する証拠動画を出す必要があります
話はそれからです
それが筋です
461: 05/16(土)11:04 ID:/5X7//tn(1) AAS
まずは自信満々で疑問を呈する側から先にその根拠を示すのが常識であるが
容易いことであろうそれをサッサと示さずに何かと理由を付けては拒否してる意味がわからん
462: 05/16(土)14:29 ID:dLJKRrTZ(2/4) AAS
可哀想なのでそろそろ許してあげますか
正規表現が動く証拠が"動画"なのはなかなか面白いギャグでしたよ
称号 「小学生から逃げ切った男」を獲得しました
おめでとう
463: 小学生@410 05/16(土)14:35 ID:/CgggpFu(2/3) AAS
410は動きません
間違いです
すみませんでした
464: 05/16(土)14:44 ID:dLJKRrTZ(3/4) AAS
>間違いです すみませんでした
うん、許してやる
465: 05/16(土)17:29 ID:dLJKRrTZ(4/4) AAS
>>410を叩きたいなら下でなく上を叩くべきでした
上は>>408の劣化版と言って良いです
ダミー文字列を\tとして良いことは質問内容から判断出来ます
この違いにより>>410の上は手順が1つ増えています
下はプロでもツッコミを入れるのは容易ではないでしょう
ただの空行の連続にもマッチしてしまう問題や
改行コードを\r\nで決め打ちしている点を突くと良いですが
どちらも言い訳可能であるため論破するのは難しいでしょう
プログラミングの素人には勝ち目がありません、残念でしたね
466: 05/16(土)22:47 ID:/CgggpFu(3/3) AAS
>>410は私ではなくID:dLJKRrTZです
467: 05/16(土)23:21 ID:s+ahQy5v(1) AAS
そして>>411はわたしです
468: 05/17(日)15:42 ID:/GdzKT3f(1) AAS
わたしは>>436です
正規表現の知識はまったくありません
AIに聞いて回答してました
469: 05/18(月)14:38 ID:FIgcoQMd(1) AAS
>>427
第二の回答者は>>409です
質問者は初めからAIに質問すれば良かったのです
唯一まともな回答は>>409です
アップデートして下さい
470: 05/21(木)20:15 ID:8g1yKFDE(1) AAS
誰が誰なのか
471: 05/21(木)21:14 ID:tXRV1A0H(1) AAS
J( 'ー`)し「全部わたしだよ」
472: 05/22(金)00:00 ID:RKg/C8Kx(1) AAS
デウス…!
473: 05/22(金)07:21 ID:lj9rXATn(1) AAS
ちょっとパソコンやスマホを使いこなせるようになっただけで
勘違いして上級者気取りしてしまうアホが定期的にわく板
クリーネ閉包なんて聞いたこともないだろう
ここは学区最上位クラスの秀才がうじゃうじゃいる板だ
半端な知識と幼稚園児レベルのメンタルで来ても恥をかくだけ
さて、今日もチューリング機械で田植えしないと
474: 05/22(金)13:04 ID:h1O+4dQh(1) AAS
うむ、植毛の季節だ
475: 05/22(金)13:19 ID:gOmbP4hz(1) AAS
文字列に対する正規表現結果を使ったハイライト表示を自分で実装するのは意外と楽しい
476: 05/24(日)19:20 ID:avyHEBhm(1) AAS
プログラム言語用のハイライトは重くなりやすい
動作の軽い正規表現の作り方を知らない人が作ると重くなりやすい
アプリの評判にまで関わるからアプリ作者は重視すべき
477(2): 06/05(金)07:39 ID:l0w9Pe0T(1) AAS
Coreutils for Windowsに付属するgrepは正規表現ライブラリとしてpcre2ではなくOnigurumaを使ってるみたいだね
PowerShell上で grep -P -e "\p{sc:han}" aaa と入力実行したら、以下のエラー文字列が返ってきた
grep.cmd: invalid pattern "\p{sc:han}": Oniguruma error: invalid character property name {sc:han}
grepをRustで実装しなおしてるみたいだけど、「Known Issues」にも「Performances need to be improved」と書かれているとおり処理速度は遅い
巨大テキストファイルに対して"\p{han}"で漢字を探す速度テストをしたらCoreutilsのgrepはripgrepよりも5倍弱遅かった
ripgrepもRust使っているから改善の余地はまだまだありそう
以下は、Coreutilsと付属grepのgitレポジトリ
Coreutils for Windows
外部リンク:github.com
省2
478: 06/06(土)10:45 ID:Oa2waA8Q(1/2) AAS
速度比較面白そうだけどwindows環境が無かった
479(1): 06/06(土)12:50 ID:avhJY7dK(1) AAS
>>477
ripgrepはデフォルトで並列処理だから速いのは当たり前
比較対象が間違ってる
480: 06/06(土)13:47 ID:A4Gfe8Wl(1/2) AAS
>>477
そのポート、Pオプションって指定してるのにPCRE(2)使ってないと互換性に問題が出るな
481: 06/06(土)14:56 ID:SQIW+QID(1/4) AAS
>>479
600MB超の単体ファイルでテストしただけからripgrepはわざわざ並列処理を使ってないはず
Coreutilsのgrepは"武田"などの固定文字列だとripgrepと同じくらい速かったから、
正規表現ライブラリの性能に大きく依存してそうな感じがする
482: 06/06(土)15:31 ID:A4Gfe8Wl(2/2) AAS
自分もregexエンジン律速だと思うけど
ioの差があるのか確かめたかったら
どちらも高速なripgrepとugrepでPオプションを付けて計測するかな
483(2): 06/06(土)20:27 ID:SQIW+QID(2/4) AAS
以下の日本語Wikipediaテキストbz2書庫を展開すると19725892117バイト、266676659行になる
外部リンク[bz2]:dumps.wikimedia.org
Coreutilsのwc -lコマンドでテキストファイルjawiki-pages-articles.xmlの行数を計算したところ、所要時間は約3.5秒となった
& 'C:\Program Files\coreutils\cmd\wc.cmd' -l 'jawiki-pages-articles.xml' -> 3.5457081s
以下のようにPowerShellでコマンド引数を$paramsで渡すものとした。
$params=('-ic', '-e', '^', 'jawiki-pages-articles.xml');
windows git版grep, chocolatey版rg, chocolatey版ugrep, pcre2をMSVC2026でビルドしたpcre2grepでそれぞれ計測した。
各実行バイナリの所要時間は以下の通り。
& 'C:\Program Files\coreutils\cmd\grep.cmd' -a -P @params -> 31.2892649s
&"C:\Program Files\Git\usr\bin\grep.exe" -a -P @params -> 16.4189897s
省7
484: 483 06/06(土)20:44 ID:SQIW+QID(3/4) AAS
なお、PowerShellには既定で見やすい計時コマンドがないので以下に、独自timeコマンドを用意した
function time($block) {
$sw = [Diagnostics.Stopwatch]::StartNew()
& $block
$sw.Stop()
Write-Host("$($PSStyle.Italic)$($PSStyle.Foreground.Yellow){0,-24}$($PSStyle.ItalicOff)$($PSStyle.Foreground.BrightGreen)`t{1}$($PSStyle.Foreground.Cyan)s$($PSStyle.Reset)" -f $block, $($sw.Elapsed.TotalSeconds))
}
timeコマンドの実行例は以下の通り
> time { grep -acPi '武田' .\jawiki-pages-articles.xml }
実行結果例は以下の通り。
省4
485: 483 06/06(土)20:50 ID:SQIW+QID(4/4) AAS
訂正。"武田"を検索する所要時間は21秒ほどではなく19秒ほど。なんどかやってみたが2秒程度の誤差は普通に出るっぽい。
使ったCPUは、Intel Core Ultra 7 265K。
486: 06/06(土)22:52 ID:Oa2waA8Q(2/2) AAS
マッチする回数が多いと遅くなると仮定すると"武田"より"鈴木"は遅くなるはず
487: 06/08(月)07:00 ID:iZR3lOJN(1) AAS
正規表現ゴリ押し部
外部リンク:wbsb.dev
488: 06/14(日)09:22 ID:CULM30OO(1) AAS
ugrepはギガサイズの潤沢なメモリを使える今時のPCに最適化されてて良いね
巨大単体ファイルを検索するとugrepがripgrepよりも2倍以上速いのは、単体ファイル検索までもがマルチスレッド化されているからだろう
489(4): 06/18(木)14:21 ID:2N0+Im+D(1/3) AAS
●Regular Expressionの使用環境
JavaScript
※実際はbregonig.dll Ver.4.20 with Onigmo 6.2.0ですが、
極力、高度な正規表現は使わない表現で検索したいです
●検索か置換か?
検索
●説明
5chの縦書きに一致する正規表現を知りたい
●対象データ
URL先のResult:欄を参照
省8
490: 489 06/18(木)14:26 ID:2N0+Im+D(2/3) AAS
すみません、補足です
●希望の補足
前後途中の全角半角空白は無視して1行に1文字(数値参照含む)の行が3回以上繰り返された場合を検索したいです
●こういうのを検索したいです
あ
い
う
え
お
491: 06/18(木)14:40 ID:OZ+7dDz1(1) AAS
正規表現は数値参照を一文字として認識できないので、プログラミング言語を使うべき
492(2): 06/18(木)22:25 ID:jDQmweOk(1) AAS
>>489
(?:<> |<br>)(?:[ ]*(?:[0-9]+;|[^ <])[ ]*(?:<br>|<>$)){3}
許されるなら(?:は(?>に、*は*+にした方が良いと思う
493: 489 06/18(木)22:51 ID:2N0+Im+D(3/3) AAS
>>492
早速回答していただきどうもありがとうございました
おかげさまで無事に検索(NG)にできるようになりました
非常に困っていたのでとても助かりました
ありがとうございました
494: 06/19(金)02:35 ID:VhMHdvhg(1) AAS
なるほど
495: 06/19(金)05:01 ID:FA6Zk3fx(1) AAS
dat(対象データ)の本文部分にマッチとdatの本文部分(対象データ)にマッチじゃ意味が違うだろう
496: 489 06/19(金)11:01 ID:mUdQS15D(1) AAS
>>492
度々すみません。
1文字に一致という部分の正規表現はどこが該当しているのでしょうか?
497: 06/21(日)18:03 ID:vVSezueH(1) AAS
>1文字に一致という部分の正規表現はどこが該当しているのでしょうか?
この質問を正規表現と一緒にしてAIに聞いてみて下さい
AIと正規表現は相性が良いので詳しく教えてくれますよ
また、正規表現の一部をカッコ ( ) で囲うとその部分に
マッチした文字列をキャプチャ出来ます
置換欄に $1 や $2 を使ってキャプチャした文字列を出力させれば
カッコで囲った部分が何にマッチしたのかを自分で確認出来ますよ
498: 489 (ワッチョイ cf1d-RTsw) 06/21(日)19:37 ID:4vj8o4XC0(1) AAS
次スレはワッチョイ入れたいですね
499: 06/22(月)22:23 ID:4FApmS+j(1) AAS
いりません
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.295s*