[表示 : 全て 最新50 1-99 101- 201- 301- 2ch.scのread.cgiへ]
Update time : 01/09 00:31 / Filesize : 90 KB / Number-of Response : 369
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Regular Expression(正規表現) Part17



1 名前:デフォルトの名無しさん [2023/12/16(土) 08:59:20.50 ID:uVHZ7e2j.net]
Regular Expressionスレです。

質問する場合は必ず実装言語や処理系ソフトウェア名を示してください。

前スレ
Regular Expression(正規表現) Part16
https://mevius.5ch.net/test/read.cgi/tech/1635936601/

次スレは>>980宜しく
テンプレ>>2以降

2 名前:デフォルトの名無しさん [2023/12/16(土) 08:59:57.66 ID:uVHZ7e2j.net]
スルーされにくい質問のテンプレと例

●Regular Expressionの使用環境
Java1.5

●検索か置換か?
検索

●説明
各行の1番目のAまでを検索したい

●対象データ
ABCA
BCAA
CABA

●希望する結果
ABCA
^
BCAA
^^^
CABA
^^

※ ^ はアンダーラインだそうな ^^;

3 名前:デフォルトの名無しさん [2023/12/16(土) 09:00:18.14 ID:uVHZ7e2j.net]
◆関連サイト
正規表現メモ
www.kt.rim.or.jp/~kbk/regex/regex.html
Perl正規表現雑技
www.din.or.jp/~ohzaki/regex.htm

詳説 正規表現
www.oreilly.co.jp/books/9784873113593/
正規表現クックブック
www.oreilly.co.jp/books/9784873114507/

正規表現プログラミングFAQ
capslockabcjp.kitunebi.com/faq.html
.NET Framework の正規表現 | Microsoft Docs
https://docs.microsoft.com/ja-jp/dotnet/standard/base-types/regular-expressions
正規表現 - JavaScript | MDN
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Regular_Expressions
鬼車
https://github.com/kkos/oniguruma
鬼雲
https://github.com/k-takata/Onigmo
bregonig.dll(鬼雲の正規表現をサクラエディタ等で使用するためのライブラリ)
k-takata.o.oo7.jp/mysoft/bregonig.html
Boost.Regex 1.45.0 (日本語訳)
alpha.sourceforge.jp/devel/boost.regex_ja_1_45_0.pdf

秀丸: 複数行にまたがる検索について
homepage2.nifty.com/jr-kun/hidemaru_qa/4_regulr.html#RETURNS

サクラエディタ: 改行
d.hatena.ne.jp/myokoym/20101219/1292779058
※ サクラエディタでは複数行に渡る検索・置換は出来ません。

4 名前:デフォルトの名無しさん [2023/12/16(土) 09:00:38.18 ID:uVHZ7e2j.net]
正規表現技術入門
https://gihyo.jp/book/2015/978-4-7741-7270-5

↑の著者の一人であり Onigmo(鬼雲)やbregonig.dll の作者でもあるtakata先生のツイとQiitaの記事
https://twitter.com/k_takata

鬼雲に非包含オペレータを実装した話
https://qiita.com/k-takata/items/4e45121081c83d3d5bfd
(deleted an unsolicited ad)

5 名前:デフォルトの名無しさん mailto:sage [2023/12/16(土) 17:18:36.20 ID:ZkpISsx+.net]
>>1 乙 前スレ消化するのに2年かかってるから次スレは2025年末か

6 名前:デフォルトの名無しさん mailto:sage [2023/12/16(土) 19:02:49.70 ID:UfR4i5aB.net]
MSの.NETとMDNのJSの説明はよいけど
Perlはperlreを載せるべきじゃ

7 名前:デフォルトの名無しさん mailto:sage [2023/12/16(土) 21:11:50.18 ID:ZkpISsx+.net]
正規表現スレのテンプレにperl公式が無かったのかw

詳説 正規表現ももうだいぶ古い
近頃の正規表現エンジンが進化しすぎてもう本に全部まとめられないよね
perlの正規表現の解説だけで1冊分になってしまいそう

>スルーされにくい質問のテンプレと例

いつもスルーしてる

8 名前:デフォルトの名無しさん mailto:sage [2023/12/17(日) 02:07:16.68 ID:OHxpVvei.net]
>非包含オペレータ
これ包茎オペに空目するからやめたほうがいいとおもう

9 名前:デフォルトの名無しさん mailto:sage [2023/12/17(日) 07:18:27.92 ID:FEe4n35c.net]
俺すげぇ面白い事思い付いたわ
天才じゃね?
って深夜に思い付いちゃったんだろうな
異世界転生モノ好きそう

10 名前:デフォルトの名無しさん [2023/12/17(日) 10:40:09.52 ID:KG6/TFz3.net]
俺も思ったけど書き込まなかった
「包茎」「空目」「深夜」どこにもかかってないんだが
>9 は異世界転生モノに親でも殺されたのか流行り物が嫌いなだけなのか



11 名前:デフォルトの名無しさん mailto:sage [2023/12/17(日) 11:33:01.98 ID:lxaANove.net]
池沼お気に入りの言い回し:親でも殺された

12 名前:デフォルトの名無しさん mailto:sage [2023/12/17(日) 11:52:23.27 ID:uskvVvSC.net]
どっちの方が気持ちわるいかと言えば
俺は>>9に一票

もちろん>>9 vs >>10

13 名前:デフォルトの名無しさん mailto:sage [2023/12/17(日) 12:06:59.79 ID:3hsIyhlE.net]
まあ>>9は場違いだな

14 名前:デフォルトの名無しさん mailto:sage [2023/12/17(日) 13:08:14.11 ID:hPnGIyzU.net]
美少女だから無罪で

15 名前:デフォルトの名無しさん mailto:sage [2023/12/17(日) 16:47:12.08 ID:C55sNZf7.net]
以下のあぼーん用正規表現を教えて下さい

文字列3文字
文字列5文字
(空白改行)
文字列3文字

よろしくお願い致します

16 名前:デフォルトの名無しさん mailto:sage [2023/12/17(日) 22:44:10.33 ID:WFgQcr7d.net]
文字列3文字が固有の3文字なのか任意の3文字なのかがわからん
空白と空は意味がちがうから空白改行もどうとらえていいかわからん
そういう厳格さがないと正規表現は使い切れない

17 名前:デフォルトの名無しさん mailto:sage [2023/12/17(日) 23:44:06.80 ID:6Rk7Y10s.net]
^ \S{3} <br> \S{5} <br> +<br> \S{3} $

18 名前:デフォルトの名無しさん mailto:sage [2023/12/18(月) 00:25:33.88 ID:gHmacq4F.net]
>>16-17
某板に荒らしが発生しているので
荒らしレスの冒頭の
─────────────────────
>>1
岡村ほまれ

可愛い
─────────────────────をあぼーんワードにしたいのです
よろしくお願い致します

19 名前:デフォルトの名無しさん mailto:sage [2023/12/18(月) 00:54:45.24 ID:zFl9jE+m.net]
情報を小出し後出しにするやつってうざいよな
もう遅いけど使用環境を最初に示すべきだった

20 名前:デフォルトの名無しさん mailto:sage [2023/12/18(月) 10:40:38.35 ID:pykETp8J.net]
改行の扱いは専ブラによって違うということを知っておこう
<br>だったり\sだったりする



21 名前:デフォルトの名無しさん mailto:sage [2023/12/18(月) 11:17:13.95 ID:6u0hXPC3.net]
(?><[bB][rR]>|\r\n|[\r\n])

22 名前:デフォルトの名無しさん mailto:sage [2023/12/19(火) 17:06:05.93 ID:97fwYV9l.net]
モ娘(狼)板に涌いている荒らし

https://kizuna.5ch.net/test/read.cgi/morningcoffee/1702957612/4-7

23 名前:デフォルトの名無しさん mailto:sage [2023/12/20(水) 09:54:40.16 ID:HDpQovyo.net]
UPLIFT プレミアム・サービスのお知らせ

https://uplift.5ch.net/

UPLIFT 主な特典
・連続投稿の規制を緩和します。
・スレッド作成時の規制を緩和します。
・5ch.netのスレッド表示画面に表示される広告を除去します。
・5ch.net専用ブラウザで5ch.netの過去ログを閲覧できるようになります。
・海外からのアクセス・ホスト経由からでも書き込みができるようになります。
・書き込みが規制されているプロバイダーからでも書き込みができるようになります。
・5ch.netを安定して利用できるように運営を支援できます。

5ちゃんねるを存続させるためには、皆様のご協力が必要です。

最後まで御精読いただきありがとうございました。

24 名前:デフォルトの名無しさん mailto:sage [2023/12/20(水) 13:16:05.38 ID:kMNBqppc.net]
他は無料で良いサービス提供出来てるのに金払えは甘え
5ch運営が殿様商売で無策だったツケが回って来てるだけの自業自得だから、5chなんか潰れちまえ
取り敢えずNG突っ込んだわ

25 名前:デフォルトの名無しさん mailto:sage [2023/12/20(水) 19:23:53.60 ID:owPAm/QX.net]
このスレも役目を終えつつあるね、今時の子はこんなところには来ないと思う
yahoo掲示板にでも行ってるのかな

26 名前:デフォルトの名無しさん mailto:sage [2023/12/20(水) 21:03:08.80 ID:lnEIVk9M.net]
ChatGPTとかのAIでしょ
Yahoo掲示板こそジジイしか居ないイメージだわ

27 名前:デフォルトの名無しさん mailto:sage [2023/12/20(水) 23:05:30.95 ID:owPAm/QX.net]
そか、AIに作ってもらえるならクレクレする必要もないね、いいことだ

28 名前:デフォルトの名無しさん mailto:sage [2023/12/20(水) 23:36:14.45 ID:z/5Qp7sj.net]
そして「ChatGPTでXXをやってみたいんですがうまくいきません、どうしたら」というクレクレ質問が大量発生

29 名前:デフォルトの名無しさん mailto:sage [2023/12/20(水) 23:46:12.22 ID:owPAm/QX.net]
私もそのクレクレになりそうw

30 名前:デフォルトの名無しさん mailto:sage [2023/12/22(金) 12:31:09.65 ID:ivJ9ZoTT.net]
あるプログラムのコーディングはすごく処理速度を意識してるのに
そのプログラムに使ってる正規表現はまったく効率を考えてない,というケースをよく見かける
正規表現をAIが作るようになれば改善されるかもね



31 名前:デフォルトの名無しさん mailto:sage [2023/12/22(金) 18:21:26.60 ID:55x+HPTI.net]
人「おいAI、お前が作った正規表現とてつもなく遅いじゃないか」
AI「はい、ヒトが解読しやすい方が良いと判断しました。速度の問題は時が経てばマシンの性能向上で解決しますが、ヒトの解読力の方は...」

32 名前:デフォルトの名無しさん mailto:sage [2023/12/23(土) 21:28:49.10 ID:jMjD4WOY.net]
> 速度の問題は時が経てばマシンの性能向上で解決しますが

海原雄山「このポンコツAIを作ったのは誰だー」

33 名前:デフォルトの名無しさん mailto:sage [2023/12/29(金) 19:40:02.08 ID:c5lsn96k.net]
話が高度過ぎて付いていけない

34 名前:デフォルトの名無しさん mailto:sage [2024/01/15(月) 07:25:04.51 ID:LwnsIRDe.net]
速い正規表現ってどういうこと?

35 名前:デフォルトの名無しさん mailto:sage [2024/01/15(月) 09:06:53.25 ID:ZT1xOGvJ.net]
ステップ数が小さい

36 名前:デフォルトの名無しさん mailto:sage [2024/01/15(月) 15:35:12.01 ID:VYSGEVd4.net]
正規表現とてつもなく遅い でグーグル検索しようぜ

37 名前:デフォルトの名無しさん mailto:sage [2024/01/15(月) 16:06:35.46 ID:UMjmkZMs.net]
俺にかかれば正規表現はいくらでも遅くなる
任せてくれ

38 名前:デフォルトの名無しさん mailto:sage [2024/01/31(水) 22:37:07.48 ID:jTCZHTVk.net]
.Netが正規表現エンジンを改良したと話には聞いてたけど
6年でこんなに変わるもんなんだな

      Language Email(ms) URI(ms) IP(ms) Total(ms)
2018年 C# .Net Core 1952.13  1681.00 111.32 3744.45
2024年 C# .Net Core   6.46    3.79  19.35  29.59
https://github.com/golang/go/issues/26623

39 名前:デフォルトの名無しさん mailto:sage [2024/01/31(水) 23:41:08.70 ID:O0N6A3M6.net]
>>38
.Net Core(現 .Net)ってそんな前からあったっけ?

40 名前:デフォルトの名無しさん mailto:sage [2024/02/01(木) 23:01:03.30 ID:YPnx34uD.net]
.NET Core 1.0は2016だからね



41 名前:デフォルトの名無しさん mailto:sage [2024/02/04(日) 19:04:14.97 ID:1hv2Rh8g.net]
案外歴史が長い!

42 名前:デフォルトの名無しさん mailto:sage [2024/02/04(日) 21:10:13.35 ID:GiV0zbjO.net]
旧エンジンにマシンパワーをどれだけ積んでもネットブックで動かす新エンジンに勝てなそう

43 名前:デフォルトの名無しさん [2024/02/04(日) 22:35:02.60 ID:FtEwRyHG.net]
それ同じ環境と条件で比較テストしてるわけじゃないから単純にエンジンの違いによる性能差じゃないからね

44 名前:デフォルトの名無しさん mailto:sage [2024/02/04(日) 23:23:40.51 ID:l8NY0XdM.net]
正規表現は昔からあるのに未だに進化するスピードが尋常じゃないのはすごいことだ
AIの登場でこれからどうなるのか想像付かない

