23/12/16 08:59:20.50 uVHZ7e2j.net
Regular Expressionスレです。
質問する場合は必ず実装言語や処理系ソフトウェア名を示してください。
前スレ
Regular Expression(正規表現) Part16
スレリンク(tech板)
次スレは>>980宜しく
テンプレ>>2以降
2:デフォルトの名無しさん
23/12/16 08:59:57.66 uVHZ7e2j.net
スルーされにくい質問のテンプレと例
●Regular Expressionの使用環境
Java1.5
●検索か置換か?
検索
●説明
各行の1番目のAまでを検索したい
●対象データ
ABCA
BCAA
CABA
●希望する結果
ABCA
^
BCAA
^^^
CABA
^^
※ ^ はアンダーラインだそうな ^^;
3:デフォルトの名無しさん
23/12/16 09:00:18.14 uVHZ7e2j.net
◆関連サイト
正規表現メモ
URLリンク(www.kt.rim.or.jp)
Perl正規表現雑技
URLリンク(www.din.or.jp)
詳説 正規表現
URLリンク(www.oreilly.co.jp)
正規表現クックブック
URLリンク(www.oreilly.co.jp)
正規表現プログラミングFAQ
URLリンク(capslockabcjp.kitunebi.com)
.NET Framework の正規表現 | Microsoft Docs
URLリンク(docs.microsoft.com)
正規表現 - JavaScript | MDN
URLリンク(developer.mozilla.org)
鬼車
URLリンク(github.com)
鬼雲
URLリンク(github.com)
bregonig.dll(鬼雲の正規表現をサクラエディタ等で使用するためのライブラリ)
URLリンク(k-takata.o.oo7.jp)
Boost.Regex 1.45.0 (日本語訳)
URLリンク(alpha.sourceforge.jp)
秀丸: 複数行にまたがる検索について
URLリンク(homepage2.nifty.com)
サクラエディタ: 改行
URLリンク(d.hatena.ne.jp)
※ サクラエディタでは複数行に渡る検索・置換は出来ません。
4:デフォルトの名無しさん
23/12/16 09:00:38.18 uVHZ7e2j.net
正規表現技術入門
URLリンク(gihyo.jp)
↑の著者の一人であり Onigmo(鬼雲)やbregonig.dll の作者でもあるtakata先生のツイとQiitaの記事
URLリンク(twitter.com)
鬼雲に非包含オペレータを実装した話
URLリンク(qiita.com)
(deleted an unsolicited ad)
5:デフォルトの名無しさん
23/12/16 17:18:36.20 ZkpISsx+.net
>>1 乙 前スレ消化するのに2年かかってるから次スレは2025年末か
6:デフォルトの名無しさん
23/12/16 19:02:49.70 UfR4i5aB.net
MSの.NETとMDNのJSの説明はよいけど
Perlはperlreを載せるべきじゃ
7:デフォルトの名無しさん
23/12/16 21:11:50.18 ZkpISsx+.net
正規表現スレのテンプレにperl公式が無かったのかw
詳説 正規表現ももうだいぶ古い
近頃の正規表現エンジンが進化しすぎてもう本に全部まとめられないよね
perlの正規表現の解説だけで1冊分になってしまいそう
>スルーされにくい質問のテンプレと例
いつもスルーしてる
8:デフォルトの名無しさん
23/12/17 02:07:16.68 OHxpVvei.net
>非包含オペレータ
これ包茎オペに空目するからやめたほうがいいとおもう
9:デフォルトの名無しさん
23/12/17 07:18:27.92 FEe4n35c.net
俺すげぇ面白い事思い付いたわ
天才じゃね?
って深夜に思い付いちゃったんだろうな
異世界転生モノ好きそう
10:デフォルトの名無しさん
23/12/17 10:40:09.52 KG6/TFz3.net
俺も思ったけど書き込まなかった
「包茎」「空目」「深夜」どこにもかかってないんだが
>9 は異世界転生モノに親でも殺されたのか流行り物が嫌いなだけなのか
11:デフォルトの名無しさん
23/12/17 11:33:01.98 lxaANove.net
池沼お気に入りの言い回し:親でも殺された
12:デフォルトの名無しさん
23/12/17 11:52:23.27 uskvVvSC.net
どっちの方が気持ちわるいかと言えば
俺は>>9に一票
もちろん>>9 vs >>10ね
13:デフォルトの名無しさん
23/12/17 12:06:59.79 3hsIyhlE.net
まあ>>9は場違いだな
14:デフォルトの名無しさん
23/12/17 13:08:14.11 hPnGIyzU.net
美少女だから無罪で
15:デフォルトの名無しさん
23/12/17 16:47:12.08 C55sNZf7.net
以下のあぼーん用正規表現を教えて下さい
文字列3文字
文字列5文字
(空白改行)
文字列3文字
よろしくお願い致します
16:デフォルトの名無しさん
23/12/17 22:44:10.33 WFgQcr7d.net
文字列3文字が固有の3文字なのか任意の3文字なのかがわからん
空白と空は意味がちがうから空白改行もどうとらえていいかわからん
そういう厳格さがないと正規表現は使い切れない
17:デフォルトの名無しさん
23/12/17 23:44:06.80 6Rk7Y10s.net
^ \S{3} <br> \S{5} <br> +<br> \S{3} $
18:デフォルトの名無しさん
23/12/18 00:25:33.88 gHmacq4F.net
>>16-17
某板に荒らしが発生しているので
荒らしレスの冒頭の
───────────
>>1
岡村ほまれ
可愛い
───────────をあぼーんワードにしたいのです
よろしくお願い致します
19:デフォルトの名無しさん
23/12/18 00:54:45.24 zFl9jE+m.net
情報を小出し後出しにするやつってうざいよな
もう遅いけど使用環境を最初に示すべきだった
20:デフォルトの名無しさん
23/12/18 10:40:38.35 pykETp8J.net
改行の扱いは専ブラによって違うということを知っておこう
<br>だったり\sだったりする
21:デフォルトの名無しさん
23/12/18 11:17:13.95 6u0hXPC3.net
(?><[bB][rR]>|\r\n|[\r\n])
22:デフォルトの名無しさん
23/12/19 17:06:05.93 97fwYV9l.net
モ娘(狼)板に涌いている荒らし
スレリンク(morningcoffee板:4番)-7
23:デフォルトの名無しさん
23/12/20 09:54:40.16 HDpQovyo.net
UPLIFT プレミアム・サービスのお知らせ
URLリンク(uplift.5ch.net)
UPLIFT 主な特典
・連続投稿の規制を緩和します。
・スレッド作成時の規制を緩和します。
・5ch.netのスレッド表示画面に表示される広告を除去します。
・5ch.net専用ブラウザで5ch.netの過去ログを閲覧できるようになります。
・海外からのアクセス・ホスト経由からでも書き込みができるようになります。
・書き込みが規制されているプロバイダーからでも書き込みができるようになります。
・5ch.netを安定して利用できるように運営を支援できます。
5ちゃんねるを存続させるためには、皆様のご協力が必要です。
最後まで御精読いただきありがとうございました。
24:デフォルトの名無しさん
23/12/20 13:16:05.38 kMNBqppc.net
他は無料で良いサービス提供出来てるのに金払えは甘え
5ch運営が殿様商売で無策だったツケが回って来てるだけの自業自得だから、5chなんか潰れちまえ
取り敢えずNG突っ込んだわ
25:デフォルトの名無しさん
23/12/20 19:23:53.60 owPAm/QX.net
このスレも役目を終えつつあるね、今時の子はこんなところには来ないと思う
yahoo掲示板にでも行ってるのかな
26:デフォルトの名無しさん
23/12/20 21:03:08.80 lnEIVk9M.net
ChatGPTとかのAIでしょ
Yahoo掲示板こそジジイしか居ないイメージだわ
27:デフォルトの名無しさん
23/12/20 23:05:30.95 owPAm/QX.net
そか、AIに作ってもらえるならクレクレする必要もないね、いいことだ
28:デフォルトの名無しさん
23/12/20 23:36:14.45 z/5Qp7sj.net
そして「ChatGPTでXXをやってみたいんですがうまくいきません、どうしたら」というクレクレ質問が大量発生
29:デフォルトの名無しさん
23/12/20 23:46:12.22 owPAm/QX.net
私もそのクレクレになりそうw
30:デフォルトの名無しさん
23/12/22 12:31:09.65 ivJ9ZoTT.net
あるプログラムのコーディングはすごく処理速度を意識してるのに
そのプログラムに使ってる正規表現はまったく効率を考えてない,というケースをよく見かける
正規表現をAIが作るようになれば改善されるかもね
31:デフォルトの名無しさん
23/12/22 18:21:26.60 55x+HPTI.net
人「おいAI、お前が作った正規表現とてつもなく遅いじゃないか」
AI「はい、ヒトが解読しやすい方が良いと判断しました。速度の問題は時が経てばマシンの性能向上で解決しますが、ヒトの解読力の方は...」
32:デフォルトの名無しさん
23/12/23 21:28:49.10 jMjD4WOY.net
> 速度の問題は時が経てばマシンの性能向上で解決しますが
海原雄山「このポンコツAIを作ったのは誰だー」
33:デフォルトの名無しさん
23/12/29 19:40:02.08 c5lsn96k.net
話が高度過ぎて付いていけない
34:デフォルトの名無しさん
24/01/15 07:25:04.51 LwnsIRDe.net
速い正規表現ってどういうこと?
35:デフォルトの名無しさん
24/01/15 09:06:53.25 ZT1xOGvJ.net
ステップ数が小さい
36:デフォルトの名無しさん
24/01/15 15:35:12.01 VYSGEVd4.net
正規表現とてつもなく遅い でグーグル検索しようぜ
37:デフォルトの名無しさん
24/01/15 16:06:35.46 UMjmkZMs.net
俺にかかれば正規表現はいくらでも遅くなる
任せてくれ
38:デフォルトの名無しさん
24/01/31 22:37:07.48 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
URLリンク(github.com)
39:デフォルトの名無しさん
24/01/31 23:41:08.70 O0N6A3M6.net
>>38
.Net Core(現 .Net)ってそんな前からあったっけ?
40:デフォルトの名無しさん
24/02/01 23:01:03.30 YPnx34uD.net
.NET Core 1.0は2016だからね
41:デフォルトの名無しさん
24/02/04 19:04:14.97 1hv2Rh8g.net
案外歴史が長い!
42:デフォルトの名無しさん
24/02/04 21:10:13.35 GiV0zbjO.net
旧エンジンにマシンパワーをどれだけ積んでもネットブックで動かす新エンジンに勝てなそう
43:デフォルトの名無しさん
24/02/04 22:35:02.60 FtEwRyHG.net
それ同じ環境と条件で比較テストしてるわけじゃないから単純にエンジンの違いによる性能差じゃないからね
44:デフォルトの名無しさん
24/02/04 23:23:40.51 l8NY0XdM.net
正規表現は昔からあるのに未だに進化するスピードが尋常じゃないのはすごいことだ
AIの登場でこれからどうなるのか想像付かない
45:デフォルトの名無しさん
24/02/05 03:06:40.22 UJ2m14qd.net
正規表現はオートマトンに変換するだけだから
AIとは何の関係もないぞ
高速化もこれ以上は理論的にできないし
書き方で速さが違うのは当たり前
46:sage
24/02/05 15:59:30.46 6V7y69ze.net
現代の正規表現エンジンは純粋なオートマトンだけで動いているわけではないよ
47:デフォルトの名無しさん
24/02/14 22:19:25.22 2oHCpHj3.net
例えをあげると以下の正規表現を使った検索では
[^a]+c[^b]+
まず"c"を検索して見つからなければマッチ失敗を返す
このときオートマトンは使用されないまま検索が終わる
これは実在する正規表現エンジンの動作ではなくあくまでイメージ
AIならもっと柔軟にこういう処理が出来るかも
48:デフォルトの名無しさん
24/03/18 04:18:56.57 LIfqFVfX.net
そういう高速化はワイルドカードで
数パターンに分類してやったことはあるな
というわけで前段階で複数のワイルドカードをand/orでつなげた表記も受け付けるようにすれば
シンプルな分結構高速化できる
49:デフォルトの名無しさん
24/03/23 22:54:40.43 tYxC9w64.net
ふむ。
50:デフォルトの名無しさん
24/03/24 19:41:23.90 aAFJLVlH.net
正規表現って現実の何かで例えるなら何?
パズル?
言語学的な感じも数学的な感じもしないような
51:デフォルトの名無しさん
24/03/24 23:03:04.96 IO+c4sKO.net
けんけんぱ
52:デフォルトの名無しさん
24/03/25 00:12:28.47 BW1at+9B.net
ずいずいずっころばし
53:デフォルトの名無しさん
24/03/25 17:12:10.55 vkyh3m8T.net
ますたーまいんど
54:デフォルトの名無しさん
24/03/28 12:08:33.08 Y8B9QCf2.net
正規表現が $ と ^ をラインアンカーとして採用した理由 ソフトアンテナ
URLリンク(softantenna.com)
55:デフォルトの名無しさん
24/03/28 23:34:35.78 WoHbaWvj.net
正規表現を初めて使ったのがken氏でOnigmoもken氏
そして現代で正規表現と言えばPerl
この3つの要素を合わせるとなんと>>51になる
56:デフォルトの名無しさん
24/03/30 12:49:02.61 oQnMbHXx.net
すべった
57:デフォルトの名無しさん
24/03/31 20:21:11.66 R8UIIGRi.net
認められてえらい
58:デフォルトの名無しさん
24/04/01 17:41:25.33 Jdw9gPZP.net
つまりムトゥ神か
59:デフォルトの名無しさん
24/04/04 02:49:29.95 Bu2po2+x.net
AAA _ BBB _ CCC _ DDD
を
BBB AAA
にする
60:デフォルトの名無しさん
24/04/04 03:53:18.24 X4Q29337.net
使用環境メモ帳
☑正規表現を使うにチェック
検索するにAAA _ BBB _ CCC _DDD
置換にBBB AAA
61:デフォルトの名無しさん
24/04/04 22:23:37.89 sf62q9R2.net
[A][A][A] _B{3,3} _ (C)(\1)\2 _[\x{44}][\x{44}][\x{44}]
62:デフォルトの名無しさん
24/04/23 23:42:47.37 f/wKo/xU.net
チェックマークの絵文字かっこいい
63:デフォルトの名無しさん
24/04/28 08:09:34.58 bvIrnysh.net
カ)ミツカン カカ)ミツカン
の単語の始まりにある「カ)」を取ってきたいのだが、
[カ\カユユ][)\)]
だと両方ヒットする。
\b[カ\カユユ][)\)]
だと両方ヒットしない。
\bて単語の始まりじゃないの?
64:デフォルトの名無しさん
24/04/28 08:33:21.76 cFVqBor9.net
使ってるプログラミング言語は?
65:デフォルトの名無しさん
24/04/28 08:43:14.02 rlAkFFFr.net
>>63
一般に正規表現の \b 及び \B の文脈における「単語」とは「\w+」のこと
「か」は単語ではないので、当然ながらその直前の位置(境界)に \b はマッチしない
66:デフォルトの名無しさん
24/04/28 08:44:57.81 w8Q1u9O5.net
単語の境界の単語とは\wかどうか
先頭が\w、\wと\W(又は\Wと\w)の間、最後が\w
空白も括弧も全角文字も\wではなく、全てが\Wの連続なので境界がない
(?<=^|\s| )[カ\カユユ][)\)]
こんな感じかなあ?
67:デフォルトの名無しさん
24/04/28 09:15:58.39 w8Q1u9O5.net
句読点(、。,.,.)があるならそれもか
68:デフォルトの名無しさん
24/04/28 09:24:53.38 b3SQbRRV.net
URLリンク(regex101.com)
69:デフォルトの名無しさん
24/04/28 10:39:11.02 bvIrnysh.net
>>66
サンクス。
正規表現チェッカーだとうまく行くが、VBAだとエラーする。
カカ)ミツカンていう会社名なんてないから諦めるわ。
70:デフォルトの名無しさん
24/05/01 06:39:29.77 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:デフォルトの名無しさん
24/05/01 10:32:16.36 G90j3Kau.net
切り出しするのはMIMEパートで
中身はすべてQPだから難しくなさそうだけど罠がある?
72:デフォルトの名無しさん
24/05/25 14:18:39.96 5mKzxThb.net
こんちゃ
flexible renamerで上のフォルダを検索して、そのフォルダ名をファイル名にしたいのですが、上のフォルダの検索方法はどうすればいいんでしょうか。
../
これでいけるとおもったんですが、文字列になるみたいです
73:デフォルトの名無しさん
24/05/25 14:34:39.35 GTAuICNX.net
置換えを\fにするんでは
親フォルダなら\Fか
74:デフォルトの名無しさん
24/05/25 14:37:23.14 NyW0Hsfe.net
置換については \F が親フォルダ名を示すメタ文字
「サポート▶」クリックで表示されるリストを確認するといい
75:デフォルトの名無しさん
24/05/25 15:09:38.89 5mKzxThb.net
ありがとう(*´ω`*)解決ナリよ
76:デフォルトの名無しさん
24/05/25 16:34:20.14 5mKzxThb.net
ところでwindowsで10の別名フォルダを同名にリネームして、中身を1つに統合みたいなことは出来ないのでしょうか?
77:デフォルトの名無しさん
24/05/25 17:54:07.45 +J5I1fk8.net
スレチ
78:デフォルトの名無しさん
24/05/25 18:00:34.05 o9ml7dor.net
>>76
バッチでも書きゃいいだろ
79:デフォルトの名無しさん
24/05/25 18:15:50.33 5mKzxThb.net
はい
80:デフォルトの名無しさん
24/05/25 20:23:33.14 Roch7C/E.net
windows ntfs union
で調べたらわかるけど困難
Linux上で実現させてそこへアクセスが単純かな
81:デフォルトの名無しさん
24/05/27 00:15:11.27 3w+qnBSP.net
一旦同名フォルダ作って全部ぶっ込んで統合先の親に移動するだけだろ
誰もunionfsごっこやりたいとか言ってないぞ
82:デフォルトの名無しさん
24/05/29 18:58:45.90 uKjwQH9U.net
生気表現 ('A`)
性器表現 ((i)) くコ:彡
どれがいい?
83:デフォルトの名無しさん
24/05/30 19:54:12.15 BiQuU9Dh.net
何がregularなのかいまだにわからん
84:デフォルトの名無しさん
24/05/31 02:22:57.15 8gCpYzBa.net
たまには英語の辞書を開いてあげろ
85:デフォルトの名無しさん
24/05/31 21:42:18.07 TouRjKKE.net
レギュラーコーヒーのレギュラーって何って質問しても満足な回答得られないから今度やってみ
86:デフォルトの名無しさん
24/06/01 15:29:35.29 AnvSsNLo.net
非正規コーヒー
87:デフォルトの名無しさん
24/06/01 17:45:51.25 zLTUouUC.net
レギュラーコーヒーのレギュラーはnormalとかordinaryの意味でのレギュラー
インスタントコーヒーと区別するために作られた日本語
regular expressionのregularは「規定されたルールに従った」という意味でのレギュラー
形式言語理論からの用語
88:デフォルトの名無しさん
24/06/01 18:52:55.00 4ZWo8ROd.net
>>87
>>インスタントコーヒーと区別するために作られた日本語
いわゆる「レトロニム」ってやつだね
89:デフォルトの名無しさん
24/06/02 06:26:43.62 j0fRNfQ2.net
正規表現のregularはレギュレーション的な意味?
そしてコーヒーそうだったのか
普通の王道の味のコーヒーって意味だと思ってたwww
90:デフォルトの名無しさん
24/06/03 02:03:28.38 YPamPwdM.net
英和だけじゃなく英英も調べるようにしたほうがいいよ
91:デフォルトの名無しさん
24/06/03 19:56:37.73 PWp7k61t.net
>>87
形式言語理論だと正則表現と訳すことの方が多いらしい
92:デフォルトの名無しさん
24/06/05 15:42:09.20 kJJy3o9y.net
セーソク表現か…
93:デフォルトの名無しさん
24/06/06 14:37:37.38 E3zmVJgl.net
>>89
コーヒーソーダは違います
94:デフォルトの名無しさん
24/06/18 14:11:57.80 pzzAto97.net
質問させてください
# h1
## h2
こういった構造なのですが、h2のタブ(上の例では半角スペースにしてます)を除いた箇所だけマッチさせたいです
# .*
## .*
1つ目をh1用、2つ目をh2用としてマッチさせたいのですが、これだと1つ目がh2の後半部分にもマッチしてしまいます。
対策はあるでしょうか
95:デフォルトの名無しさん
24/06/18 14:59:50.56 J2T1cvE/.net
2つ目を1つ目にして
1つ目を2つ目にする
96:デフォルトの名無しさん
24/06/18 15:10:51.31 pzzAto97.net
すみません
どういうことでしょうか。
97:デフォルトの名無しさん
24/06/18 15:21:22.31 TPDReXqh.net
後読みが使える環境なら
(?!#)# .*
98:デフォルトの名無しさん
24/06/18 15:22:52.25 TPDReXqh.net
^# .*で問題ないのか
99:デフォルトの名無しさん
24/06/18 17:57:12.95 pzzAto97.net
試したところ、後読みというは使えない環境のようでした
meryというテキストエディタです
100:デフォルトの名無しさん
24/06/18 17:58:50.33 pzzAto97.net
そっちのスレで聞いてみますね
101:デフォルトの名無しさん
24/06/18 20:25:18.67 kkbo/g2D.net
FindOnig
102:デフォルトの名無しさん
24/07/09 03:18:21.56 pEcdZJzG.net
re2のレポジトリに、ずっとコード書いてきた人を追悼するissueが立ってるけど
いたずらじゃなく本当だとしたら今後どうするんだろ
正規表現エンジンの設計ってわりと専門性高めで後任を見つけるのも簡単ではなさそうだけど
103:デフォルトの名無しさん
24/07/10 22:30:27.80 gmanX3ar.net
You! Google 入っちゃいなよ!
104:デフォルトの名無しさん
24/07/14 06:46:47.39 wEMWtxb4.net
これ以上仕様ごちゃごちゃ追加しても
使いこなせる人1%もいないから放置でいいよ
105:デフォルトの名無しさん
24/07/15 14:02:14.21 glISuHIA.net
お前がこなすんだよ!
106:デフォルトの名無しさん
24/07/16 09:13:43.60 dYW+o1n8.net
お前がこなたなんだよ!
107:デフォルトの名無しさん
24/07/17 20:43:28.55 F5hkyutw.net
Googleのre2とIntelのhyperscanは他の色んな正規表現エンジンを過去のものにした
108:デフォルトの名無しさん
24/07/20 05:52:51.61 /niJ3Ici.net
高速な正規表現エンジンを求める人が遅い正規表現を作って使ってたりする
正規表現エンジン作者はユーザーのアップデートもしたいだろうな
109:デフォルトの名無しさん
24/07/22 03:43:13.27 qSKgOXFg.net
そういうのはエディタの仕事だ
ビジュアライザー付き正規表現ダイアログボックスで
ミスなく正規表現を入力したらAIが改善を指摘すればよし
110:デフォルトの名無しさん
24/07/22 15:45:56.06 L5BeUc31.net
正規表現を作るのが下手な人は書き始める前のアルゴリズム作成の段階で
おかしくなってる場合も多い それ含め全部AIがやってくれるのが理想だ
111:デフォルトの名無しさん
24/07/22 15:48:23.43 65P6Lbbe.net
場合抜けしてる勘違いぎみの式だけを見たって
本来の意図が何だったのかAIじゃなくて人間でもわからん場合もあるよね
112:デフォルトの名無しさん
24/07/22 17:18:51.25 JYnS/4wE.net
正規表現だけみせても最適化しかできないだろうから
周辺のコードも与えて関数レベルで出力してもらうのが適当かもね
113:デフォルトの名無しさん
24/07/23 19:28:10.50 Dt1Z//LV.net
AIに抽出してもらえば正規表現いらないじゃん
114:デフォルトの名無しさん
24/07/29 23:15:46.44 rj9tTr/V.net
●Regular Expressionの使用環境
JaneXeno
●検索か置換か?
検索
●説明
.com .net .jp 以外のドメインを含むURLをNGにしたい
●対象データ
URLリンク(example.com)<)
URLリンク(example.jp)<)
URLリンク(example.xyz)<)
URLリンク(example.net)<)
URLリンク(example.cn)<)
●希望する結果
URLリンク(example.cn)<)
URLリンク(example.cn)<)
115:デフォルトの名無しさん
24/07/30 15:30:31.34 QttCMg3R.net
>>114
https?+://(?:[!-~&&[^./"()<>]]++\.)++(?!com|net|jp)(?>[a-z]{2,10})(?::(?>[0-9]{2,5}))?+(?>[/?#]|(?![!-~&&[^"()<>]]))
116:114
24/07/30 16:01:05.48 DGOcYJSo.net
>>115
神様、マジありがとうございました
117:デフォルトの名無しさん
24/08/04 11:21:08.46 H8uHYzPU.net
(?>[/?#]|(?![!-~&&[^"()<>]]))
これは先読み否定1つにまとめられる
(?!com|net|jp)
これはcomeやjpgも弾いてしまう
どちらも実用上は問題ない
前者は頭の体操にはちょうどいい難易度
118:114
24/08/04 11:54:05.49 katRHk63.net
>>117
ちょっと何言ってるか分からない
119:デフォルトの名無しさん
24/08/04 12:37:10.85 5uZlH5sT.net
アーガスで一番右に行ってから着陸しろって意味じゃね?
120:デフォルトの名無しさん
24/08/20 21:50:27.06 KT2/xy/p.net
●Regular Expressionの使用環境
JaneXeno
●検索か置換か?
検索
●説明
ageとsageと空欄以外の文字列が含まれる場合を検出したいです
よろしくおねがいします
121:デフォルトの名無しさん
24/08/21 06:42:43.17 7ZTrDQRo.net
メール欄を検索対象にしたレス抽出ってこと?
\A(?!s?age$)
122:デフォルトの名無しさん
24/08/21 08:39:25.39 mGvismew.net
>>121
ありがとうございます
メール欄がageとsageと空欄を除き、それ以外をNGにしたいです
123:120
24/08/22 07:25:48.82 mXgFFjHI.net
>>121
その正規表現だと全てNGになってしまいました・・・
124:デフォルトの名無しさん
24/08/22 07:36:11.31 Lj1UZYEn.net
>>123
ぜんぜんユーザじゃないけどbregonig.dll導入で解決しそう
125:デフォルトの名無しさん
24/08/22 09:04:27.38 NijHRpmx.net
^(?!age$|sage$|$).+
126:デフォルトの名無しさん
24/08/22 09:05:35.42 knLF+ZG1.net
>>123
(^s?age$|^$)は?
サンプルがないからよくわからんけど構造によっては空欄がムズイ気がする
127:デフォルトの名無しさん
24/08/22 09:53:46.14 od4YjwYP.net
明らかにソフトのスレで聞いた方が早いだろう
JaneXeno質問スレ9
スレリンク(software板)
128:デフォルトの名無しさん
24/08/22 10:35:07.43 B9IGKhdB.net
^(?!sage|*age|\s|\S).*$ 前方一致否定
^(?!.*sage|*age|\s|\S).*$ 部分一致否定
^(?!.*sage$|*age|\s|\S) 後方一致否定
動くかはしらん
129:デフォルトの名無しさん
24/08/22 10:45:02.10 1r7uDbgD.net
^(?!age).*$
^(?!sage).*$
^(?!\s).*$
を3行前方一致の否定で分けてかいてみたら?全角空白はわからん
130:デフォルトの名無しさん
24/08/22 11:53:01.69 Z0c4Ov9t.net
NG Addr 正規(含まない)
^(age|sage|)$
131:デフォルトの名無しさん
24/08/22 12:27:50.31 1pp2sZBh.net
>>124 をせんとエンジンがよわよわなだけで
正規表現は >>121 であってるし低脳ばっかやな
132:デフォルトの名無しさん
24/08/22 16:58:52.48 WSGH1Pr6.net
datで下の3つ以外でmatchするってことだろ(書き込みエラーで<>に置き換えてる)
名前(変動)<>sage<>2024/08/22(ry
名前(変動)<>age<>2024/08/22(ry
名前(変動)<><>2024/08/22(ry
専ブラによってエンジンが違うから環境いれる気にはならんが
133:デフォルトの名無しさん
24/08/27 22:04:04.81 K31idf52.net
age sage の前後に半角空白が1つまたは2つ入ることを想定すべき
Janeの全盛期ならこんなのすぐに解決してたな
134:デフォルトの名無しさん
24/08/28 09:58:05.19 M0ceOk+r.net
想定すべき、って言えるのなんなんだろう?
そこまで想定してなくても実用上十分、てことは多々あるだろう
135:デフォルトの名無しさん
24/08/28 11:44:10.78 29oRaxIo.net
スレのdatは板ごとに微妙な違いがある
半角空白が前後に入るスレは珍しくなかった
今の人が知らないのは仕方ない
136:デフォルトの名無しさん
24/08/28 12:04:38.47 TruuGgPL.net
>>135
それこそ想定しないても通常大丈夫なものじゃん
俺のLog漁っても20年以上前からあるけど、まだ日付けの年号が2桁でIDも付いてないものでも
前後に空白は付いてなかったくらいだ
俺はレス本体と一時期のスレタイトルぐらいしか記憶にないよ
137:デフォルトの名無しさん
24/08/28 12:06:40.94 TruuGgPL.net
スレタイトルは空白じゃなくてタブだったので訂正しとく
138:デフォルトの名無しさん
24/08/28 15:51:55.48 29oRaxIo.net
半角空白が入る板が存在しないなら対応する必要は無いよ
ただ、自分なら対応したものを作る
そういう板が1つでもあったら作り直しになるから
質問者さんが使っている板が半角空白が入る板ではないという確証が無い以上
対応しておくのが無難でしょう、したらばやJane板のような外部板のことまで考えるとね
139:デフォルトの名無しさん
24/08/28 15:59:03.58 TruuGgPL.net
実用上十分ってことを知らんのか
さらに、他BBSでも空白が入るところは大手ではないよ
(したらば、おーぷん、JANE総合も入らない)
140:デフォルトの名無しさん
24/08/28 19:41:57.47 29oRaxIo.net
大手じゃないところで半角空白が入る板があったら誤作動する正規表現を作るよりも
対応したものを作るほうがベターだと思うが
頑なに非対応にする理由もあるまい
141:デフォルトの名無しさん
24/08/29 00:19:30.02 3od28NMQ.net
メール欄がわざと「 age 」の奴をNGできない
142:デフォルトの名無しさん
24/08/29 19:22:18.21 s7DstX6Q.net
>>133 は対応するべき、て言い切ってる
自分ならこうするとか、この方がベターとかとは一線を画す表現
やらなきゃいけないと言っている
でもさ、不特定多数に配るアプリの話じゃないんだよ?
143:デフォルトの名無しさん
24/08/29 19:26:50.79 s7DstX6Q.net
RFC準拠のメールアドレスの正規表現はクソ長いが個人で使うのにそこまで要らん
の話思い出した
144:デフォルトの名無しさん
24/08/29 19:38:28.39 zKbcOD8k.net
自分が使うものなら好きにすれば良いが質問の回答として正規表現を作るなら
柔軟性を確保するにこしたことはない
でないと質問者は自分じゃ直せないからちょっとした誤作動でまた質問しに来てしまう
そういう意味で「すべき」と書いたよ、何か問題ある?
> メール欄がわざと「 age 」の奴をNGできない
わざとでない「 sage」がNGになってしまうのはいいの?
145:デフォルトの名無しさん
24/08/29 21:34:59.96 s4c4C/Bz.net
試しに、名前とメール欄に前後半角空白付きで書き込んでみた
結果、datからは前後の半角空白は削除されて付いてない
そもそも、可能性があるってだけで対応しないといけないってのはおかしいだろ
たった一つだけでいいのでそういう例がある(あった)というものを出すべき
146:デフォルトの名無しさん
24/08/29 21:37:57.27 s4c4C/Bz.net
書いたところは
スレリンク(software板:204番)-206
それぞれJaneStyleで末尾整形あり、整形なし、汎用ブラウザ(firefox)で書いた
147:デフォルトの名無しさん
24/08/29 23:45:06.51 zKbcOD8k.net
それは掲示板だって半角空白に対応させてるってことでしょ
正規表現で半角空白に対応しておくべきと書くことはそんなにおかしなことなの
質問者はまだ未解決のようだけどその原因が半角空白でないと言い切れる?
最初から対応しておけばこの可能性を考えずに済むよね?
なんで想定すべきと書いたらいけないの?
ここにいる人全員が納得出来る説明を求む
148:デフォルトの名無しさん
24/08/29 23:55:45.32 s4c4C/Bz.net
回答は的確に簡潔に質問に答えることがいちばん
余計な蛇足を加えて悦にいるのは自分が使う分にはいいけど人に指図するものじゃない
ソースコードやスクリプトでも質問もしてないのにあれこれ余分な配慮でコードを複雑にして
いいことをやったと自己満足してる奴にはならないようにしよう
149:デフォルトの名無しさん
24/08/29 23:59:39.42 s4c4C/Bz.net
で、半角空白が含まれるものはあるんかい
この部分は一つだけ実例を示すだけでいいんだよ
存在しえない可能性とやらを配慮するのはまったくの無駄
それは半角空白の変わりにタブコードが含まれる場合に対処しろって言うのと変わらん
150:デフォルトの名無しさん
24/08/30 00:10:46.53 z5xrh4P7.net
>>135で板によっては存在するのは珍しくないとまでいってるんだから
そのリンクを示すだけでいいんだぞ
151:デフォルトの名無しさん
24/08/30 01:14:28.93 8cMr2Sm2.net
141がありもしない難癖ではないことを示すために
メール欄がわざと「 age 」「 sage」の例
スレリンク(software板:209番)-210
空白が入る板とメール欄がわざとでない「 sage」は見たことないな
152:デフォルトの名無しさん
24/08/30 08:58:26.65 qASTkovi.net
そんなにいつまでも続けるネタじゃないだろ
153:デフォルトの名無しさん
24/08/30 13:24:57.13 dkGEn5CF.net
どんぐりの醜い争い
154:デフォルトの名無しさん
24/08/30 17:56:05.65 kCrr7PoM.net
^(s?age|)$でどっちもNGできるわ
>>130でもう出てる
155:デフォルトの名無しさん
24/08/31 12:23:47.01 ESY986wz.net
見たことない == 存在しない
さすがに草
156:デフォルトの名無しさん
24/08/31 16:07:56.33 xB9BteZK.net
こういう専門スレでよくある現象
質問者がいなくなったのに殴り合い始める
157:デフォルトの名無しさん
24/08/31 19:41:26.67 ESY986wz.net
人のちょっとした不手際に噛みつき大騒ぎ
都合が悪いことを言われたらもっともらしいことを言ってごまかす
どこかの知事のマネかねぇ
158:デフォルトの名無しさん
24/09/01 12:11:46.90 ruX2CvUf.net
>>147に対する>>148の回答が面白い
>回答は的確に簡潔に質問に答えることがいちばん
と最初に書いておきながら聞かれたこととはまったく違う回答をしてる
159:デフォルトの名無しさん
24/09/01 12:54:37.81 mvzZbYC4.net
まだやってるのか
よほど悔しかったと見える
160:デフォルトの名無しさん
24/09/02 05:55:02.84 zV+ToF23.net
>>123から半角空白を疑うのは自然な反応だと思うが
20年前のログがあるおっさんがキレる理由が分からんね
論破されて話題のすり替えをして逃げる卑屈な人間でいるより素直に謝ったほうがマシじゃね
てか論破されてることに気付いてなさそう
161:デフォルトの名無しさん
24/09/02 15:51:56.49 AlH3f6um.net
いつ変わってもおかしくないような仕様をなぜそんなに信頼できるのか
…ということを抜きにしても、「実用上十分」かどうかを勝手に決めつけるのは…
というか、>>127 で終わりじゃだめだったのか?
162:停止しました。。。
24/09/02 21:11:06.60 uqoOZz2h.net
真・スレッドストッパー。。。( ̄ー ̄)ニヤリッ
163:↑
24/09/02 21:44:55.24 Y7//7QQC.net
偽・スレッドストッパー。。。( ̄ー ̄)ニヤリッ
164:デフォルトの名無しさん
24/09/03 00:47:33.48 dSkXog9i.net
内輪もめは巣に帰ってやれや屑共
165:デフォルトの名無しさん
24/09/03 11:11:23.38 JwjQ1m/O.net
次から「>>127に帰れ」でok
向こうにも正規表現作れる人いるみたいだし
知事そっくりのおっさんはしばらく謹慎しとけ
166:デフォルトの名無しさん
24/09/03 11:14:09.37 d9bMT2aR.net
内容的に割と単純かつどうでもいいネタに限って長引く傾向にあるな
167:デフォルトの名無しさん
24/09/03 13:28:50.53 FknR0mX7.net
>>126で終わってるんだよ
補足説明込みでも>>130までで以降は無価値
168:デフォルトの名無しさん
24/09/04 07:40:52.55 EbiVCIQx.net
>>131が空気になっててかわいそうなんだが
誰か構ってやれよ
169:デフォルトの名無しさん
24/09/10 05:40:09.20 +qdzMQ7n.net
質問なのだが、htmlファイルで
<DOCTYPE からつづいて途中にあるAAAをごっそり空欄で置換したいのだが
どうやったらええん
^<DOCTYPE*AAAじゃうまくいかんかったのよねー
170:デフォルトの名無しさん
24/09/10 06:04:34.38 kowefQA5.net
<DOCTYPEEEEEEEEEAAA「ぐわぁ!!
171:デフォルトの名無しさん
24/09/10 14:57:41.04 W69Tu2B8.net
DOCTYPE*は、DOCTYPの後にEが0回以上繰りかえしているものを表すけど本当にそうなってるとは思えん
DOCTYPEEEEEEAAA
172:デフォルトの名無しさん
24/09/11 03:14:10.70 qNF+YH3h.net
昔の仕様をごそっと<!doctype html>に統一したいなら
^<!doctype.*>で置き換えすりゃいいんじゃね、見当違いならごめん
173:デフォルトの名無しさん
24/09/11 07:51:29.11 9V6SWpAY.net
.*>
人に教えていいレベルじゃねぇ
174:デフォルトの名無しさん
24/09/11 08:07:51.41 qNF+YH3h.net
すぐに気づくだろ初心者スレってわけじゃなし
175:デフォルトの名無しさん
24/09/11 08:42:50.99 HzXBBqr9.net
すみません、全部消えました
176:デフォルトの名無しさん
24/09/11 08:45:08.47 9UoQOhuf.net
>>174
無能
177:デフォルトの名無しさん
24/09/11 08:51:56.08 4F/AxKNI.net
またはじまった
こいつほんとにクソやな
178:デフォルトの名無しさん
24/09/11 09:13:11.67 qNF+YH3h.net
そもそもスクリプトなのかエディタなのか
具体的な例も使用方法も書かずに答えが出るわけねえよ
179:デフォルトの名無しさん
24/09/11 13:19:20.05 9V6SWpAY.net
回答は的確に簡潔に質問に答えることがいちばん
>>169
^<DOCTYPE.*?AAA
180:デフォルトの名無しさん
24/09/11 14:41:32.83 e/oUHwOW.net
通常先頭に書くDOCTYPEは
<!DOCTYPE html ~>ってなると思うんだが、!は何処に行った?
さらにAAAとか出てくるか?
AAAがdoctypeと無関係ならその間に改行も挟まってるかもしれんよ
181:デフォルトの名無しさん
24/09/11 15:58:20.52 9V6SWpAY.net
<DOCTYPE
.*?
人に教えていいレベルじゃねぇ
182:デフォルトの名無しさん
24/09/11 16:32:04.44 NXAVPXLE.net
>>181
なんじゃそりゃww
183:デフォルトの名無しさん
24/09/11 18:51:15.50 DnMjWL2Z.net
シングルラインモードでフォルダ内jsonを正規表現でgrep検索できるフリーのテキストエディタ教えて
windowsで動いてGUIしっかりしてる使いやすいのがいい
184:デフォルトの名無しさん
24/09/12 00:04:43.72 uYEhMGBt.net
外部コマンド取り込めてパスからジャンプできるエディタならなんでもいいんでは
vim/neovimとかvscodeとか
185:デフォルトの名無しさん
24/09/12 09:42:50.94 71tHR6b6.net
シングルラインモードと言うと複数行に渡ってマッチさせたいと?
拙者がつこうてるエディタは一行単位でしかマッチ出来なかったでござる
186:デフォルトの名無しさん
24/09/12 10:05:19.60 fOf5lfVo.net
ワイルドカードと性器表現
どうしてこうなったマン心環境の違い
187:デフォルトの名無しさん
24/09/12 11:27:45.34 G9h42jpn.net
>>183
grepとエディタは別々でいいだろ
GUIのgrepソフトは外部エディタを呼べるようになってる(呼べないものって多分無い)
テキストエディタはそれこそ何でも良い
俺はDevasってgrepソフト使ってるがこれも過去に適当に探したものなのでもっといいものがあるかもしれない
188:デフォルトの名無しさん
24/09/12 11:34:30.88 G9h42jpn.net
いや、json限定ならjsonエディタとか使えばいいんじゃなかろうか
189:デフォルトの名無しさん
24/09/12 14:21:47.53 iwy8LWRU.net
>>183
非ascii文字はユニコードエスケープされてる?
190:デフォルトの名無しさん
24/09/12 14:33:20.53 G9h42jpn.net
JSONだから基本UTF-8なんじゃないのか?
191:デフォルトの名無しさん
24/09/12 14:35:15.82 G9h42jpn.net
パーセントエスケープか
あるのとないのと両方あるしなあ
192:デフォルトの名無しさん
24/09/12 14:54:08.26 71tHR6b6.net
北製のエディタ選んでぶっこ抜かれてるやつはいないな?
出所の怪しいやつは避けるんだぞ?
193:デフォルトの名無しさん
24/09/12 16:03:08.30 3oNIjHZT.net
>>184
>>187
ありがとう使ってみる
対象ファイルはUTF8で改行はLFとCF+LF混合(1ファイル内では統一)
日本語2バイト文字はエスケープなしに普通に表記されてる
194:デフォルトの名無しさん
24/09/12 16:55:26.60 tplSlOtQ.net
>>187,193
dnGrepも良い
マッチ箇所の前後数行表示やマッチファイル全体プレビュー表示でサクッと探して
diffとtext editor用の外部コマンドラインを複数登録して使ってる
(有名どころのテンプレートあり)
195:デフォルトの名無しさん
24/09/12 17:00:09.50 G9h42jpn.net
>>193
テキストエディタは何でも良いとは言ったけど
起動引数にファイル名と行位置を指定できるものじゃないと使い物にならない
メモ帳はダメだが大抵大丈夫
196:デフォルトの名無しさん
24/09/12 17:38:37.00 G9h42jpn.net
>>194
良さそうだなと思ったらwin7には無理っぽい(.NET8だとか)
197:デフォルトの名無しさん
24/09/13 06:32:33.01 11vS+uA+.net
>>196
文字エンコーディング自動判別が出来るので、ちょっと古めのcp932とUTF8の混在環境で重宝すると思ったがそれは残念
>>183,193は大丈夫そうだけど(根拠なし)
198:デフォルトの名無しさん
24/09/23 23:23:59.22 kDMCxsRj.net
pcre2の作者さんが後継者探してる
27年続けてきて最近年を感じるようになったとか
199:デフォルトの名無しさん
24/09/26 08:21:09.95 JQMFr7dw.net
老朽ソフトウェアの後継者問題って
需要があれば勝手にメンテされるし無ければ消えるだけだよ
正規表現は時代に合ってないからこの概念ごと消えるかもしれない
200:デフォルトの名無しさん
24/09/26 20:55:23.73 DovoaZNg.net
>>199
正規表現が時代に合ってないってどういうこと?
201:デフォルトの名無しさん
24/09/26 22:02:49.37 KgNEnM1+.net
たぶんだけど自然言語で書く、かな
いまでもコンパイルはしてるし
曖昧な表現だとランタイムエラーになるのはおなじ
202:デフォルトの名無しさん
24/09/26 22:22:27.94 ingxpjLa.net
AIと喋ってろ
203:デフォルトの名無しさん
24/09/29 08:05:17.90 rL2U3h48.net
自然言語を聞いたAIが作るのが正規表現というオチ
既存の正規表現エンジン用の正規表現ではなくAIが生成した正規表現を動かすためだけの
正規表現エンジンも生成される
既存の正規表現エンジンと比べてデータサイズが小さく不要な機能が無いため高速に動作
64コアCPUでテキストデータの64ヶ所を同時に検索
正規表現がテキストにマッチしない場合の速さが2024年時点の通常検索の速さを超えてしまう
野良猫理論: ある限られた空間であちこちをうろつく複数の野良猫が置き餌を見つけるのに
かかる時間は頭数の二乗に反比例するような気がする理論
204:デフォルトの名無しさん
24/10/01 11:39:53.35 Z3sXryIq.net
>>203
>野良猫理論:
なるほど、そうかも
205:デフォルトの名無しさん
24/10/01 11:45:14.33 v9xyba12.net
>>203
妄想はAIとすれば捗るぞ
206:デフォルトの名無しさん
24/10/06 00:20:41.41 YLpbtiCB.net
DFA 「NFA、僕は君のことをクリーネ閉方したい」
NFA 「受理できません」
207:デフォルトの名無しさん
24/10/08 20:25:00.73 2vPrSKyO.net
久しぶりにプログラム板にきました
あるwebサイトのたとえばx0000からx99999までのurl内それぞれ個別にあるたとえば日付等の項目を
すべてカンマ区切りで抜き出す正規表現を考えようとしましたが
結局、項目が10個まであるわけじゃないので
<!DOCTYPE.*ほにゃらら項目、ほにゃらら項目…ほにゃらら項目、ほにゃらら*</html>
てのを10まであるわけじゃない項目分それぞれ抜き出しました
本来なら、 項目,項目,項目…… で抜き出せるように一発で正規表現使えば何とかなるのでしょうけれど、
項目だけの列といいましょうかx0000の項目Aからx9999の項目Aをまずだして
次にx0000の項目Bからx9999の項目Bを次に出してと
結局その項目が10までとはいかないけれどその分をだして表計算ソフトにつっこんだわけです
結果できましたがどうにも納得がいきません
正規表現が出来ればきっとっとも楽に時間もかからずできたのでしょう
JaneXeno質問スレ9
スレリンク(software板)
いまこのスレにいたりもします。
208:デフォルトの名無しさん
24/10/08 22:03:57.17 XPh9YV+I.net
>>207
1. まず日本語を整理する能力を身につけましょう
2. 次にテストケースを整理する能力を身につけましょう
3. そして1.と2.で身につけた能力を使ってChatGPTに問い合わせましょう
さすれば望む答えが楽に得られます
209:デフォルトの名無しさん
24/10/09 01:44:24.09 WkCTujRI.net
ここは野良猫理論を数学的に証明するスレになりました
210:デフォルトの名無しさん
24/10/09 02:26:53.03 LpRCWPua.net
すごく読み難いし目的も読み取れない
終わってる
211:デフォルトの名無しさん
24/10/09 03:04:13.75 w53uZCE9.net
頑張って2回読んだけど何のアドバイスもできそうにない
212:デフォルトの名無しさん
24/10/09 05:04:10.76 z5soGBkc.net
Excel VBA 質問スレ Part81
とやらにいる障害者みたいだね
213:デフォルトの名無しさん
24/10/09 09:59:45.33 nVMNMgni.net
DOCTYPE全然関係なかったんやな
>>180がアタリ
>>179,181はハズレ
214:デフォルトの名無しさん
24/10/09 12:56:32.38 WkCTujRI.net
とりあえずxenoをあぼーん登録しといた
215:デフォルトの名無しさん
24/10/10 13:27:21.21 WHQFPCFe.net
そういえばこのスレが伸びたのも発端は>>120だったな
>>120みたいな難問を気軽に質問されたら困る
216:デフォルトの名無しさん
24/10/12 15:23:11.12 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
24/10/12 15:33:12.91 gMUOKJHq.net
原理はよくわかりませんが自己解決しました
href="[^"]+(?<!\.css)"
218:デフォルトの名無しさん
24/10/12 16:13:01.24 qxhXc26A.net
href="[^"]+(?!\.css)"
<a href="URL.css">link</a>で"[^"]+の最後の文字はs
つまりsの位置では.cssではないのでマッチする
219:デフォルトの名無しさん
24/10/12 16:15:48.04 qxhXc26A.net
sの後ろ(つまり")の位置に訂正
220:デフォルトの名無しさん
24/10/12 17:58:39.21 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:デフォルトの名無しさん
24/10/13 15:34:10.31 josLIOo8.net
>>217
それ大正解だよ、すごい
それ以上のものを作れと言われたら大抵の人は悩む
というか>>217の答えに辿り着けない人が多数かと
222:デフォルトの名無しさん
24/11/02 23:35:42.52 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.
URLリンク(swtch.com)
確かにマッチに含まれないという意味ではよくassertionであると言われるlookback/aheadと同様です
何か含めないことで利点があるのでしょうか?
223:デフォルトの名無しさん
24/11/09 12:53:50.15 k7Zpjetb.net
これに答えられる人はここに数人いるかどうかなのでは
(私はもちろん答えられません)
勘で答えるなら先読み、後読みは後から出てきたものなので元からあった
^ $ \b とは別物扱いになった、とかですかね?すみません、分かりません
224:デフォルトの名無しさん
24/11/09 21:56:49.21 f+X68XQj.net
(ゼロ幅)アサーションには含まれる、(ルックアラウンド)アサーションには含まれない
でもルックアラウンドアサーションだけを指して単にアサーションと呼ぶなんてことがあるかな、大体何か修飾語がついてるよね?
単にアサーションと呼ばれるのはゼロ幅アサーションの方だと思う
実際参考サイトもそんな感じだろう知らんけど
225:デフォルトの名無しさん
24/11/19 12:37:58.18 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:デフォルトの名無しさん
24/11/19 13:15:50.46 qWVXBGcO.net
俺の知識の範囲では正規表現だけでは不可能
227:デフォルトの名無しさん
24/11/19 13:28:40.67 TpNNC8ku.net
その環境がわからんので一般的な場合として
/(?<=[^ ,.?\n\r])[^ ,.?\n\r]/*/g
/(?<=[a-z’'])[a-z’']/*/ig
228:デフォルトの名無しさん
24/11/19 13:45:50.24 qWVXBGcO.net
なるほど。後読を使えばいいのか
229:デフォルトの名無しさん
24/11/19 14:33:47.46 UdPT9kjC.net
後読はこの関数では使えないようなのですが、関数ではなくて置換機能なら使えるようなので試してみます!
ありがとうございました!!
230:デフォルトの名無しさん
24/11/19 15:02:42.11 TpNNC8ku.net
The problem is the ’XXX’.
こういうのはあるのかな?
231:デフォルトの名無しさん
24/11/19 15:19:15.00 TpNNC8ku.net
>>228
正規表現のどの文法を使うかじゃなくて、どういう論理にするかを思いつくかどうかだから
(とんちクイズと一緒で発想力の問題)
なお230のようなケースがあるのならおそらく再起を使う必要がでてくると思う
232:デフォルトの名無しさん
24/11/19 15:56:13.16 UdPT9kjC.net
>>230
これは想定していなかったですが今回はなさそうです
233:デフォルトの名無しさん
24/11/19 17:34:15.15 G+8Uvgpo.net
Apps Script使うのがシンプルなこともある
234:デフォルトの名無しさん
24/11/19 23:06:51.29 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:デフォルトの名無しさん
24/11/20 17:07:45.94 vf/ffllo.net
regexpは数学(キリっ
236:デフォルトの名無しさん
24/11/20 17:38:18.40 ibyj9elY.net
ウザっ
237:デフォルトの名無しさん
24/12/12 23:55:43.32 9bmybcd/.net
暫く使わないとすぐ忘れてしまう
低スキルだから使う頻度が少なくて記憶が定着しない
238:デフォルトの名無しさん
24/12/13 00:12:32.38 EgfV0Bor.net
わかる
特に(?!これ系一切覚えてない)
239:デフォルトの名無しさん
24/12/13 13:01:50.92 hybzdr+3.net
=^^= こんな演算子をどこかの記事で見た記憶はあるけど意味は忘れた
240:デフォルトの名無しさん
24/12/13 13:19:30.73 Zywldz4i.net
∧,,∧
(=^v^) にょほほー
/ l
(OuuO
241:デフォルトの名無しさん
24/12/19 16:02:37.82 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:デフォルトの名無しさん
24/12/19 16:06:40.57 wZwgXxbf.net
なかなかの丸投げだな
¥sを[ \t ]
243:デフォルトの名無しさん
24/12/19 17:08:28.91 1szj+7uv.net
>>242
希望通りになりました。即レス大感謝ありがとうです。
いちおう自分なりに半年間ほど色んなパターンに変えてやってみてたんですが、大変助かりました。
244:デフォルトの名無しさん
24/12/20 20:07:37.02 7538eGNC.net
すげー半年がかりの疑問を瞬殺か
やっぱ詳しい人に聞いておくものだな
245:デフォルトの名無しさん
24/12/21 01:36:35.41 lQ0nYrFo.net
半年同じ問題に取り組める根気は素晴らしいが初心者は効率が悪いね
Googleとかは20分だか30分だか手が止まったら質問しろって企業文化らしい
246:デフォルトの名無しさん
24/12/22 15:36:39.77 8OMG/th9.net
メモ
Meryで\sを全角スペースにマッチさせるには(?u)\sかFindOnig=1
247:デフォルトの名無しさん
24/12/23 12:51:43.05 hOdCdrxj.net
半年あったら正規表現覚えたほうが早いな、Meryクリスマス
248:デフォルトの名無しさん
24/12/23 12:59:50.83 hOdCdrxj.net
I have a pen. I have an apple.
249:デフォルトの名無しさん
24/12/31 20:44:10.06 Thw2Z7nN.net
(?<=This year)(?=Next year)
250:デフォルトの名無しさん
25/01/04 18:21:54.49 YsNNcli5.net
<title> を
\<title\> って書かないとエラーになるケースってあるの?
251:デフォルトの名無しさん
25/01/04 19:03:21.90 0KLOcGyc.net
GnuRegexとGrepでは\<と\>は特別な意味を持つ、それぞれ単語の先頭、単語の末尾にマッチする
だから<title>にマッチさせたいのではなくtitleにマッチさせたいのかも
\<と\>で囲えばbigtitleやtitleholderにはマッチしなくなる
252:デフォルトの名無しさん
25/01/04 20:47:05.52 a+K50MRq.net
Gnuって書いたらヌーになるがな
253:デフォルトの名無しさん
25/01/04 21:43:10.75 12P97q6K.net
メタ文字 \b が使えない環境ってことなんだろうか?
254:デフォルトの名無しさん
25/01/04 21:56:58.81 0KLOcGyc.net
うぐぅ
>>253 高須クリニック
255:デフォルトの名無しさん
25/01/04 22:07:44.40 0KLOcGyc.net
すまん、二刀流だった
URLリンク(www.gnu.org)
256:デフォルトの名無しさん
25/04/05 13:05:55.46 /X2GFnPw.net
GeminiにChatでやりたいこと入力したらずばりの正規表現回答してくれんのすごすぎて草
そんで最強のGrep検索・置換ツールのVScodeにその正規表現をコピペするだけの簡単なお仕事
マジで更新もされず陳腐化したクソ使い難い正規表現アプリやサービスがすべて駆逐されんの納得でクソワロタ
257:デフォルトの名無しさん
25/04/05 14:35:59.22 dD+UMa0w.net
VSCodeやのにCopilotつかわんのなんでなんw
置換はperl -i -peが手軽にコードも介在できて未だに最強
258:デフォルトの名無しさん
25/04/05 17:01:54.69 yzm+sG/V.net
文章でミジンコだとわかるだろほっといてやれ
259:デフォルトの名無しさん
25/04/07 00:01:48.06 HqNk85Dr.net
一方、ロシアは秀丸エディタを使った
260:デフォルトの名無しさん
25/04/07 18:30:32.29 +glSnyRi.net
米国がEmEditorを使うところから物語は始まるのか
261:デフォルトの名無しさん
25/05/07 13:34:42.62 VK/GbxYn.net
後方参照を初めて使ってみた
なるほど便利
後方を参照するのかと思っていたが後方で参照すると言う意味だった
262:デフォルトの名無しさん
25/05/08 20:10:04.49 a95yfZhU.net
ぎょぎょぎょ?参照うお
263:デフォルトの名無しさん
25/05/08 20:37:02.88 NyjQsc8w.net
ぎょえーー
264:デフォルトの名無しさん
25/06/10 10:10:19.59 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:デフォルトの名無しさん
25/07/13 21:04:57.49 Dpndt2SK.net
iOSです
このスレで訊いて良いのかわかりませんが
Instagramの画像はその投稿のURL、例えばこれ↓
URLリンク(www.instagram.com)
の末尾に「media/?size=l&.jpg」を加えると投稿の一枚目の画像URLになります
↓
URLリンク(www.instagram.com)
しかし、2枚目以降の画像URLがわかりません
「media/?size=l&.jpg」をいじって2枚目以降の画像URLが作れませんでしょうか
ご教授お願いします
266:デフォルトの名無しさん
25/07/13 21:12:41.07 SOWPf8Mn.net
正規表現関係ねーw
267:デフォルトの名無しさん
25/07/13 21:19:50.98 Dpndt2SK.net
どこで訊いたら良いのかわからず、パソコン詳しい人が多そうなここで質問させて頂きました
268:デフォルトの名無しさん
25/07/14 01:14:36.64 KR/EmCR1.net
和んだ
269:デフォルトの名無しさん
25/07/14 02:28:52.50 yh4CMksV.net
PC詳しい人が多そうなスレでそういう質問を受け付けていると
馬鹿が多そうなスレに成り下がると気が付かないものかね
270:デフォルトの名無しさん
25/07/25 05:51:04.25 3r8TzWYu.net
>>264
sed の出番か?
271:デフォルトの名無しさん
25/08/09 13:09:26.08 AY2Xi2Yg.net
SNSやWeb検索もたいてい正規表現対応してるからプログラミング以外で活用できる場面が増えてなんか嬉しい
272:デフォルトの名無しさん
25/08/14 17:46:16.07 ll+c+ksk.net
そんなに対応してるのある?
273:デフォルトの名無しさん
25/09/29 18:28:57.47 omFFHDum.net
^[^:]+://+([^:/]+\.)?
これの//+部分って//だけで問題ありますか?
274:デフォルトの名無しさん
25/09/29 19:15:27.09 QGaGSVZY.net
>>273
その正規表現の目的は理解できてるの?
275:デフォルトの名無しさん
25/09/29 21:45:19.64 SNsW5d6C.net
>>273
スラッシュをエスケープしなきゃいけない環境で使う正規表現かどうかによる
エスケープしなきゃいけない環境なら問題があるしそうじゃない環境なら問題ない
276:デフォルトの名無しさん
25/09/29 22:25:44.67 RjmgsX7I.net
file://で次が/になる場合はある
URLリンク(en.wikipedia.org)
277:デフォルトの名無しさん
25/09/29 22:54:22.13 FkLCZ8/e.net
何にマッチさせたいかによるわな
278:デフォルトの名無しさん
25/10/25 12:46:17.09 BjPJz/dc.net
【悲報】4/24に鬼車がgithubで開発終了したのに続いて
鬼雲(bregonig.dll)の公式サイトが9/30で閉鎖
URLリンク(k-takata.o.oo7.jp)
URLリンク(x.com)
279:デフォルトの名無しさん
25/10/28 01:47:57.16 WdB2Psfo.net
鬼車はJavaScriptの仕様に寄せろと細かいことまで言われて
嫌気がさしたのかなという印象だけど真相は作者のみぞ知るか
ただ最近はDFAキャッシュを使うエンジンの台頭で
これとかboost.regexが速いとされた時代はとうに終わってるんで
マルチバイト対応を必要とする人以外はあまり影響ない気もする
280:デフォルトの名無しさん
25/11/02 19:07:30.81 vGsY1NrW.net
「正規表現技術入門」を読むと、GNU grep ではマッチング途中で必要になった部分だけ
オンデマンドで DFA を構成していく On-the-Fly 構成法を使っている、と書かれてるけど
どのレベルから On-the-Fly してるんでしょ ?
部分集合構成法で NFA を DFA に変換する所からなのか、もっと前のε-遷移除去からなのか
あるいはさらに前の正規表現をパースして NFA を作る所も On-the-Fly なんですかね ?
GNU grep のソース見ろと言われそうだけど
281:デフォルトの名無しさん
25/11/02 20:01:30.27 JoUIYtII.net
正規表現の枠を超える後方参照(\1)とかで使ってそう
あれが絡むと事前にDFA作れない
282:デフォルトの名無しさん
25/11/02 20:13:48.87 JoUIYtII.net
正則言語の枠か
用語がちょっと怪しい