45 名前:デフォルトの名無しさん mailto:sage [2024/02/05(月) 03:06:40.22 ID:UJ2m14qd.net]
正規表現はオートマトンに変換するだけだから
AIとは何の関係もないぞ

高速化もこれ以上は理論的にできないし
書き方で速さが違うのは当たり前

46 名前:sage mailto:sage [2024/02/05(月) 15:59:30.46 ID:6V7y69ze.net]
現代の正規表現エンジンは純粋なオートマトンだけで動いているわけではないよ

47 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 22:19:25.22 ID:2oHCpHj3.net]
例えをあげると以下の正規表現を使った検索では

[^a]+c[^b]+

まず"c"を検索して見つからなければマッチ失敗を返す
このときオートマトンは使用されないまま検索が終わる

これは実在する正規表現エンジンの動作ではなくあくまでイメージ
AIならもっと柔軟にこういう処理が出来るかも

48 名前:デフォルトの名無しさん mailto:sage [2024/03/18(月) 04:18:56.57 ID:LIfqFVfX.net]
そういう高速化はワイルドカードで
数パターンに分類してやったことはあるな

というわけで前段階で複数のワイルドカードをand/orでつなげた表記も受け付けるようにすれば
シンプルな分結構高速化できる

49 名前:デフォルトの名無しさん mailto:sage [2024/03/23(土) 22:54:40.43 ID:tYxC9w64.net]
ふむ。

50 名前:デフォルトの名無しさん mailto:sage [2024/03/24(日) 19:41:23.90 ID:aAFJLVlH.net]
正規表現って現実の何かで例えるなら何?
パズル?
言語学的な感じも数学的な感じもしないような



51 名前:デフォルトの名無しさん mailto:sage [2024/03/24(日) 23:03:04.96 ID:IO+c4sKO.net]
けんけんぱ

52 名前:デフォルトの名無しさん mailto:sage [2024/03/25(月) 00:12:28.47 ID:BW1at+9B.net]
ずいずいずっころばし

53 名前:デフォルトの名無しさん [2024/03/25(月) 17:12:10.55 ID:vkyh3m8T.net]
ますたーまいんど

54 名前:デフォルトの名無しさん mailto:sage [2024/03/28(木) 12:08:33.08 ID:Y8B9QCf2.net]
正規表現が $ と ^ をラインアンカーとして採用した理由 ソフトアンテナ
https://softantenna.com/blog/regex-line-anchors/

55 名前:デフォルトの名無しさん mailto:sage [2024/03/28(木) 23:34:35.78 ID:WoHbaWvj.net]
正規表現を初めて使ったのがken氏でOnigmoもken氏
そして現代で正規表現と言えばPerl

この3つの要素を合わせるとなんと>>51になる

56 名前:デフォルトの名無しさん mailto:sage [2024/03/30(土) 12:49:02.61 ID:oQnMbHXx.net]
すべった

57 名前:デフォルトの名無しさん mailto:sage [2024/03/31(日) 20:21:11.66 ID:R8UIIGRi.net]
認められてえらい

58 名前:デフォルトの名無しさん [2024/04/01(月) 17:41:25.33 ID:Jdw9gPZP.net]
つまりムトゥ神か

59 名前:デフォルトの名無しさん mailto:sage [2024/04/04(木) 02:49:29.95 ID:Bu2po2+x.net]
AAA _ BBB _ CCC _ DDD

BBB AAA
にする

60 名前:デフォルトの名無しさん mailto:sage [2024/04/04(木) 03:53:18.24 ID:X4Q29337.net]
使用環境メモ帳
☑正規表現を使うにチェック
検索するにAAA _ BBB _ CCC _DDD
置換にBBB AAA



61 名前:デフォルトの名無しさん mailto:sage [2024/04/04(木) 22:23:37.89 ID:sf62q9R2.net]
[A][A][A] _B{3,3} _ (C)(\1)\2 _[\x{44}][\x{44}][\x{44}]

62 名前:デフォルトの名無しさん mailto:sage [2024/04/23(火) 23:42:47.37 ID:f/wKo/xU.net]
チェックマークの絵文字かっこいい

63 名前:デフォルトの名無しさん [2024/04/28(日) 08:09:34.58 ID:bvIrnysh.net]
カ)ミツカン カカ)ミツカン
の単語の始まりにある「カ)」を取ってきたいのだが、
[カ\カユユ][)\)]
だと両方ヒットする。
\b[カ\カユユ][)\)]
だと両方ヒットしない。
\bて単語の始まりじゃないの?

64 名前:デフォルトの名無しさん mailto:sage [2024/04/28(日) 08:33:21.76 ID:cFVqBor9.net]
使ってるプログラミング言語は?

65 名前:デフォルトの名無しさん mailto:sage [2024/04/28(日) 08:43:14.02 ID:rlAkFFFr.net]
>>63
一般に正規表現の \b 及び \B の文脈における「単語」とは「\w+」のこと
「か」は単語ではないので、当然ながらその直前の位置(境界)に \b はマッチしない

66 名前:デフォルトの名無しさん mailto:sage [2024/04/28(日) 08:44:57.81 ID:w8Q1u9O5.net]
単語の境界の単語とは\wかどうか
先頭が\w、\wと\W(又は\Wと\w)の間、最後が\w
空白も括弧も全角文字も\wではなく、全てが\Wの連続なので境界がない

(?<=^|\s| )[カ\カユユ][)\)]
こんな感じかなあ?

67 名前:デフォルトの名無しさん mailto:sage [2024/04/28(日) 09:15:58.39 ID:w8Q1u9O5.net]
句読点(、。,.,.)があるならそれもか

68 名前:デフォルトの名無しさん mailto:sage [2024/04/28(日) 09:24:53.38 ID:b3SQbRRV.net]
https://regex101.com/r/HbkFb9/1

69 名前:デフォルトの名無しさん [2024/04/28(日) 10:39:11.02 ID:bvIrnysh.net]
>>66
サンクス。
正規表現チェッカーだとうまく行くが、VBAだとエラーする。
カカ)ミツカンていう会社名なんてないから諦めるわ。

70 名前:デフォルトの名無しさん mailto:sage [2024/05/01(水) 06:39:29.77 ID:QLRpEQs1.net]
=?UTF-8?Q?=F0=9F=91=BBIt's_Halloween_Sale_=E2=80=93_Time_To_Save!?=
=?UTF-8?Q?=F0=9F=91=BBIt's_Halloween_Sale_=E2=80=93_Time_To_Save!?=

quoted-printableを切り出すのは難しいな



71 名前:デフォルトの名無しさん mailto:sage [2024/05/01(水) 10:32:16.36 ID:G90j3Kau.net]
切り出しするのはMIMEパートで
中身はすべてQPだから難しくなさそうだけど罠がある?

72 名前:デフォルトの名無しさん [2024/05/25(土) 14:18:39.96 ID:5mKzxThb.net]
こんちゃ
flexible renamerで上のフォルダを検索して、そのフォルダ名をファイル名にしたいのですが、上のフォルダの検索方法はどうすればいいんでしょうか。

../
これでいけるとおもったんですが、文字列になるみたいです

73 名前:デフォルトの名無しさん mailto:sage [2024/05/25(土) 14:34:39.35 ID:GTAuICNX.net]
置換えを\fにするんでは
親フォルダなら\Fか

74 名前:デフォルトの名無しさん mailto:sage [2024/05/25(土) 14:37:23.14 ID:NyW0Hsfe.net]
置換については \F が親フォルダ名を示すメタ文字
「サポート▶」クリックで表示されるリストを確認するといい

75 名前:デフォルトの名無しさん [2024/05/25(土) 15:09:38.89 ID:5mKzxThb.net]
ありがとう(*´ω`*)解決ナリよ

76 名前:デフォルトの名無しさん [2024/05/25(土) 16:34:20.14 ID:5mKzxThb.net]
ところでwindowsで10の別名フォルダを同名にリネームして、中身を1つに統合みたいなことは出来ないのでしょうか?

77 名前:デフォルトの名無しさん mailto:sage [2024/05/25(土) 17:54:07.45 ID:+J5I1fk8.net]
スレチ

78 名前:デフォルトの名無しさん mailto:sage [2024/05/25(土) 18:00:34.05 ID:o9ml7dor.net]
>>76
バッチでも書きゃいいだろ

79 名前:デフォルトの名無しさん [2024/05/25(土) 18:15:50.33 ID:5mKzxThb.net]
はい

80 名前:デフォルトの名無しさん mailto:sage [2024/05/25(土) 20:23:33.14 ID:Roch7C/E.net]
windows ntfs union
で調べたらわかるけど困難
Linux上で実現させてそこへアクセスが単純かな



81 名前:デフォルトの名無しさん [2024/05/27(月) 00:15:11.27 ID:3w+qnBSP.net]
一旦同名フォルダ作って全部ぶっ込んで統合先の親に移動するだけだろ
誰もunionfsごっこやりたいとか言ってないぞ

82 名前:デフォルトの名無しさん mailto:sage [2024/05/29(水) 18:58:45.90 ID:uKjwQH9U.net]
生気表現 ('A`)
性器表現 ((i))  くコ:彡
どれがいい?

83 名前:デフォルトの名無しさん mailto:sage [2024/05/30(木) 19:54:12.15 ID:BiQuU9Dh.net]
何がregularなのかいまだにわからん

84 名前:デフォルトの名無しさん mailto:sage [2024/05/31(金) 02:22:57.15 ID:8gCpYzBa.net]
たまには英語の辞書を開いてあげろ

85 名前:デフォルトの名無しさん mailto:sage [2024/05/31(金) 21:42:18.07 ID:TouRjKKE.net]
レギュラーコーヒーのレギュラーって何って質問しても満足な回答得られないから今度やってみ

86 名前:デフォルトの名無しさん mailto:sage [2024/06/01(土) 15:29:35.29 ID:AnvSsNLo.net]
非正規コーヒー

87 名前:デフォルトの名無しさん mailto:sage [2024/06/01(土) 17:45:51.25 ID:zLTUouUC.net]
レギュラーコーヒーのレギュラーはnormalとかordinaryの意味でのレギュラー
インスタントコーヒーと区別するために作られた日本語

regular expressionのregularは「規定されたルールに従った」という意味でのレギュラー
形式言語理論からの用語

88 名前:デフォルトの名無しさん mailto:sage [2024/06/01(土) 18:52:55.00 ID:4ZWo8ROd.net]
>>87
>>インスタントコーヒーと区別するために作られた日本語

いわゆる「レトロニム」ってやつだね

89 名前:デフォルトの名無しさん mailto:sage [2024/06/02(日) 06:26:43.62 ID:j0fRNfQ2.net]
正規表現のregularはレギュレーション的な意味?

そしてコーヒーそうだったのか
普通の王道の味のコーヒーって意味だと思ってたwww

90 名前:デフォルトの名無しさん mailto:sage [2024/06/03(月) 02:03:28.38 ID:YPamPwdM.net]
英和だけじゃなく英英も調べるようにしたほうがいいよ



91 名前:デフォルトの名無しさん mailto:sage [2024/06/03(月) 19:56:37.73 ID:PWp7k61t.net]
>>87
形式言語理論だと正則表現と訳すことの方が多いらしい

92 名前:デフォルトの名無しさん mailto:sage [2024/06/05(水) 15:42:09.20 ID:kJJy3o9y.net]
セーソク表現か…

93 名前:デフォルトの名無しさん mailto:sage [2024/06/06(木) 14:37:37.38 ID:E3zmVJgl.net]
>>89
コーヒーソーダは違います

94 名前:デフォルトの名無しさん [2024/06/18(火) 14:11:57.80 ID:pzzAto97.net]
質問させてください

# h1
## h2
こういった構造なのですが、h2のタブ(上の例では半角スペースにしてます)を除いた箇所だけマッチさせたいです
# .*
## .*
1つ目をh1用、2つ目をh2用としてマッチさせたいのですが、これだと1つ目がh2の後半部分にもマッチしてしまいます。
対策はあるでしょうか

95 名前:デフォルトの名無しさん mailto:sage [2024/06/18(火) 14:59:50.56 ID:J2T1cvE/.net]
2つ目を1つ目にして
1つ目を2つ目にする

96 名前:デフォルトの名無しさん [2024/06/18(火) 15:10:51.31 ID:pzzAto97.net]
すみません
どういうことでしょうか。

97 名前:デフォルトの名無しさん mailto:sage [2024/06/18(火) 15:21:22.31 ID:TPDReXqh.net]
後読みが使える環境なら
(?!#)# .*

98 名前:デフォルトの名無しさん mailto:sage [2024/06/18(火) 15:22:52.25 ID:TPDReXqh.net]
^# .*で問題ないのか

99 名前:デフォルトの名無しさん [2024/06/18(火) 17:57:12.95 ID:pzzAto97.net]
試したところ、後読みというは使えない環境のようでした
meryというテキストエディタです

100 名前:デフォルトの名無しさん [2024/06/18(火) 17:58:50.33 ID:pzzAto97.net]
そっちのスレで聞いてみますね



101 名前:デフォルトの名無しさん mailto:sage [2024/06/18(火) 20:25:18.67 ID:kkbo/g2D.net]
FindOnig

102 名前:デフォルトの名無しさん mailto:sage [2024/07/09(火) 03:18:21.56 ID:pEcdZJzG.net]
re2のレポジトリに、ずっとコード書いてきた人を追悼するissueが立ってるけど
いたずらじゃなく本当だとしたら今後どうするんだろ
正規表現エンジンの設計ってわりと専門性高めで後任を見つけるのも簡単ではなさそうだけど

103 名前:デフォルトの名無しさん mailto:sage [2024/07/10(水) 22:30:27.80 ID:gmanX3ar.net]
You! Google 入っちゃいなよ!

104 名前:デフォルトの名無しさん mailto:sage [2024/07/14(日) 06:46:47.39 ID:wEMWtxb4.net]
これ以上仕様ごちゃごちゃ追加しても
使いこなせる人1%もいないから放置でいいよ

105 名前:デフォルトの名無しさん mailto:sage [2024/07/15(月) 14:02:14.21 ID:glISuHIA.net]
お前がこなすんだよ!

106 名前:デフォルトの名無しさん mailto:sage [2024/07/16(火) 09:13:43.60 ID:dYW+o1n8.net]
お前がこなたなんだよ!

107 名前:デフォルトの名無しさん mailto:sage [2024/07/17(水) 20:43:28.55 ID:F5hkyutw.net]
Googleのre2とIntelのhyperscanは他の色んな正規表現エンジンを過去のものにした

108 名前:デフォルトの名無しさん mailto:sage [2024/07/20(土) 05:52:51.61 ID:/niJ3Ici.net]
高速な正規表現エンジンを求める人が遅い正規表現を作って使ってたりする
正規表現エンジン作者はユーザーのアップデートもしたいだろうな

109 名前:デフォルトの名無しさん mailto:sage [2024/07/22(月) 03:43:13.27 ID:qSKgOXFg.net]
そういうのはエディタの仕事だ
ビジュアライザー付き正規表現ダイアログボックスで
ミスなく正規表現を入力したらAIが改善を指摘すればよし

110 名前:デフォルトの名無しさん mailto:sage [2024/07/22(月) 15:45:56.06 ID:L5BeUc31.net]
正規表現を作るのが下手な人は書き始める前のアルゴリズム作成の段階で
おかしくなってる場合も多い それ含め全部AIがやってくれるのが理想だ



111 名前:デフォルトの名無しさん mailto:sage [2024/07/22(月) 15:48:23.43 ID:65P6Lbbe.net]
場合抜けしてる勘違いぎみの式だけを見たって
本来の意図が何だったのかAIじゃなくて人間でもわからん場合もあるよね

112 名前:デフォルトの名無しさん mailto:sage [2024/07/22(月) 17:18:51.25 ID:JYnS/4wE.net]
正規表現だけみせても最適化しかできないだろうから
周辺のコードも与えて関数レベルで出力してもらうのが適当かもね

113 名前:デフォルトの名無しさん mailto:sage [2024/07/23(火) 19:28:10.50 ID:Dt1Z//LV.net]
AIに抽出してもらえば正規表現いらないじゃん

114 名前:デフォルトの名無しさん mailto:sage [2024/07/29(月) 23:15:46.44 ID:rj9tTr/V.net]
●Regular Expressionの使用環境
JaneXeno

●検索か置換か?
検索

●説明
.com .net .jp 以外のドメインを含むURLをNGにしたい

●対象データ
example.com
example.net
example.jp
example.cn
example.xyz
https://example.com
https://example.net
https://example.jp
https://example.cn
https://example.xyz

●希望する結果
example.cn
example.xyz
https://example.cn
https://example.xyz

115 名前:デフォルトの名無しさん mailto:sage [2024/07/30(火) 15:30:31.34 ID:QttCMg3R.net]
>>114
https?+://(?:[!-~&&[^./"()<>]]++\.)++(?!com|net|jp)(?>[a-z]{2,10})(?::(?>[0-9]{2,5}))?+(?>[/?#]|(?![!-~&&[^"()<>]]))

116 名前:114 mailto:sage [2024/07/30(火) 16:01:05.48 ID:DGOcYJSo.net]
>>115
神様、マジありがとうございました

117 名前:デフォルトの名無しさん mailto:sage [2024/08/04(日) 11:21:08.46 ID:H8uHYzPU.net]
(?>[/?#]|(?![!-~&&[^"()<>]]))

これは先読み否定1つにまとめられる

(?!com|net|jp)

これはcomeやjpgも弾いてしまう

どちらも実用上は問題ない
前者は頭の体操にはちょうどいい難易度

118 名前:114 mailto:sage [2024/08/04(日) 11:54:05.49 ID:katRHk63.net]
>>117
ちょっと何言ってるか分からない

119 名前:デフォルトの名無しさん [2024/08/04(日) 12:37:10.85 ID:5uZlH5sT.net]
アーガスで一番右に行ってから着陸しろって意味じゃね?

120 名前:デフォルトの名無しさん mailto:age [2024/08/20(火) 21:50:27.06 ID:KT2/xy/p.net]
●Regular Expressionの使用環境
JaneXeno

●検索か置換か?
検索

●説明
ageとsageと空欄以外の文字列が含まれる場合を検出したいです

よろしくおねがいします



121 名前:デフォルトの名無しさん mailto:sage [2024/08/21(水) 06:42:43.17 ID:7ZTrDQRo.net]
メール欄を検索対象にしたレス抽出ってこと?
\A(?!s?age$)

122 名前:デフォルトの名無しさん mailto:age [2024/08/21(水) 08:39:25.39 ID:mGvismew.net]
>>121
ありがとうございます
メール欄がageとsageと空欄を除き、それ以外をNGにしたいです

123 名前:120 mailto:age [2024/08/22(木) 07:25:48.82 ID:mXgFFjHI.net]
>>121
その正規表現だと全てNGになってしまいました・・・

124 名前:デフォルトの名無しさん mailto:sage [2024/08/22(木) 07:36:11.31 ID:Lj1UZYEn.net]
>>123
ぜんぜんユーザじゃないけどbregonig.dll導入で解決しそう

125 名前:デフォルトの名無しさん mailto:sage [2024/08/22(木) 09:04:27.38 ID:NijHRpmx.net]
^(?!age$|sage$|$).+

126 名前:デフォルトの名無しさん mailto:sage [2024/08/22(木) 09:05:35.42 ID:knLF+ZG1.net]
>>123
(^s?age$|^$)は?
サンプルがないからよくわからんけど構造によっては空欄がムズイ気がする

127 名前:デフォルトの名無しさん mailto:sage [2024/08/22(木) 09:53:46.14 ID:od4YjwYP.net]
明らかにソフトのスレで聞いた方が早いだろう
JaneXeno質問スレ9
egg.5ch.net/test/read.cgi/software/1722559511/

128 名前:デフォルトの名無しさん mailto:sage [2024/08/22(木) 10:35:07.43 ID:B9IGKhdB.net]
^(?!sage|*age|\s|\S).*$  前方一致否定
^(?!.*sage|*age|\s|\S).*$  部分一致否定
^(?!.*sage$|*age|\s|\S) 後方一致否定


動くかはしらん

129 名前:デフォルトの名無しさん mailto:sage [2024/08/22(木) 10:45:02.10 ID:1r7uDbgD.net]
^(?!age).*$
^(?!sage).*$
^(?!\s).*$

を3行前方一致の否定で分けてかいてみたら?全角空白はわからん

130 名前:デフォルトの名無しさん mailto:sage [2024/08/22(木) 11:53:01.69 ID:Z0c4Ov9t.net]
NG Addr 正規(含まない)
^(age|sage|)$



131 名前:デフォルトの名無しさん mailto:sage [2024/08/22(木) 12:27:50.31 ID:1pp2sZBh.net]
>>124 をせんとエンジンがよわよわなだけで
正規表現は >>121 であってるし低脳ばっかやな

132 名前:デフォルトの名無しさん mailto:sage [2024/08/22(木) 16:58:52.48 ID:WSGH1Pr6.net]
datで下の3つ以外でmatchするってことだろ(書き込みエラーで<>に置き換えてる)
名前(変動)<>sage<>2024/08/22(ry
名前(変動)<>age<>2024/08/22(ry
名前(変動)<><>2024/08/22(ry
専ブラによってエンジンが違うから環境いれる気にはならんが

133 名前:デフォルトの名無しさん mailto:sage [2024/08/27(火) 22:04:04.81 ID:K31idf52.net]
age sage の前後に半角空白が1つまたは2つ入ることを想定すべき
Janeの全盛期ならこんなのすぐに解決してたな

134 名前:デフォルトの名無しさん mailto:sage [2024/08/28(水) 09:58:05.19 ID:M0ceOk+r.net]
想定すべき、って言えるのなんなんだろう?
そこまで想定してなくても実用上十分、てことは多々あるだろう

135 名前:デフォルトの名無しさん mailto:sage [2024/08/28(水) 11:44:10.78 ID:29oRaxIo.net]
スレのdatは板ごとに微妙な違いがある
半角空白が前後に入るスレは珍しくなかった
今の人が知らないのは仕方ない

136 名前:デフォルトの名無しさん mailto:sage [2024/08/28(水) 12:04:38.47 ID:TruuGgPL.net]
>>135
それこそ想定しないても通常大丈夫なものじゃん
俺のLog漁っても20年以上前からあるけど、まだ日付けの年号が2桁でIDも付いてないものでも
前後に空白は付いてなかったくらいだ
俺はレス本体と一時期のスレタイトルぐらいしか記憶にないよ

137 名前:デフォルトの名無しさん mailto:sage [2024/08/28(水) 12:06:40.94 ID:TruuGgPL.net]
スレタイトルは空白じゃなくてタブだったので訂正しとく

138 名前:デフォルトの名無しさん mailto:sage [2024/08/28(水) 15:51:55.48 ID:29oRaxIo.net]
半角空白が入る板が存在しないなら対応する必要は無いよ

ただ、自分なら対応したものを作る
そういう板が1つでもあったら作り直しになるから

質問者さんが使っている板が半角空白が入る板ではないという確証が無い以上
対応しておくのが無難でしょう、したらばやJane板のような外部板のことまで考えるとね

139 名前:デフォルトの名無しさん mailto:sage [2024/08/28(水) 15:59:03.58 ID:TruuGgPL.net]
実用上十分ってことを知らんのか
さらに、他BBSでも空白が入るところは大手ではないよ
(したらば、おーぷん、JANE総合も入らない)

140 名前:デフォルトの名無しさん mailto:sage [2024/08/28(水) 19:41:57.47 ID:29oRaxIo.net]
大手じゃないところで半角空白が入る板があったら誤作動する正規表現を作るよりも
対応したものを作るほうがベターだと思うが

頑なに非対応にする理由もあるまい



141 名前:デフォルトの名無しさん mailto:sage [2024/08/29(木) 00:19:30.02 ID:3od28NMQ.net]
メール欄がわざと「 age 」の奴をNGできない

142 名前:デフォルトの名無しさん mailto:sage [2024/08/29(木) 19:22:18.21 ID:s7DstX6Q.net]
>>133 は対応するべき、て言い切ってる
自分ならこうするとか、この方がベターとかとは一線を画す表現
やらなきゃいけないと言っている

でもさ、不特定多数に配るアプリの話じゃないんだよ?

143 名前:デフォルトの名無しさん mailto:sage [2024/08/29(木) 19:26:50.79 ID:s7DstX6Q.net]
RFC準拠のメールアドレスの正規表現はクソ長いが個人で使うのにそこまで要らん
の話思い出した

144 名前:デフォルトの名無しさん mailto:sage [2024/08/29(木) 19:38:28.39 ID:zKbcOD8k.net]
自分が使うものなら好きにすれば良いが質問の回答として正規表現を作るなら
柔軟性を確保するにこしたことはない
でないと質問者は自分じゃ直せないからちょっとした誤作動でまた質問しに来てしまう
そういう意味で「すべき」と書いたよ、何か問題ある?

> メール欄がわざと「 age 」の奴をNGできない

わざとでない「 sage」がNGになってしまうのはいいの?

145 名前:デフォルトの名無しさん mailto:sage [2024/08/29(木) 21:34:59.96 ID:s4c4C/Bz.net]
試しに、名前とメール欄に前後半角空白付きで書き込んでみた
結果、datからは前後の半角空白は削除されて付いてない

そもそも、可能性があるってだけで対応しないといけないってのはおかしいだろ
たった一つだけでいいのでそういう例がある(あった)というものを出すべき

146 名前:デフォルトの名無しさん mailto:sage [2024/08/29(木) 21:37:57.27 ID:s4c4C/Bz.net]
書いたところは
https://egg.5ch.net/test/read.cgi/software/1724332370/204-206
それぞれJaneStyleで末尾整形あり、整形なし、汎用ブラウザ(firefox)で書いた

147 名前:デフォルトの名無しさん mailto:sage [2024/08/29(木) 23:45:06.51 ID:zKbcOD8k.net]
それは掲示板だって半角空白に対応させてるってことでしょ
正規表現で半角空白に対応しておくべきと書くことはそんなにおかしなことなの

質問者はまだ未解決のようだけどその原因が半角空白でないと言い切れる?
最初から対応しておけばこの可能性を考えずに済むよね?
なんで想定すべきと書いたらいけないの?

ここにいる人全員が納得出来る説明を求む

148 名前:デフォルトの名無しさん mailto:sage [2024/08/29(木) 23:55:45.32 ID:s4c4C/Bz.net]
回答は的確に簡潔に質問に答えることがいちばん
余計な蛇足を加えて悦にいるのは自分が使う分にはいいけど人に指図するものじゃない
ソースコードやスクリプトでも質問もしてないのにあれこれ余分な配慮でコードを複雑にして
いいことをやったと自己満足してる奴にはならないようにしよう

149 名前:デフォルトの名無しさん mailto:sage [2024/08/29(木) 23:59:39.42 ID:s4c4C/Bz.net]
で、半角空白が含まれるものはあるんかい
この部分は一つだけ実例を示すだけでいいんだよ
存在しえない可能性とやらを配慮するのはまったくの無駄
それは半角空白の変わりにタブコードが含まれる場合に対処しろって言うのと変わらん

150 名前:デフォルトの名無しさん mailto:sage [2024/08/30(金) 00:10:46.53 ID:z5xrh4P7.net]
>>135で板によっては存在するのは珍しくないとまでいってるんだから
そのリンクを示すだけでいいんだぞ



151 名前:デフォルトの名無しさん mailto:sage [2024/08/30(金) 01:14:28.93 ID:8cMr2Sm2.net]
141がありもしない難癖ではないことを示すために
メール欄がわざと「 age 」「 sage」の例
https://egg.5ch.net/test/read.cgi/software/1724332370/209-210

空白が入る板とメール欄がわざとでない「 sage」は見たことないな

152 名前:デフォルトの名無しさん mailto:sage [2024/08/30(金) 08:58:26.65 ID:qASTkovi.net]
そんなにいつまでも続けるネタじゃないだろ

153 名前:デフォルトの名無しさん mailto:sage [2024/08/30(金) 13:24:57.13 ID:dkGEn5CF.net]
どんぐりの醜い争い

154 名前:デフォルトの名無しさん mailto:sage [2024/08/30(金) 17:56:05.65 ID:kCrr7PoM.net]
^(s?age|)$でどっちもNGできるわ
>>130でもう出てる

155 名前:デフォルトの名無しさん mailto:sage [2024/08/31(土) 12:23:47.01 ID:ESY986wz.net]
見たことない == 存在しない

さすがに草

156 名前:デフォルトの名無しさん mailto:sage [2024/08/31(土) 16:07:56.33 ID:xB9BteZK.net]
こういう専門スレでよくある現象
質問者がいなくなったのに殴り合い始める

157 名前:デフォルトの名無しさん mailto:sage [2024/08/31(土) 19:41:26.67 ID:ESY986wz.net]
人のちょっとした不手際に噛みつき大騒ぎ
都合が悪いことを言われたらもっともらしいことを言ってごまかす

どこかの知事のマネかねぇ

158 名前:デフォルトの名無しさん mailto:sage [2024/09/01(日) 12:11:46.90 ID:ruX2CvUf.net]
>>147に対する>>148の回答が面白い

>回答は的確に簡潔に質問に答えることがいちばん

と最初に書いておきながら聞かれたこととはまったく違う回答をしてる

159 名前:デフォルトの名無しさん mailto:sage [2024/09/01(日) 12:54:37.81 ID:mvzZbYC4.net]
まだやってるのか
よほど悔しかったと見える

160 名前:デフォルトの名無しさん mailto:sage [2024/09/02(月) 05:55:02.84 ID:zV+ToF23.net]
>>123から半角空白を疑うのは自然な反応だと思うが
20年前のログがあるおっさんがキレる理由が分からんね

論破されて話題のすり替えをして逃げる卑屈な人間でいるより素直に謝ったほうがマシじゃね
てか論破されてることに気付いてなさそう



161 名前:デフォルトの名無しさん mailto:sage [2024/09/02(月) 15:51:56.49 ID:AlH3f6um.net]
いつ変わってもおかしくないような仕様をなぜそんなに信頼できるのか
…ということを抜きにしても、「実用上十分」かどうかを勝手に決めつけるのは…
というか、>>127 で終わりじゃだめだったのか?

162 名前:停止しました。。。 mailto:sage [2024/09/02(月) 21:11:06.60 ID:uqoOZz2h.net]
真・スレッドストッパー。。。( ̄ー ̄)ニヤリッ

163 名前: mailto:sage [2024/09/02(月) 21:44:55.24 ID:Y7//7QQC.net]
偽・スレッドストッパー。。。( ̄ー ̄)ニヤリッ

164 名前:デフォルトの名無しさん [2024/09/03(火) 00:47:33.48 ID:dSkXog9i.net]
内輪もめは巣に帰ってやれや屑共

165 名前:デフォルトの名無しさん mailto:sage [2024/09/03(火) 11:11:23.38 ID:JwjQ1m/O.net]
次から「>>127に帰れ」でok
向こうにも正規表現作れる人いるみたいだし

知事そっくりのおっさんはしばらく謹慎しとけ

166 名前:デフォルトの名無しさん mailto:sage [2024/09/03(火) 11:14:09.37 ID:d9bMT2aR.net]
内容的に割と単純かつどうでもいいネタに限って長引く傾向にあるな

167 名前:デフォルトの名無しさん mailto:sage [2024/09/03(火) 13:28:50.53 ID:FknR0mX7.net]
>>126で終わってるんだよ
補足説明込みでも>>130までで以降は無価値

168 名前:デフォルトの名無しさん mailto:sage [2024/09/04(水) 07:40:52.55 ID:EbiVCIQx.net]
>>121>>131が空気になっててかわいそうなんだが
誰か構ってやれよ

169 名前:デフォルトの名無しさん [2024/09/10(火) 05:40:09.20 ID:+qdzMQ7n.net]
質問なのだが、htmlファイルで
<DOCTYPE からつづいて途中にあるAAAをごっそり空欄で置換したいのだが
どうやったらええん
^<DOCTYPE*AAAじゃうまくいかんかったのよねー

170 名前:デフォルトの名無しさん mailto:sage [2024/09/10(火) 06:04:34.38 ID:kowefQA5.net]
<DOCTYPEEEEEEEEEAAA「ぐわぁ!!



171 名前:デフォルトの名無しさん mailto:sage [2024/09/10(火) 14:57:41.04 ID:W69Tu2B8.net]
DOCTYPE*は、DOCTYPの後にEが0回以上繰りかえしているものを表すけど本当にそうなってるとは思えん
DOCTYPEEEEEEAAA

172 名前:デフォルトの名無しさん mailto:sage [2024/09/11(水) 03:14:10.70 ID:qNF+YH3h.net]
昔の仕様をごそっと<!doctype html>に統一したいなら
^<!doctype.*>で置き換えすりゃいいんじゃね、見当違いならごめん

173 名前:デフォルトの名無しさん mailto:sage [2024/09/11(水) 07:51:29.11 ID:9V6SWpAY.net]
.*>

人に教えていいレベルじゃねぇ

174 名前:デフォルトの名無しさん mailto:sage [2024/09/11(水) 08:07:51.41 ID:qNF+YH3h.net]
すぐに気づくだろ初心者スレってわけじゃなし

175 名前:デフォルトの名無しさん mailto:sage [2024/09/11(水) 08:42:50.99 ID:HzXBBqr9.net]
すみません、全部消えました

176 名前:デフォルトの名無しさん mailto:age [2024/09/11(水) 08:45:08.47 ID:9UoQOhuf.net]
>>174
無能

177 名前:デフォルトの名無しさん mailto:sage [2024/09/11(水) 08:51:56.08 ID:4F/AxKNI.net]
またはじまった
こいつほんとにクソやな

178 名前:デフォルトの名無しさん mailto:sage [2024/09/11(水) 09:13:11.67 ID:qNF+YH3h.net]
そもそもスクリプトなのかエディタなのか
具体的な例も使用方法も書かずに答えが出るわけねえよ

179 名前:デフォルトの名無しさん mailto:sage [2024/09/11(水) 13:19:20.05 ID:9V6SWpAY.net]
回答は的確に簡潔に質問に答えることがいちばん

>>169
^<DOCTYPE.*?AAA

180 名前:デフォルトの名無しさん mailto:sage [2024/09/11(水) 14:41:32.83 ID:e/oUHwOW.net]
通常先頭に書くDOCTYPEは
<!DOCTYPE html ~>ってなると思うんだが、!は何処に行った?
さらにAAAとか出てくるか?
AAAがdoctypeと無関係ならその間に改行も挟まってるかもしれんよ



181 名前:デフォルトの名無しさん mailto:sage [2024/09/11(水) 15:58:20.52 ID:9V6SWpAY.net]
<DOCTYPE
.*?

人に教えていいレベルじゃねぇ

182 名前:デフォルトの名無しさん mailto:sage [2024/09/11(水) 16:32:04.44 ID:NXAVPXLE.net]
>>181
なんじゃそりゃww

183 名前:デフォルトの名無しさん mailto:sage [2024/09/11(水) 18:51:15.50 ID:DnMjWL2Z.net]
シングルラインモードでフォルダ内jsonを正規表現でgrep検索できるフリーのテキストエディタ教えて
windowsで動いてGUIしっかりしてる使いやすいのがいい

184 名前:デフォルトの名無しさん mailto:sage [2024/09/12(木) 00:04:43.72 ID:uYEhMGBt.net]
外部コマンド取り込めてパスからジャンプできるエディタならなんでもいいんでは
vim/neovimとかvscodeとか

185 名前:デフォルトの名無しさん mailto:sage [2024/09/12(木) 09:42:50.94 ID:71tHR6b6.net]
シングルラインモードと言うと複数行に渡ってマッチさせたいと?
拙者がつこうてるエディタは一行単位でしかマッチ出来なかったでござる

186 名前:デフォルトの名無しさん [2024/09/12(木) 10:05:19.60 ID:fOf5lfVo.net]
ワイルドカードと性器表現
どうしてこうなったマン心環境の違い

187 名前:デフォルトの名無しさん mailto:sage [2024/09/12(木) 11:27:45.34 ID:G9h42jpn.net]
>>183
grepとエディタは別々でいいだろ
GUIのgrepソフトは外部エディタを呼べるようになってる(呼べないものって多分無い)
テキストエディタはそれこそ何でも良い
俺はDevasってgrepソフト使ってるがこれも過去に適当に探したものなのでもっといいものがあるかもしれない

188 名前:デフォルトの名無しさん mailto:sage [2024/09/12(木) 11:34:30.88 ID:G9h42jpn.net]
いや、json限定ならjsonエディタとか使えばいいんじゃなかろうか

189 名前:デフォルトの名無しさん mailto:sage [2024/09/12(木) 14:21:47.53 ID:iwy8LWRU.net]
>>183
非ascii文字はユニコードエスケープされてる?

190 名前:デフォルトの名無しさん mailto:sage [2024/09/12(木) 14:33:20.53 ID:G9h42jpn.net]
JSONだから基本UTF-8なんじゃないのか?



191 名前:デフォルトの名無しさん mailto:sage [2024/09/12(木) 14:35:15.82 ID:G9h42jpn.net]
パーセントエスケープか
あるのとないのと両方あるしなあ

192 名前:デフォルトの名無しさん mailto:sage [2024/09/12(木) 14:54:08.26 ID:71tHR6b6.net]
北製のエディタ選んでぶっこ抜かれてるやつはいないな?
出所の怪しいやつは避けるんだぞ?

193 名前:デフォルトの名無しさん mailto:sage [2024/09/12(木) 16:03:08.30 ID:3oNIjHZT.net]
>>184
>>187
ありがとう使ってみる
対象ファイルはUTF8で改行はLFとCF+LF混合(1ファイル内では統一)
日本語2バイト文字はエスケープなしに普通に表記されてる

194 名前:デフォルトの名無しさん mailto:sage [2024/09/12(木) 16:55:26.60 ID:tplSlOtQ.net]
>>187,193
dnGrepも良い

マッチ箇所の前後数行表示やマッチファイル全体プレビュー表示でサクッと探して
diffとtext editor用の外部コマンドラインを複数登録して使ってる
(有名どころのテンプレートあり)

195 名前:デフォルトの名無しさん mailto:sage [2024/09/12(木) 17:00:09.50 ID:G9h42jpn.net]
>>193
テキストエディタは何でも良いとは言ったけど
起動引数にファイル名と行位置を指定できるものじゃないと使い物にならない
メモ帳はダメだが大抵大丈夫

196 名前:デフォルトの名無しさん mailto:sage [2024/09/12(木) 17:38:37.00 ID:G9h42jpn.net]
>>194
良さそうだなと思ったらwin7には無理っぽい(.NET8だとか)

197 名前:デフォルトの名無しさん mailto:sage [2024/09/13(金) 06:32:33.01 ID:11vS+uA+.net]
>>196
文字エンコーディング自動判別が出来るので、ちょっと古めのcp932とUTF8の混在環境で重宝すると思ったがそれは残念

>>183,193は大丈夫そうだけど(根拠なし)

198 名前:デフォルトの名無しさん mailto:sage [2024/09/23(月) 23:23:59.22 ID:kDMCxsRj.net]
pcre2の作者さんが後継者探してる
27年続けてきて最近年を感じるようになったとか

199 名前:デフォルトの名無しさん mailto:sage [2024/09/26(木) 08:21:09.95 ID:JQMFr7dw.net]
老朽ソフトウェアの後継者問題って
需要があれば勝手にメンテされるし無ければ消えるだけだよ
正規表現は時代に合ってないからこの概念ごと消えるかもしれない

200 名前:デフォルトの名無しさん mailto:sage [2024/09/26(木) 20:55:23.73 ID:DovoaZNg.net]
>>199
正規表現が時代に合ってないってどういうこと?



201 名前:デフォルトの名無しさん mailto:sage [2024/09/26(木) 22:02:49.37 ID:KgNEnM1+.net]
たぶんだけど自然言語で書く、かな
いまでもコンパイルはしてるし
曖昧な表現だとランタイムエラーになるのはおなじ

202 名前:デフォルトの名無しさん mailto:sage [2024/09/26(木) 22:22:27.94 ID:ingxpjLa.net]
AIと喋ってろ

203 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 08:05:17.90 ID:rL2U3h48.net]
自然言語を聞いたAIが作るのが正規表現というオチ
既存の正規表現エンジン用の正規表現ではなくAIが生成した正規表現を動かすためだけの
正規表現エンジンも生成される
既存の正規表現エンジンと比べてデータサイズが小さく不要な機能が無いため高速に動作

64コアCPUでテキストデータの64ヶ所を同時に検索
正規表現がテキストにマッチしない場合の速さが2024年時点の通常検索の速さを超えてしまう

野良猫理論: ある限られた空間であちこちをうろつく複数の野良猫が置き餌を見つけるのに
かかる時間は頭数の二乗に反比例するような気がする理論

204 名前:デフォルトの名無しさん mailto:sage [2024/10/01(火) 11:39:53.35 ID:Z3sXryIq.net]
>>203
>野良猫理論:
なるほど、そうかも

205 名前:デフォルトの名無しさん mailto:sage [2024/10/01(火) 11:45:14.33 ID:v9xyba12.net]
>>203
妄想はAIとすれば捗るぞ

206 名前:デフォルトの名無しさん mailto:sage [2024/10/06(日) 00:20:41.41 ID:YLpbtiCB.net]
DFA 「NFA、僕は君のことをクリーネ閉方したい」
NFA 「受理できません」

207 名前:デフォルトの名無しさん mailto:sage [2024/10/08(火) 20:25:00.73 ID:2vPrSKyO.net]
久しぶりにプログラム板にきました
あるwebサイトのたとえばx0000からx99999までのurl内それぞれ個別にあるたとえば日付等の項目を
すべてカンマ区切りで抜き出す正規表現を考えようとしましたが
結局、項目が10個まであるわけじゃないので
<!DOCTYPE.*ほにゃらら項目、ほにゃらら項目…ほにゃらら項目、ほにゃらら*</html>
てのを10まであるわけじゃない項目分それぞれ抜き出しました
本来なら、 項目,項目,項目…… で抜き出せるように一発で正規表現使えば何とかなるのでしょうけれど、
項目だけの列といいましょうかx0000の項目Aからx9999の項目Aをまずだして
次にx0000の項目Bからx9999の項目Bを次に出してと
結局その項目が10までとはいかないけれどその分をだして表計算ソフトにつっこんだわけです
結果できましたがどうにも納得がいきません

正規表現が出来ればきっとっとも楽に時間もかからずできたのでしょう

JaneXeno質問スレ9
https://egg.5ch.net/test/read.cgi/software/1722559511/
いまこのスレにいたりもします。

208 名前:デフォルトの名無しさん mailto:sage [2024/10/08(火) 22:03:57.17 ID:XPh9YV+I.net]
>>207
1. まず日本語を整理する能力を身につけましょう
2. 次にテストケースを整理する能力を身につけましょう
3. そして1.と2.で身につけた能力を使ってChatGPTに問い合わせましょう

さすれば望む答えが楽に得られます

209 名前:デフォルトの名無しさん mailto:sage [2024/10/09(水) 01:44:24.09 ID:WkCTujRI.net]
ここは野良猫理論を数学的に証明するスレになりました

210 名前:デフォルトの名無しさん mailto:sage [2024/10/09(水) 02:26:53.03 ID:LpRCWPua.net]
すごく読み難いし目的も読み取れない
終わってる



211 名前:デフォルトの名無しさん mailto:sage [2024/10/09(水) 03:04:13.75 ID:w53uZCE9.net]
頑張って2回読んだけど何のアドバイスもできそうにない

212 名前:デフォルトの名無しさん [2024/10/09(水) 05:04:10.76 ID:z5soGBkc.net]
Excel VBA 質問スレ Part81
とやらにいる障害者みたいだね

213 名前:デフォルトの名無しさん mailto:sage [2024/10/09(水) 09:59:45.33 ID:nVMNMgni.net]
DOCTYPE全然関係なかったんやな
>>180がアタリ
>>179,181はハズレ

214 名前:デフォルトの名無しさん mailto:sage [2024/10/09(水) 12:56:32.38 ID:WkCTujRI.net]
とりあえずxenoをあぼーん登録しといた

215 名前:デフォルトの名無しさん mailto:sage [2024/10/10(木) 13:27:21.21 ID:WHQFPCFe.net]
そういえばこのスレが伸びたのも発端は>>120だったな
>>120みたいな難問を気軽に質問されたら困る

216 名前:デフォルトの名無しさん mailto:sage [2024/10/12(土) 15:23:11.12 ID:gMUOKJHq.net]
●Regular Expressionの使用環境
VS Code 1.94.2 の検索バー

●検索か置換か?
置換

●説明
htmlファイルを開いている。
href属性が .css で終わらない場合に属性値を空文字列へ置換したい。
href="[^"]+(?!\.css)"を検索したが .css で終わっていてもマッチしてしまう。

●対象データ
<a href="URL.css">link</a>
<a href="a.html">link</a>
<link rel="stylesheet" href="a.css">
<link rel="stylesheet" href="b">

●希望する結果
<a href="URL.css">link</a>
<a href="">link</a>
<link rel="stylesheet" href="a.css">
<link rel="stylesheet" href="">

217 名前:>>216 mailto:sage [2024/10/12(土) 15:33:12.91 ID:gMUOKJHq.net]
原理はよくわかりませんが自己解決しました
href="[^"]+(?<!\.css)"

218 名前:デフォルトの名無しさん mailto:sage [2024/10/12(土) 16:13:01.24 ID:qxhXc26A.net]
href="[^"]+(?!\.css)"

<a href="URL.css">link</a>で"[^"]+の最後の文字はs
つまりsの位置では.cssではないのでマッチする

219 名前:デフォルトの名無しさん mailto:sage [2024/10/12(土) 16:15:48.04 ID:qxhXc26A.net]
sの後ろ(つまり")の位置に訂正

220 名前:デフォルトの名無しさん mailto:sage [2024/10/12(土) 17:58:39.21 ID:hwVWGPYm.net]
正規表現関係ないけどhtmlタグ周りの操作は
できるだけDOM経由でやっておいたほうが楽で安全だと思う

htmlの書き方がみんな揃ってるとは限らないし
<div>href="foo"</div>とかlocation.href=“bar”にはマッチしないようにするとか
いろいろ考慮ポイントが増えてミスするリスクも高くなる

DOM経由でやっておけばその辺は安心
document.querySelectorAll("[href]:not([href$='.css'])").forEach(x=>x.setAttribute("href", ""))



221 名前:デフォルトの名無しさん mailto:sage [2024/10/13(日) 15:34:10.31 ID:josLIOo8.net]
>>217
それ大正解だよ、すごい
それ以上のものを作れと言われたら大抵の人は悩む
というか>>217の答えに辿り着けない人が多数かと

222 名前:デフォルトの名無しさん mailto:sage [2024/11/02(土) 23:35:42.52 ID:5ILrPZJU.net]
正規表現のオペレータの分類についての質問です
assertionにアンカーやバウンダリを含める分類はあまり見かけませんが何故でしょう?(例dotnet文書)

以下(多分regex界で著名な)参考サイトより引用
Assertions. The traditional regular expression metacharacters ^ and $ can be viewed as assertions about the text around them: ^ asserts that the previous character is a newline (or the beginning of the string), while $ asserts that the next character is a newline (or the end of the string). Perl added more assertions, like the word boundary \b, which asserts that the previous character is alphanumeric but the next is not, or vice versa.
https://swtch.com/%7Ersc/regexp/regexp1.html

確かにマッチに含まれないという意味ではよくassertionであると言われるlookback/aheadと同様です
何か含めないことで利点があるのでしょうか?

223 名前:デフォルトの名無しさん mailto:sage [2024/11/09(土) 12:53:50.15 ID:k7Zpjetb.net]
これに答えられる人はここに数人いるかどうかなのでは
(私はもちろん答えられません)

勘で答えるなら先読み、後読みは後から出てきたものなので元からあった
^ $ \b とは別物扱いになった、とかですかね?すみません、分かりません

224 名前:デフォルトの名無しさん mailto:sage [2024/11/09(土) 21:56:49.21 ID:f+X68XQj.net]
(ゼロ幅)アサーションには含まれる、(ルックアラウンド)アサーションには含まれない

でもルックアラウンドアサーションだけを指して単にアサーションと呼ぶなんてことがあるかな、大体何か修飾語がついてるよね?
単にアサーションと呼ばれるのはゼロ幅アサーションの方だと思う
実際参考サイトもそんな感じだろう知らんけど

225 名前:デフォルトの名無しさん [2024/11/19(火) 12:37:58.18 ID:UdPT9kjC.net]
Google spreadsheetでREGEXREPLACE関数で置換するやり方を教えていただけないでしょうか
実行したい内容は以下の通りです。

●Regular Expressionの使用環境
Google spreadsheet

●検索か置換か?
置換

●説明
英文の各単語の先頭1文字以外をアスタリスクに置換したい
カンマとピリオドとハテナは置換しない
アポストロフィは置換する

●対象データ
Oh, it’s sunny today.
Do you understand?

●希望する結果
O*, i*** s**** t****.
D* y** u*********?

226 名前:デフォルトの名無しさん mailto:sage [2024/11/19(火) 13:15:50.46 ID:qWVXBGcO.net]
俺の知識の範囲では正規表現だけでは不可能

227 名前:デフォルトの名無しさん mailto:sage [2024/11/19(火) 13:28:40.67 ID:TpNNC8ku.net]
その環境がわからんので一般的な場合として
/(?<=[^ ,.?\n\r])[^ ,.?\n\r]/*/g
/(?<=[a-z’'])[a-z’']/*/ig

228 名前:デフォルトの名無しさん mailto:sage [2024/11/19(火) 13:45:50.24 ID:qWVXBGcO.net]
なるほど。後読を使えばいいのか

229 名前:デフォルトの名無しさん [2024/11/19(火) 14:33:47.46 ID:UdPT9kjC.net]
後読はこの関数では使えないようなのですが、関数ではなくて置換機能なら使えるようなので試してみます!
ありがとうございました!!

230 名前:デフォルトの名無しさん mailto:sage [2024/11/19(火) 15:02:42.11 ID:TpNNC8ku.net]
The problem is the ’XXX’.
こういうのはあるのかな?



231 名前:デフォルトの名無しさん mailto:sage [2024/11/19(火) 15:19:15.00 ID:TpNNC8ku.net]
>>228
正規表現のどの文法を使うかじゃなくて、どういう論理にするかを思いつくかどうかだから
(とんちクイズと一緒で発想力の問題)
なお230のようなケースがあるのならおそらく再起を使う必要がでてくると思う

232 名前:デフォルトの名無しさん [2024/11/19(火) 15:56:13.16 ID:UdPT9kjC.net]
>>230
これは想定していなかったですが今回はなさそうです

233 名前:デフォルトの名無しさん mailto:sage [2024/11/19(火) 17:34:15.15 ID:G+8Uvgpo.net]
Apps Script使うのがシンプルなこともある

234 名前:デフォルトの名無しさん mailto:sage [2024/11/19(火) 23:06:51.29 ID:TpNNC8ku.net]
/(?<=[a-z]|[a-z]')[a-z]|(?<=[a-z])'(?=[a-z])/*/ig
(アポストロフィは半角のみにしてる)
This is the 'Tom's Home'.
→ T*** i* t** 'T**** H***'.

無理ーー
'Rock'n'Roll' is "Rock 'n' Roll". → 'R**********' i* "R*** 'n' R***".
'' is NULL strings. → '' is NULL strings.

235 名前:デフォルトの名無しさん mailto:sage [2024/11/20(水) 17:07:45.94 ID:vf/ffllo.net]
regexpは数学(キリっ

236 名前:デフォルトの名無しさん mailto:sage [2024/11/20(水) 17:38:18.40 ID:ibyj9elY.net]
ウザっ

237 名前:デフォルトの名無しさん [2024/12/12(木) 23:55:43.32 ID:9bmybcd/.net]
暫く使わないとすぐ忘れてしまう
低スキルだから使う頻度が少なくて記憶が定着しない

238 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 00:12:32.38 ID:EgfV0Bor.net]
わかる
特に(?!これ系一切覚えてない)

239 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 13:01:50.92 ID:hybzdr+3.net]
=^^= こんな演算子をどこかの記事で見た記憶はあるけど意味は忘れた

240 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 13:19:30.73 ID:Zywldz4i.net]
  ∧,,∧
  (=^v^) にょほほー
  /  l
 (OuuO



241 名前:デフォルトの名無しさん [2024/12/19(木) 16:02:37.82 ID:1szj+7uv.net]
●Regular Expressionの使用環境
テキストエディタのMeryや、テキストエディタのgPadの置換

●検索か置換か?
検索

●説明
英文中のスペース以外の、他のスペースを削除したいです。

●対象データ
平和 戦争
AA XVA ZZ
昭和 平成 令和
NIHON BUNKA
経済 学部
Ishiba Naikaku
●希望する結果
平和戦争
AA XVA ZZ
昭和平成令和
NIHON BUNKA
経済学部
Ishiba Naikaku

※いま現在はネットを探してやっと見つけた
(?<![a-zA-Z])\s|\s(?![a-zA-Z])
を使ってます。これは連続スペースやTabにも対応してるのが良い点と思います。
ただ、全角スペースは削除出来ませんし、改行まで削除されて1行テキスト文に
なるという短所があり、また手動で改行しなくてはならず非常に手間です。
全角スペースはまだ良いとして改行削除がされないように改善できませんでしょうか?
よろしくお願いします。

242 名前:デフォルトの名無しさん mailto:sage [2024/12/19(木) 16:06:40.57 ID:wZwgXxbf.net]
なかなかの丸投げだな
¥sを[ \t ]

243 名前:デフォルトの名無しさん [2024/12/19(木) 17:08:28.91 ID:1szj+7uv.net]
>>242
希望通りになりました。即レス大感謝ありがとうです。
いちおう自分なりに半年間ほど色んなパターンに変えてやってみてたんですが、大変助かりました。

244 名前:デフォルトの名無しさん mailto:sage [2024/12/20(金) 20:07:37.02 ID:7538eGNC.net]
すげー半年がかりの疑問を瞬殺か
やっぱ詳しい人に聞いておくものだな

245 名前:デフォルトの名無しさん mailto:sage [2024/12/21(土) 01:36:35.41 ID:lQ0nYrFo.net]
半年同じ問題に取り組める根気は素晴らしいが初心者は効率が悪いね
Googleとかは20分だか30分だか手が止まったら質問しろって企業文化らしい

246 名前:デフォルトの名無しさん mailto:sage [2024/12/22(日) 15:36:39.77 ID:8OMG/th9.net]
メモ
Meryで\sを全角スペースにマッチさせるには(?u)\sかFindOnig=1

247 名前:デフォルトの名無しさん mailto:sage [2024/12/23(月) 12:51:43.05 ID:hOdCdrxj.net]
半年あったら正規表現覚えたほうが早いな、Meryクリスマス

248 名前:デフォルトの名無しさん mailto:sage [2024/12/23(月) 12:59:50.83 ID:hOdCdrxj.net]
I have a pen. I have an apple.

249 名前:デフォルトの名無しさん mailto:sage [2024/12/31(火) 20:44:10.06 ID:Thw2Z7nN.net]
(?<=This year)(?=Next year)

250 名前:デフォルトの名無しさん mailto:sage [2025/01/04(土) 18:21:54.49 ID:YsNNcli5.net]
<title> を
\<title\> って書かないとエラーになるケースってあるの?



251 名前:デフォルトの名無しさん mailto:sage [2025/01/04(土) 19:03:21.90 ID:0KLOcGyc.net]
GnuRegexとGrepでは\<と\>は特別な意味を持つ、それぞれ単語の先頭、単語の末尾にマッチする
だから<title>にマッチさせたいのではなくtitleにマッチさせたいのかも

\<と\>で囲えばbigtitleやtitleholderにはマッチしなくなる

252 名前:デフォルトの名無しさん mailto:sage [2025/01/04(土) 20:47:05.52 ID:a+K50MRq.net]
Gnuって書いたらヌーになるがな

253 名前:デフォルトの名無しさん mailto:sage [2025/01/04(土) 21:43:10.75 ID:12P97q6K.net]
メタ文字 \b が使えない環境ってことなんだろうか?

254 名前:デフォルトの名無しさん mailto:sage [2025/01/04(土) 21:56:58.81 ID:0KLOcGyc.net]
うぐぅ

>>253 高須クリニック

255 名前:デフォルトの名無しさん mailto:sage [2025/01/04(土) 22:07:44.40 ID:0KLOcGyc.net]
すまん、二刀流だった
https://www.gnu.org/software/grep/manual/html_node/Special-Backslash-Expressions.html

256 名前:デフォルトの名無しさん mailto:sage [2025/04/05(土) 13:05:55.46 ID:/X2GFnPw.net]
GeminiにChatでやりたいこと入力したらずばりの正規表現回答してくれんのすごすぎて草
そんで最強のGrep検索・置換ツールのVScodeにその正規表現をコピペするだけの簡単なお仕事
マジで更新もされず陳腐化したクソ使い難い正規表現アプリやサービスがすべて駆逐されんの納得でクソワロタ

257 名前:デフォルトの名無しさん [2025/04/05(土) 14:35:59.22 ID:dD+UMa0w.net]
VSCodeやのにCopilotつかわんのなんでなんw
置換はperl -i -peが手軽にコードも介在できて未だに最強

258 名前:デフォルトの名無しさん mailto:sage [2025/04/05(土) 17:01:54.69 ID:yzm+sG/V.net]
文章でミジンコだとわかるだろほっといてやれ

259 名前:デフォルトの名無しさん mailto:sage [2025/04/07(月) 00:01:48.06 ID:HqNk85Dr.net]
一方、ロシアは秀丸エディタを使った

260 名前:デフォルトの名無しさん mailto:sage [2025/04/07(月) 18:30:32.29 ID:+glSnyRi.net]
米国がEmEditorを使うところから物語は始まるのか



261 名前:デフォルトの名無しさん mailto:sage [2025/05/07(水) 13:34:42.62 ID:VK/GbxYn.net]
後方参照を初めて使ってみた
なるほど便利
後方を参照するのかと思っていたが後方で参照すると言う意味だった

262 名前:デフォルトの名無しさん mailto:sage [2025/05/08(木) 20:10:04.49 ID:a95yfZhU.net]
ぎょぎょぎょ?参照うお

263 名前:デフォルトの名無しさん mailto:sage [2025/05/08(木) 20:37:02.88 ID:NyjQsc8w.net]
ぎょえーー

264 名前:デフォルトの名無しさん [2025/06/10(火) 10:10:19.59 ID:JUI3rKzN.net]
置換……指定した文字を置換します。
@AA@A@.TXTの"@"を"Q"に置換(場所の指定無し)
QAAQAQ.TXT - すべて置換される

@AA@A@.TXTの"@"を"Q"に置換(場所を指定)

前から1文字目 : QAA@A@.TXT - 前から1文字目のみ置換
前から4文字目 : @AAQA@.TXT - 前から4文字目のみ置換
後から1文字目 : @AA@AQ.TXT - 後から1文字目のみ置換

削除……指定した場所にある文字を削除します。
ABBAA.TXT、ACCAA.TXTの前から2文字目から右に2文字を削除
ABBAAB.TXT → AAAB.TXT
ACCAAC.TXT → AAAC.TXT

265 名前:デフォルトの名無しさん mailto:sage [2025/07/13(日) 21:04:57.49 ID:Dpndt2SK.net]
iOSです
このスレで訊いて良いのかわかりませんが
Instagramの画像はその投稿のURL、例えばこれ↓

https://www.instagram.com/p/DL6O8f3zfb-/

の末尾に「media/?size=l&.jpg」を加えると投稿の一枚目の画像URLになります


https://www.instagram.com/p/DL6O8f3zfb-/media/?size=l&.jpg

しかし、2枚目以降の画像URLがわかりません
「media/?size=l&.jpg」をいじって2枚目以降の画像URLが作れませんでしょうか
ご教授お願いします

266 名前:デフォルトの名無しさん mailto:sage [2025/07/13(日) 21:12:41.07 ID:SOWPf8Mn.net]
正規表現関係ねーw

267 名前:デフォルトの名無しさん mailto:sage [2025/07/13(日) 21:19:50.98 ID:Dpndt2SK.net]
どこで訊いたら良いのかわからず、パソコン詳しい人が多そうなここで質問させて頂きました

268 名前:デフォルトの名無しさん mailto:sage [2025/07/14(月) 01:14:36.64 ID:KR/EmCR1.net]
和んだ

269 名前:デフォルトの名無しさん mailto:sage [2025/07/14(月) 02:28:52.50 ID:yh4CMksV.net]
PC詳しい人が多そうなスレでそういう質問を受け付けていると
馬鹿が多そうなスレに成り下がると気が付かないものかね

270 名前:デフォルトの名無しさん mailto:mailto:sage [2025/07/25(金) 05:51:04.25 ID:3r8TzWYu.net]
>>264
sed の出番か?



271 名前:デフォルトの名無しさん [2025/08/09(土) 13:09:26.08 ID:AY2Xi2Yg.net]
SNSやWeb検索もたいてい正規表現対応してるからプログラミング以外で活用できる場面が増えてなんか嬉しい

272 名前:デフォルトの名無しさん mailto:sage [2025/08/14(木) 17:46:16.07 ID:ll+c+ksk.net]
そんなに対応してるのある?

273 名前:デフォルトの名無しさん mailto:age [2025/09/29(月) 18:28:57.47 ID:omFFHDum.net]
^[^:]+://+([^:/]+\.)?

これの//+部分って//だけで問題ありますか?

274 名前:デフォルトの名無しさん mailto:sage [2025/09/29(月) 19:15:27.09 ID:QGaGSVZY.net]
>>273
その正規表現の目的は理解できてるの?

275 名前:デフォルトの名無しさん mailto:sage [2025/09/29(月) 21:45:19.64 ID:SNsW5d6C.net]
>>273
スラッシュをエスケープしなきゃいけない環境で使う正規表現かどうかによる
エスケープしなきゃいけない環境なら問題があるしそうじゃない環境なら問題ない

276 名前:デフォルトの名無しさん mailto:sage [2025/09/29(月) 22:25:44.67 ID:RjmgsX7I.net]
file://で次が/になる場合はある

https://en.wikipedia.org/wiki/File_URI_scheme

277 名前:デフォルトの名無しさん mailto:sage [2025/09/29(月) 22:54:22.13 ID:FkLCZ8/e.net]
何にマッチさせたいかによるわな

278 名前:デフォルトの名無しさん [2025/10/25(土) 12:46:17.09 ID:BjPJz/dc.net]
【悲報】4/24に鬼車がgithubで開発終了したのに続いて
鬼雲(bregonig.dll)の公式サイトが9/30で閉鎖
k-takata.o.oo7.jp/
https://x.com/k_takata/status/1970461557374230654

279 名前:デフォルトの名無しさん mailto:sage [2025/10/28(火) 01:47:57.16 ID:WdB2Psfo.net]
鬼車はJavaScriptの仕様に寄せろと細かいことまで言われて
嫌気がさしたのかなという印象だけど真相は作者のみぞ知るか

ただ最近はDFAキャッシュを使うエンジンの台頭で
これとかboost.regexが速いとされた時代はとうに終わってるんで
マルチバイト対応を必要とする人以外はあまり影響ない気もする

280 名前:デフォルトの名無しさん [2025/11/02(日) 19:07:30.81 ID:vGsY1NrW.net]
「正規表現技術入門」を読むと、GNU grep ではマッチング途中で必要になった部分だけ
オンデマンドで DFA を構成していく On-the-Fly 構成法を使っている、と書かれてるけど
どのレベルから On-the-Fly してるんでしょ ?

部分集合構成法で NFA を DFA に変換する所からなのか、もっと前のε-遷移除去からなのか
あるいはさらに前の正規表現をパースして NFA を作る所も On-the-Fly なんですかね ?

GNU grep のソース見ろと言われそうだけど



281 名前:デフォルトの名無しさん mailto:sage [2025/11/02(日) 20:01:30.27 ID:JoUIYtII.net]
正規表現の枠を超える後方参照(\1)とかで使ってそう
あれが絡むと事前にDFA作れない

282 名前:デフォルトの名無しさん mailto:sage [2025/11/02(日) 20:13:48.87 ID:JoUIYtII.net]
正則言語の枠か
用語がちょっと怪しい

283 名前:デフォルトの名無しさん mailto:sage [2025/11/03(月) 19:15:39.49 ID:6hs01YZr.net]
>>280
自己レス。AI に聞いたら

| GNU grepでは、DFA の生成に On-the-Fly(実行時逐次的)な手法を採用していますが、
| それは基本的に部分集合構成法を逐次的に行うことを意味します。
| ε遷移の除去も、このプロセスの中で実質的に On-the-Fly で行われます。

とのことでした。やっぱε-除去も On-the-Fly なのか、ムズいなー

>>281
GNU grep の On-the-Fly 法は、到達しない状態ノードを作らないようにすることで
省メモリ化と高速化が目的なので、DFA の構造自体が動的に変わるものではないと思ってました。

で、言われるように後方参照は正規言語のクラスを超えてるので、DFA 型エンジンでは
普通は実現出来ないのだけど、「正規表現技術入門」では

| GNU grep は基本的に DFA 型ですが、部分的(後方参照への対応のためなど)に一部
| VM 型のアプローチもとっています。

とかさらっと書いてあるだけで、具体的な記述はないんすよね (やっぱ入門書だな)。

でも言われてみれば、On-the-Fly 的に動的に DFA を構成して行けば、それで後方参照も
実現出来そうな気がしてきた。バックトラックとか面倒そうだけど一考の価値はあるかも

GNU grep もそうやって実装してる ? かどうかは分からないけど

284 名前:デフォルトの名無しさん mailto:sage [2025/11/05(水) 01:01:25.63 ID:hq1L/1I1.net]
それわかったらなんか良いことあるの(クルクルパー

285 名前:デフォルトの名無しさん mailto:sage [2025/11/07(金) 00:31:17.29 ID:Ua2fzQVD.net]
NFA使わずに正規表現から直接DFAを構成する方法がDragon Bookに書いてあるけど
この書籍は今もDragon Bookで通じるのかな
もう古文書扱いされてそう

286 名前:デフォルトの名無しさん mailto:sage [2025/11/07(金) 17:38:51.77 ID:2v77MqUc.net]
>>285
情報ありがとうございます
やはりドラゴンブックは読まざるを得ない感じですかね
読んでみます (気は重いけどw)

287 名前:デフォルトの名無しさん mailto:sage [2025/11/07(金) 18:36:08.56 ID:Ua2fzQVD.net]
Dragon Bookでpdf検索すると大学のサイトとかで英語版が引っ掛かるけど旧版はセーフなのかな
DFAの構成法は第2版だと3.9節
少なくとも3章は最初から読んだ方がいいと思う
コンパイラに興味ないなら全部読む必要はない

288 名前:デフォルトの名無しさん mailto:sage [2025/11/07(金) 19:00:36.04 ID:Ua2fzQVD.net]
そういえば正規表現自体の解析で4章前半のTop-Down Parsingくらいまでは役に立つかも

289 名前:デフォルトの名無しさん mailto:sage [2025/11/07(金) 20:27:12.90 ID:2v77MqUc.net]
>>287
ありがとうございます。旧版 (日本語訳) はT、U共にさっき中古をポチりました
届くのは来週末だけど、図書館に第二版があるようなので明日行ってきます
コンパイラに興味ない、とまでは言わないけど、果たしてそこまで手を広げられるものなのか心許ないす

290 名前:デフォルトの名無しさん mailto:sage [2025/11/11(火) 08:03:53.83 ID:TgiPYl91.net]
こういう方に最新版をポンと出す制度にならんもんかな



291 名前:デフォルトの名無しさん mailto:sage [2025/11/11(火) 14:34:01.30 ID:XyI6oP+4.net]
複数の正規表現を使い分けられる記法があるといい

292 名前:デフォルトの名無しさん mailto:sage [2025/11/20(木) 00:34:25.20 ID:mbRrNt6G.net]
DragonBook (第2版) の第3章まで読んだら、>>280 に書いた ε-遷移についての最初の疑問も氷解してしまったので、
一応伏線回収しておきます

「正規表現技術入門」では、ε-遷移を除去した後で部分集合構成法を行う、という流れで記述されていたので、
部分集合構成法を行うには前もって ε-遷移を除去しなければならない、と思い込んでいたのだけど、
その必要は全くなかったのでした

部分集合構成法の処理の中で一つ部分集合が得られたら、その集合の ε-閉包を取って
(その集合に そこから ε-遷移する状態を全て加えて)、それを DFA の 1 状態とすればよいだけなのでした

>>283 に書いた AI の回答が何となく歯切れが悪かった理由もこれで納得出来たわけで、
何でこんな簡単なことを思い付かなかったのか、我ながらアホでしたね

「正規表現技術入門」は章ごとに執筆者が違っていて、VM 型エンジンの章は鬼雲の作者が直々に書いていて説得力があるのですが、
DFA 型エンジンの章、とくにこの ε-遷移あたりの記述は今一つな感じです (エラそうに言ってますが)

--
ところで DragonBook 3.9 節の「正規表現から直接 DFA を導くやり方」も読みました
シンプソン構成法を経由せず、構文木から DFA を導くのはスゲーと思ったのですが
followpos() の張るダイアグラムは一種の NFA 的なものなので、それを DFA に変換する時には
やはり部分集合構成法と同じ手法を使うわけですね
とは言え ε-遷移が存在しないので扱う状態数もずっと少なくて済むはずなので、
これを使って On-the-Fly 法を実装して行きたいと思ってます

何にせよ、DragonBook を読めと言ってくれた >>285 さんには感謝しかないです
ありがとうございました

293 名前:デフォルトの名無しさん mailto:age [2025/11/20(木) 01:53:23.80 ID:MRBYucy1.net]
●Regular Expressionの使用環境
 Java1.5
●検索か置換か?
 検索
●説明
 http://とhttps://があるもしくはない場合のドメインとサブドメインを検索したい
 自分で考えた以下の正規表現だと、.から始まる不正なURLまで一致してしまいダメでした
^(https?://)?(.*\.)?doubleclick.net
●対象データ
#一致させたいものは以下
doubleclick.net/pagead/
https://doubleclick.net/pagead/
g.doubleclick.net/pagead/
https://g.doubleclick.net/pagead/
googleads.g.doubleclick.net/pagead/
https://googleads.g.doubleclick.net/pagead/
doubleclick.net/pagead/
g.doubleclick.net/pagead/
googleads.g.doubleclick.net/pagead/

#一致させたくないものは以下
.doubleclick.net/pagead/
https://.doubleclick.net/pagead/
.g.doubleclick.net/pagead/
https://.g.doubleclick.net/pagead/
.a.g.doubleclick.net/pagead/
https://.a.g.doubleclick.net/pagead/
.doubleclick.net/pagead/
.g.doubleclick.net/pagead/
0doubleclick.net/pagead/
0doubleclick.net/pagead/
https://0doubleclick.net/pagead/

294 名前:デフォルトの名無しさん mailto:sage [2025/11/20(木) 09:40:15.39 ID:Mz3QCXK6.net]
その処理系で文字クラスが使えるなら (.*\.)? を ([^.0].*\.)? とすればイケるハズ

295 名前:293 mailto:age [2025/11/20(木) 15:17:38.43 ID:MRBYucy1.net]
>>294
レスありがとうございます
以下の2行は一致しなくなりましたが、
.doubleclick.net/pagead/
.g.doubleclick.net/pagead/

以下の6行は一致してしまいました
.doubleclick.net/pagead/
https://.doubleclick.net/pagead/
.g.doubleclick.net/pagead/
https://.g.doubleclick.net/pagead/
.a.g.doubleclick.net/pagead/
https://.a.g.doubleclick.net/pagead/

296 名前:デフォルトの名無しさん mailto:sage [2025/11/20(木) 16:30:51.92 ID:0pUMlwmF.net]
"doubleclick.net"は決め打ちでいいのかな

Pattern p = Pattern.compile("^(?:https?://)?((?:[^./?#]+\\.)*doubleclick\\.net)(?=[:/]|$)");

マッチした後の処理は分からんけど動作例
https://ideone.com/3WFyH6

297 名前:293 mailto:age [2025/11/20(木) 21:15:50.67 ID:MRBYucy1.net]
>>296
レスありがとうございます
せっかく教えていただいたのにすみません、JavaではなくてJavaScriptでしたので動作しませんでした

チェッカー
https://www-creators.com/tool/regex-checker

298 名前:デフォルトの名無しさん mailto:sage [2025/11/20(木) 21:32:25.61 ID:0pUMlwmF.net]
今時分にJava1.5でおかしいと思ったけどスルーしてしまった
文字列でエスケープしてる\\を\に直せば使えるはず
ついでに?と#を先読みに追加した(多分いらない)

^(?:https?://)?((?:[^./?#]+\.)*doubleclick\.net)(?=[:/?#]|$)

299 名前:293 mailto:age [2025/11/20(木) 21:52:35.87 ID:MRBYucy1.net]
>>298
度々ありがとうございます
完璧に動作しました!
助かりました

未だに先読みと後読みが使いこなせず・・・詰んでました

300 名前:デフォルトの名無しさん mailto:sage [2025/11/20(木) 23:34:16.70 ID:mbRrNt6G.net]
>>292
シンプソン構成法じゃなくてトンプソン構成法でした。すまそん
尊敬する Ken Thompson の名前を間違えるとはヤバ過ぎ



301 名前:デフォルトの名無しさん mailto:sage [2025/11/22(土) 12:38:05.41 ID:Vr8VfdEk.net]
黄色くなりそう

302 名前:デフォルトの名無しさん mailto:age [2025/12/03(水) 23:55:16.13 ID:qGMLhXHy.net]
よろしくお願いします

●Regular Expressionの使用環境
 サクラエディタ32bit Ver2.4.2.6048(bregoing.dll Ver.4.20 with Onigmo 6.2.0)

●検索か置換か?
 検索

●説明
 1行に複数ある□=■■■;の■■■;(セミコロンも含む)部分を抽出したいです
 ※フォントに色付けしたいため

●対象データの1行に対して他の色付けの正規表現も使っています
  1.txt部分の着色用正規表現 /^(a|mx|cname|srv|txt|@|www)/k
  2._dmarc.example.com部分の着色用正規表現 /(?<=^a |mx |cname |srv |txt )(\S)+\s/k
 
●対象データ
txt _dmarc.example.com v=DMARC1; p=reject; rua=mailto:dmarc_rua@example.com; ruf=mailto:dmarc_ruf@example.com; fo=1; adkim=s; aspf=s;

303 名前:302 mailto:age [2025/12/04(木) 00:04:57.89 ID:VPJDZJTH.net]
/(?<==)(\S)+/kで出来ました
ありがとうございました

304 名前:デフォルトの名無しさん mailto:sage [2025/12/04(木) 06:08:13.61 ID:eAywzaH6.net]
どういたしまして!

305 名前:デフォルトの名無しさん mailto:sage [2025/12/06(土) 22:50:10.26 ID:2DkcA45J.net]
セミコロンはどこいった

306 名前:デフォルトの名無しさん mailto:sage [2025/12/07(日) 02:42:31.53 ID:R0icGBd3.net]
DMARCレコードの末尾はセミコロンなくてもいいからじゃね?
それより修飾子kがなにかきになる

307 名前:デフォルトの名無しさん [2025/12/07(日) 07:46:42.62 ID:UCYK391B.net]
プログラムでなくて正規表現メモパッド環境での質問でも良いですか
任意の文字をHTMLエンコード(16進数数値文字参照)するコマンドってありますか

文章:正規表現
検索:規
置換:⸨REGEXコマンド⸩
結果:正&#x898F;表現

的な

308 名前:デフォルトの名無しさん [2025/12/07(日) 11:24:43.85 ID:DIZ3oEXF.net]
イヤん置換

309 名前:デフォルトの名無しさん mailto:sage [2025/12/07(日) 14:08:32.54 ID:9FE0dLzx.net]
>>306
>DMARCレコードの末尾はセミコロンなくてもいいからじゃね?
なるほどね

>それより修飾子kがなにかきになる
文字のハイライトをしたいときに使うオプションのようだけど
/kが必要になる理由は分からないな

310 名前:デフォルトの名無しさん mailto:sage [2025/12/07(日) 16:01:19.36 ID:W5rWTuKC.net]
使ってるAPI関係の話みたいだよ
-------
Bregexp.dll for SAKURA 互換 API
BMatch(), BMatchEx(), BSplit()
  /pattern1/options
  m/pattern1/options
BSubst(), BSubstEx()
  s/pattern1/pattern2/options
BTrans()
  tr/pattern3/pattern4/options
  y/pattern3/pattern4/options (Ver.3 以降)

options
 k - 文字を日本語(Shift_JIS)として扱うが、Unicode API 利用時は無視される(Bregexp.dll 独自拡張)
-------

hintヒント
正規表現を検索、置換、Grepで利用する場合、「/」をエスケープしたり、「/」で囲ったりする必要はありません。
正規表現キーワードで使う場合は、/text\/css/k のように「/」をエスケープするか m#text/css#k のように書く必要があります。

hint追加情報
検索、置換、Grepでは、正規表現ライブラリに渡す文字列を以下のようにしています。[DELIMITER]は、0xffのバイナリ表記とします。
Unicode版では U+FFFF です。
検索時のオプションは「m[DELIMITER]Pattern[DELIMITER]km」です。
置換時のオプションは「s[DELIMITER]PatternBefore[DELIMITER]PatternAfter[DELIMITER]km」です。
デリミタ相当の文字を検索・置換するにはエスケープが必要です。
また大文字小文字を区別しない場合は最後に「i」が付加されます。
すべて置換で「すべて置換は置換の繰返し」がOFFの場合は「g」が付加されます。
(mオプションが付いていますが、改行をまたいだ検索はできません。)



311 名前:デフォルトの名無しさん mailto:sage [2025/12/07(日) 16:06:20.28 ID:W5rWTuKC.net]
サクラエディタにはUnicode版もあるらしいが、そこでも //k が使われるのかは不明
まあこれをそのままユーザーに指定させるってのもどうかなってのは思う

312 名前:デフォルトの名無しさん mailto:sage [2025/12/07(日) 19:50:15.24 ID:FNtb5kKI.net]
bregoing

313 名前:デフォルトの名無しさん mailto:sage [2025/12/07(日) 20:01:45.27 ID:W5rWTuKC.net]
>>312
上のAPIの説明はbregonig.dll(v4.20)に付属の説明書からの抜き出しだよ
4. API
4.1. Bregexp.dll 互換 API (ANSI/Shift_JIS)
以下の Bregexp.dll 互換の API が使用できます。
•BMatch()
•BSubst()
•BTrans()
•BSplit()
•BRegfree()
•BRegexpVersion()
また、以下の Bregexp.dll for SAKURA 互換の API も使用できます。
•BMatchEx()
•BSubstEx()
pattern2, options の部分は bregonig.dll が自前で処理を行っており、Onigmo や Bregexp.dll あるいは Perl とは多少仕様が異なっています。(詳細は後述)
Bregexp.dll に比べて、BMatch(), BSubst(), BSplit() で s, x, a, u, R が使えるように拡張されています。なお、x は pattern1 にのみ効果があり、pattern2 には効果はありません。
Unicode API 利用時は k オプションは無視されます。漢字は常に使用可能です。
5.4. Bregexp.dll との非互換点
•オプションで k (日本語モード) を指定すると、\w は [A-Za-z0-9_] だけでなく、2バイト文字(漢字等)にもマッチするようになります。一方、Bregexp.dll では、オプション k の有無に関わらず、\w は [A-Za-z0-9_] と同義です。なお、Perl 5.8 でも、検索対象が Unicode 文字列(utf8 フラグがオン)ならば、\w は多バイト文字にもマッチします。Bregexp.dll と同じ動作にするには、オプション a を指定してください。
•Onigmo 自体は各種文字エンコーディングに対応していますが、bregonig.dll は Bregexp.dll との互換性のため、従来 API では、ASCII と Shift_JIS 以外の文字エンコーディングは使用できません。(新 API を使うことで、Ver.2 以降では UTF-16LE、Ver.3 以降では UTF-8 も使えます。)

314 名前:デフォルトの名無しさん mailto:sage [2025/12/08(月) 12:26:55.03 ID:Uac8TKoK.net]
Bregexp.dllの頃から使われてたオプションっぽいね、20年前にはあったオプションかも

315 名前:デフォルトの名無しさん mailto:sage [2025/12/08(月) 21:08:56.84 ID:Uac8TKoK.net]
2007年08月13日 の投稿に/kを確認
https://sakura-editor.github.io/bbslog/sf/ansi/4937.html#4960

>正規表現キーワード /\b([0-9A-F]{2})+(?=h)?/k

bregonig.dllを導入するときに/kが必要になった可能性もあるのか
しかしこれ以上調べる気にはなれなかった

316 名前:デフォルトの名無しさん mailto:sage [2025/12/08(月) 21:53:56.42 ID:PdAyBLn5.net]
面白いわくわくする

317 名前:デフォルトの名無しさん mailto:age [2025/12/12(金) 00:35:57.86 ID:qdqoL0/s.net]
よろしくお願いします

●Regular Expressionの使用環境
 サクラエディタ32bit Ver2.4.2.6048(bregoing.dll Ver.4.20 with Onigmo 6.2.0)

●検索か置換か?
 検索

●説明
 いかのアドレス範囲に一致させたい

●対象データ
151.145.0.0〜151.145.127.255

318 名前:317 mailto:age [2025/12/12(金) 00:48:13.98 ID:qdqoL0/s.net]
これで合ってますか?
(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)){3}

319 名前:317 mailto:age [2025/12/12(金) 00:51:57.92 ID:qdqoL0/s.net]
間違えました

これで合ってますか?
(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)){3}

320 名前:317 mailto:age [2025/12/12(金) 00:52:53.14 ID:qdqoL0/s.net]
また間違えてました・・・すみません

これで合ってますか?
151.145.(0|[1-9][0-9]?|1(0|1)[0-9]|12[0-7]).(0|[1-9][0-9]?|1[0-9]{2}|2[0-4][0-9]|25[0-5])



321 名前:デフォルトの名無しさん mailto:sage [2025/12/12(金) 01:16:30.11 ID:9WR4PduZ.net]
細かい部分は見てないけど
とりあえず区切りの.はエスケープしないといけない

322 名前:デフォルトの名無しさん mailto:sage [2025/12/12(金) 01:18:48.94 ID:/Lx6Nx9f.net]
IPアドレスに正規表現を使うなとは言っちゃダメなんだよね

323 名前:デフォルトの名無しさん mailto:sage [2025/12/12(金) 01:28:18.32 ID:spFFJYjp.net]
その心は?

324 名前:デフォルトの名無しさん mailto:sage [2025/12/12(金) 01:54:49.45 ID:9WR4PduZ.net]
これ前後切らないと"151.145.127.256"が"151.145.127.25"で引っ掛かるな
10進数以外の表記が混ざってたら知らん

(?<!\d)(151\.145\.(([1-9]|1[01])?[0-9]|12[0-7])\.(([1-9]|1[0-9]|2[0-4])?[0-9]|25[0-5]))(?!\d)

325 名前:デフォルトの名無しさん mailto:sage [2025/12/12(金) 02:17:39.16 ID:VvvzoDh6.net]
JSマクロで正規表現は文字列マッチまでにして
数値の評価はコードでやるのが素直ちゃうかな

326 名前:デフォルトの名無しさん mailto:sage [2025/12/12(金) 03:07:41.77 ID:I1NVdYVn.net]
bregoing

327 名前:317 mailto:age [2025/12/12(金) 09:10:56.65 ID:qdqoL0/s.net]
>>324
ありがとうございました!
ログの抽出なので、.256は記録自体されないので大丈夫でした
助かりました

328 名前:317 mailto:age [2025/12/12(金) 09:21:33.13 ID:qdqoL0/s.net]
度々すみません
よろしくお願いします

●Regular Expressionの使用環境
 サクラエディタ32bit Ver2.4.2.6048(bregoing.dll Ver.4.20 with Onigmo 6.2.0)
●検索か置換か?
 検索
●説明
 1この数字(15080)だけ除外して、他の全ては一致させたい
●対象データ
 10000〜65535
●結果
 15080だけ除外したい

329 名前:317 mailto:age [2025/12/12(金) 09:38:11.84 ID:qdqoL0/s.net]
また頑張って考えてみたのですが合ってますか?

(6(0-4(0-9)(0-9)(0-9)|5(0-4(0-9)(0-9)|5(0-2(0-9)|(3)0-5))))

330 名前:317 mailto:age [2025/12/12(金) 09:41:37.19 ID:qdqoL0/s.net]
全然ダメでした・・・



331 名前:317 mailto:age [2025/12/12(金) 09:53:53.88 ID:qdqoL0/s.net]
訂正してみました
(1-5(08(1-9)|(1-9)(1-9)(1-9))|6(0-4(0-9)(0-9)(0-9)|5(0-4(0-9)(0-9)|5(0-2(0-9)|(3)0-5))))

332 名前:デフォルトの名無しさん mailto:sage [2025/12/12(金) 10:50:58.26 ID:LKIn+XBY.net]
(?<!\d)(?!15080(?!\d))\d+

333 名前:317 mailto:age [2025/12/12(金) 12:06:38.03 ID:qdqoL0/s.net]
>>332
それだと9999なども一致していまいました・・・
一致させたいのは以下の通り15080を除く10000〜65535の数字です

●対象データ
 10000〜65535
●結果
 15080だけ除外したい

334 名前:デフォルトの名無しさん mailto:sage [2025/12/12(金) 12:13:35.22 ID:rpg4U98A.net]
エディタで実行するってことは手作業が前提なのかな?
それなら検索に先立って 15080 を 💩 に置換しておく方が手っ取り早い

335 名前:デフォルトの名無しさん [2025/12/12(金) 12:54:36.94 ID:5G5yyPjc.net]
(?!15080)(5桁特定範囲マッチ文)
あとは任せた

336 名前:デフォルトの名無しさん mailto:sage [2025/12/12(金) 14:08:50.61 ID:GFwk6EHV.net]
ログ抽出なら普通にgrepすればいいじゃん
除外したければgrep結果に-vで再grep

337 名前:317 mailto:age [2025/12/12(金) 19:24:53.03 ID:qdqoL0/s.net]
>>335
肝心な部分たのまい!

338 名前:デフォルトの名無しさん mailto:sage [2025/12/12(金) 19:47:36.13 ID:9WR4PduZ.net]
(?!15080)([1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])

6桁以上を除外するなら
(?<!\d)((?!15080)([1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))(?!\d)

339 名前:317 mailto:age [2025/12/12(金) 19:49:17.82 ID:qdqoL0/s.net]
>>335
ありがとうございます
これで合ってますか?
(?!15080)(([1-5]([0-9])([0-9])([0-9])([0-9]))|(6([0-4]([0-9])([0-9])([0-9])|5([0-4]([0-9])([0-9])|5([0-2]([0-9])|(3)[0-5])))))

340 名前:317 mailto:age [2025/12/12(金) 19:50:24.52 ID:qdqoL0/s.net]
>>338
超ありがとうございます!
教えていただいたこちら使わせていただきます
助かりました
(?!15080)([1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])



341 名前:317 mailto:age [2025/12/12(金) 21:51:03.49 ID:qdqoL0/s.net]
>>334
スクリプト作るのがめんどくさくてサクラエディタのキーマクロで置換してたんですけど
つい先ほどWSH(JScript)で置換することにしました
💩速くなりました

342 名前:デフォルトの名無しさん mailto:sage [2025/12/12(金) 22:25:23.79 ID:lKBtIMua.net]
すっきり快便

343 名前:デフォルトの名無しさん mailto:sage [2025/12/13(土) 01:35:26.40 ID:klNuhF9X.net]
JScriptで検索自体を素直に書けるのに正規表現のみにこだわる必要がない
外部コマンドでタグジャンプ用の出力するのもあり

344 名前:デフォルトの名無しさん [2025/12/14(日) 10:09:57.70 ID:+W6SCkp6.net]
先読みアサーションって、(マッチさせたい文字列に対応する)本体パターンの後ろに書くものだと思っていたけど、340みたいに前に書くのも一般的なのかな?

(?!15080)([0-9]{5}) が15080にマッチしないのが先読みアサーションの意味論に照らして正しいのか個人的にちょっと自信が持てない(というか疑わしく思う)んだが。
戻り読みアサーションの(?<!15080)([0-9]{5})は15080にマッチするし、こちらの方が意味論どおりの動作のような気がするんだけど。

345 名前:デフォルトの名無しさん mailto:sage [2025/12/14(日) 10:25:19.80 ID:tGd21ggn.net]
先読みは次に15080が出てこない条件下で後続の5桁の数字にマッチさせる形だから大丈夫そう

戻り読みだと手前に15080が出てこない条件下で後続の5桁の数字にマッチさせるから
1508015080でない限り後続の15080にマッチする

346 名前:デフォルトの名無しさん [2025/12/14(日) 10:32:54.84 ID:4RDsvJB6.net]
本体部分のパターンが [0-9]{5} なんだから、先読み・戻り読みのアサーション条件をクリアする限り、15080にもマッチするのが意味論どおりの動作ではないかということなんだが。

347 名前:デフォルトの名無しさん mailto:sage [2025/12/14(日) 11:08:03.17 ID:Pr7gBHpv.net]
ここでグラフィカルに確認できる
https://www.debuggex.com/

348 名前:デフォルトの名無しさん mailto:sage [2025/12/14(日) 11:12:12.21 ID:C4yAKXLX.net]
先読みは位置を動かさない
つまり、この場合「本体」部分にその文字列が無いのが条件となる

349 名前:デフォルトの名無しさん mailto:sage [2025/12/14(日) 11:14:59.12 ID:Pr7gBHpv.net]
(?!15080)([0-9]{5})
1508015080は50801にマッチ
15079は15079にマッチ

(?<!15080)([0-9]{5})
1508015080は15080にマッチ ←ここ
15079は15079にマッチ

350 名前:デフォルトの名無しさん mailto:sage [2025/12/14(日) 11:24:53.49 ID:C4yAKXLX.net]
よくある使い方
((?!abc).)+
abcでない文字列



351 名前:デフォルトの名無しさん mailto:sage [2025/12/14(日) 11:28:30.93 ID:C4yAKXLX.net]
1文字の場合は [^a]+
これの複数文字パターンってこと

352 名前:デフォルトの名無しさん [2025/12/14(日) 11:47:42.73 ID:4RDsvJB6.net]
うーん、ちょっとアサーションについて誤解していたところがあったかも。考え直してみますわ。

353 名前:デフォルトの名無しさん mailto:sage [2025/12/14(日) 12:38:24.68 ID:C4yAKXLX.net]
順序を逆にすると本体部分で位置が進むので
([a-z](?!abc))+
abcd → abcd ;先頭はabcだがaの後ろにはabcがないのでaにもマッチする
xabcd → abcd
[a-z]+(?!abc)なら
xabcd → xabcd ; [a-z]+でxabcdがマッチしその後ろにはabcが無いので
[a-z]+(?<!bcd)なら
abcd → abc ; abcdと進んでいくとbcdにマッチするので逆行してabcでストップする

354 名前:デフォルトの名無しさん [2025/12/14(日) 20:13:40.52 ID:pwvrkpuI.net]
この正規表現で前後の半角空白を除く
descriptionだけを一致させる正規表現を教えて欲しいです
環境はサクラエディタです

/ ?description /

355 名前:デフォルトの名無しさん mailto:sage [2025/12/14(日) 21:35:52.99 ID:IHataGt8.net]
/description(?= )/

356 名前:デフォルトの名無しさん [2025/12/14(日) 21:55:21.25 ID:pwvrkpuI.net]
>>355
ありがとうございました!

357 名前:デフォルトの名無しさん mailto:sage [2025/12/14(日) 23:41:29.96 ID:IHataGt8.net]
>>346
戻り読み・先読みアサーションにはそれぞれ肯定と否定があります
(?<=肯定戻り読み) (?=肯定先読み)
(?<!否定戻り読み) (?!否定先読み)

358 名前:デフォルトの名無しさん mailto:sage [2025/12/15(月) 15:01:06.10 ID:3kfMtGyS.net]
複雑な正規表現をawkなどに書き換える、
逆に正規表現に戻す
そんなツールがあればいいのに

359 名前:デフォルトの名無しさん [2025/12/15(月) 15:36:51.41 ID:u2LUgxm/.net]
AIωにやらせてみたら

360 名前:デフォルトの名無しさん mailto:sage [2025/12/29(月) 21:58:52.64 ID:mqxopxhe.net]
●Regular Expressionの使用環境
 bregonig.dll Ver.4.20 with Onigmo 6.2.0 (JaneXeno)
●検索か置換か?
 置換
●説明
 URLの一部が削られた文字列を置換したい
●対象データ
 ttps://mevius.5ch.net/その他文字列
 tps://mevius.5ch.net/その他文字列
 ps://mevius.5ch.net/その他文字列
 s://mevius.5ch.net/その他文字列
 ://mevius.5ch.net/その他文字列
 //mevius.5ch.net/その他文字列
 /mevius.5ch.net/その他文字列
 mevius.5ch.net/その他文字列

 ttp://mevius.5ch.net/その他文字列
 tp://mevius.5ch.net/その他文字列
 p://mevius.5ch.net/その他文字列
●結果
 https://mevius.5ch.net/その他文字列
 https://mevius.5ch.net/その他文字列
 https://mevius.5ch.net/その他文字列
 https://mevius.5ch.net/その他文字列
 https://mevius.5ch.net/その他文字列
 https://mevius.5ch.net/その他文字列
 https://mevius.5ch.net/その他文字列
 https://mevius.5ch.net/その他文字列

 mevius.5ch.net/その他文字列
 mevius.5ch.net/その他文字列
 mevius.5ch.net/その他文字列



361 名前:360 mailto:sage [2025/12/29(月) 21:59:07.48 ID:mqxopxhe.net]
よろしくお願いします

362 名前:デフォルトの名無しさん mailto:sage [2025/12/30(火) 05:55:09.00 ID:bcWUa/MK.net]
^.*(mevius\.5ch\.net/.*)
https://\1
ニャン美mevius.5ch.net/その他文字列も置換されちゃう

363 名前:デフォルトの名無しさん mailto:sage [2025/12/30(火) 06:05:12.11 ID:RY68pJU/.net]
>>362
最初のドットを文字クラス [htps:/] にするとか
少なくとも誤爆は減らせるはず

364 名前:360 mailto:sage [2025/12/30(火) 11:26:41.11 ID:08XhdD3t.net]
>>362
すみません、この部分はランダムでした
mevius.5ch.net/その他文字列

365 名前:デフォルトの名無しさん mailto:sage [2025/12/30(火) 13:59:05.54 ID:kaQsBrDf.net]
(((((((h?t)?t)?p)?s?)?:)?/)?/)?【残り部分】
https://【残り部分】

俺の頭ではhttps決め打ちしかできませんでした

366 名前:360 mailto:sage [2025/12/30(火) 18:13:17.87 ID:08XhdD3t.net]
1個ずつ置換することにしました

367 名前:デフォルトの名無しさん mailto:sage [2025/12/30(火) 19:42:45.38 ID:OIM6lPsW.net]
1個ずつ置換のほうが処理速度が早いからそれで良いかと

368 名前:デフォルトの名無しさん mailto:sage [2026/01/03(土) 10:24:35.26 ID:1DqJer1z.net]
株式会社アイ・エス・ビー
https://kizuna.5ch.net/test/read.cgi/infosys/1756826944/






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<90KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef