Regular Expression(正規表現) Part17

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

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

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

次スレは>>980宜しく
テンプレ>>2以降
2デフォルトの名無しさん
垢版 |
2023/12/16(土) 08:59:57.66ID:uVHZ7e2j
スルーされにくい質問のテンプレと例

●Regular Expressionの使用環境
Java1.5

●検索か置換か?
検索

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

●対象データ
ABCA
BCAA
CABA

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

※ ^ はアンダーラインだそうな ^^;
3デフォルトの名無しさん
垢版 |
2023/12/16(土) 09:00:18.14ID:uVHZ7e2j
◆関連サイト
正規表現メモ
http://www.kt.rim.or.jp/~kbk/regex/regex.html
Perl正規表現雑技
http://www.din.or.jp/~ohzaki/regex.htm

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

正規表現プログラミングFAQ
http://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(鬼雲の正規表現をサクラエディタ等で使用するためのライブラリ)
http://k-takata.o.oo7.jp/mysoft/bregonig.html
Boost.Regex 1.45.0 (日本語訳)
http://alpha.sourceforge.jp/devel/boost.regex_ja_1_45_0.pdf

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

サクラエディタ: 改行
http://d.hatena.ne.jp/myokoym/20101219/1292779058
※ サクラエディタでは複数行に渡る検索・置換は出来ません。
4デフォルトの名無しさん
垢版 |
2023/12/16(土) 09:00:38.18ID:uVHZ7e2j
正規表現技術入門
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
https://twitter.com/thejimwatkins
2023/12/16(土) 17:18:36.20ID:ZkpISsx+
>>1 乙 前スレ消化するのに2年かかってるから次スレは2025年末か
2023/12/16(土) 19:02:49.70ID:UfR4i5aB
MSの.NETとMDNのJSの説明はよいけど
Perlはperlreを載せるべきじゃ
2023/12/16(土) 21:11:50.18ID:ZkpISsx+
正規表現スレのテンプレにperl公式が無かったのかw

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

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

いつもスルーしてる
2023/12/17(日) 02:07:16.68ID:OHxpVvei
>非包含オペレータ
これ包茎オペに空目するからやめたほうがいいとおもう
2023/12/17(日) 07:18:27.92ID:FEe4n35c
俺すげぇ面白い事思い付いたわ
天才じゃね?
って深夜に思い付いちゃったんだろうな
異世界転生モノ好きそう
10デフォルトの名無しさん
垢版 |
2023/12/17(日) 10:40:09.52ID:KG6/TFz3
俺も思ったけど書き込まなかった
「包茎」「空目」「深夜」どこにもかかってないんだが
>9 は異世界転生モノに親でも殺されたのか流行り物が嫌いなだけなのか
2023/12/17(日) 11:33:01.98ID:lxaANove
池沼お気に入りの言い回し:親でも殺された
2023/12/17(日) 11:52:23.27ID:uskvVvSC
どっちの方が気持ちわるいかと言えば
俺は>>9に一票

もちろん>>9 vs >>10
2023/12/17(日) 12:06:59.79ID:3hsIyhlE
まあ>>9は場違いだな
2023/12/17(日) 13:08:14.11ID:hPnGIyzU
美少女だから無罪で
2023/12/17(日) 16:47:12.08ID:C55sNZf7
以下のあぼーん用正規表現を教えて下さい

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

よろしくお願い致します
2023/12/17(日) 22:44:10.33ID:WFgQcr7d
文字列3文字が固有の3文字なのか任意の3文字なのかがわからん
空白と空は意味がちがうから空白改行もどうとらえていいかわからん
そういう厳格さがないと正規表現は使い切れない
2023/12/17(日) 23:44:06.80ID:6Rk7Y10s
^ \S{3} <br> \S{5} <br> +<br> \S{3} $
2023/12/18(月) 00:25:33.88ID:gHmacq4F
>>16-17
某板に荒らしが発生しているので
荒らしレスの冒頭の
─────────────────────
>>1
岡村ほまれ

可愛い
─────────────────────をあぼーんワードにしたいのです
よろしくお願い致します
2023/12/18(月) 00:54:45.24ID:zFl9jE+m
情報を小出し後出しにするやつってうざいよな
もう遅いけど使用環境を最初に示すべきだった
2023/12/18(月) 10:40:38.35ID:pykETp8J
改行の扱いは専ブラによって違うということを知っておこう
<br>だったり\sだったりする
2023/12/18(月) 11:17:13.95ID:6u0hXPC3
(?><[bB][rR]>|\r\n|[\r\n])
2023/12/19(火) 17:06:05.93ID:97fwYV9l
モ娘(狼)板に涌いている荒らし

https://kizuna.5ch.net/test/read.cgi/morningcoffee/1702957612/4-7
2023/12/20(水) 09:54:40.16ID:HDpQovyo
UPLIFT プレミアム・サービスのお知らせ

https://uplift.5ch.net/

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

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

最後まで御精読いただきありがとうございました。
2023/12/20(水) 13:16:05.38ID:kMNBqppc
他は無料で良いサービス提供出来てるのに金払えは甘え
5ch運営が殿様商売で無策だったツケが回って来てるだけの自業自得だから、5chなんか潰れちまえ
取り敢えずNG突っ込んだわ
2023/12/20(水) 19:23:53.60ID:owPAm/QX
このスレも役目を終えつつあるね、今時の子はこんなところには来ないと思う
yahoo掲示板にでも行ってるのかな
2023/12/20(水) 21:03:08.80ID:lnEIVk9M
ChatGPTとかのAIでしょ
Yahoo掲示板こそジジイしか居ないイメージだわ
2023/12/20(水) 23:05:30.95ID:owPAm/QX
そか、AIに作ってもらえるならクレクレする必要もないね、いいことだ
2023/12/20(水) 23:36:14.45ID:z/5Qp7sj
そして「ChatGPTでXXをやってみたいんですがうまくいきません、どうしたら」というクレクレ質問が大量発生
2023/12/20(水) 23:46:12.22ID:owPAm/QX
私もそのクレクレになりそうw
2023/12/22(金) 12:31:09.65ID:ivJ9ZoTT
あるプログラムのコーディングはすごく処理速度を意識してるのに
そのプログラムに使ってる正規表現はまったく効率を考えてない,というケースをよく見かける
正規表現をAIが作るようになれば改善されるかもね
2023/12/22(金) 18:21:26.60ID:55x+HPTI
人「おいAI、お前が作った正規表現とてつもなく遅いじゃないか」
AI「はい、ヒトが解読しやすい方が良いと判断しました。速度の問題は時が経てばマシンの性能向上で解決しますが、ヒトの解読力の方は...」
2023/12/23(土) 21:28:49.10ID:jMjD4WOY
> 速度の問題は時が経てばマシンの性能向上で解決しますが

海原雄山「このポンコツAIを作ったのは誰だー」
2023/12/29(金) 19:40:02.08ID:c5lsn96k
話が高度過ぎて付いていけない
2024/01/15(月) 07:25:04.51ID:LwnsIRDe
速い正規表現ってどういうこと?
2024/01/15(月) 09:06:53.25ID:ZT1xOGvJ
ステップ数が小さい
2024/01/15(月) 15:35:12.01ID:VYSGEVd4
正規表現とてつもなく遅い でグーグル検索しようぜ
2024/01/15(月) 16:06:35.46ID:UMjmkZMs
俺にかかれば正規表現はいくらでも遅くなる
任せてくれ
2024/01/31(水) 22:37:07.48ID:jTCZHTVk
.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
2024/01/31(水) 23:41:08.70ID:O0N6A3M6
>>38
.Net Core(現 .Net)ってそんな前からあったっけ?
2024/02/01(木) 23:01:03.30ID:YPnx34uD
.NET Core 1.0は2016だからね
2024/02/04(日) 19:04:14.97ID:1hv2Rh8g
案外歴史が長い!
2024/02/04(日) 21:10:13.35ID:GiV0zbjO
旧エンジンにマシンパワーをどれだけ積んでもネットブックで動かす新エンジンに勝てなそう
43デフォルトの名無しさん
垢版 |
2024/02/04(日) 22:35:02.60ID:FtEwRyHG
それ同じ環境と条件で比較テストしてるわけじゃないから単純にエンジンの違いによる性能差じゃないからね
2024/02/04(日) 23:23:40.51ID:l8NY0XdM
正規表現は昔からあるのに未だに進化するスピードが尋常じゃないのはすごいことだ
AIの登場でこれからどうなるのか想像付かない
2024/02/05(月) 03:06:40.22ID:UJ2m14qd
正規表現はオートマトンに変換するだけだから
AIとは何の関係もないぞ

高速化もこれ以上は理論的にできないし
書き方で速さが違うのは当たり前
46sage
垢版 |
2024/02/05(月) 15:59:30.46ID:6V7y69ze
現代の正規表現エンジンは純粋なオートマトンだけで動いているわけではないよ
2024/02/14(水) 22:19:25.22ID:2oHCpHj3
例えをあげると以下の正規表現を使った検索では

[^a]+c[^b]+

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

これは実在する正規表現エンジンの動作ではなくあくまでイメージ
AIならもっと柔軟にこういう処理が出来るかも
2024/03/18(月) 04:18:56.57ID:LIfqFVfX
そういう高速化はワイルドカードで
数パターンに分類してやったことはあるな

というわけで前段階で複数のワイルドカードをand/orでつなげた表記も受け付けるようにすれば
シンプルな分結構高速化できる
2024/03/23(土) 22:54:40.43ID:tYxC9w64
ふむ。
2024/03/24(日) 19:41:23.90ID:aAFJLVlH
正規表現って現実の何かで例えるなら何?
パズル?
言語学的な感じも数学的な感じもしないような
2024/03/24(日) 23:03:04.96ID:IO+c4sKO
けんけんぱ
2024/03/25(月) 00:12:28.47ID:BW1at+9B
ずいずいずっころばし
53デフォルトの名無しさん
垢版 |
2024/03/25(月) 17:12:10.55ID:vkyh3m8T
ますたーまいんど
2024/03/28(木) 12:08:33.08ID:Y8B9QCf2
正規表現が $ と ^ をラインアンカーとして採用した理由 ソフトアンテナ
https://softantenna.com/blog/regex-line-anchors/
2024/03/28(木) 23:34:35.78ID:WoHbaWvj
正規表現を初めて使ったのがken氏でOnigmoもken氏
そして現代で正規表現と言えばPerl

この3つの要素を合わせるとなんと>>51になる
2024/03/30(土) 12:49:02.61ID:oQnMbHXx
すべった
2024/03/31(日) 20:21:11.66ID:R8UIIGRi
認められてえらい
58デフォルトの名無しさん
垢版 |
2024/04/01(月) 17:41:25.33ID:Jdw9gPZP
つまりムトゥ神か
2024/04/04(木) 02:49:29.95ID:Bu2po2+x
AAA _ BBB _ CCC _ DDD

BBB AAA
にする
2024/04/04(木) 03:53:18.24ID:X4Q29337
使用環境メモ帳
☑正規表現を使うにチェック
検索するにAAA _ BBB _ CCC _DDD
置換にBBB AAA
2024/04/04(木) 22:23:37.89ID:sf62q9R2
[A][A][A] _B{3,3} _ (C)(\1)\2 _[\x{44}][\x{44}][\x{44}]
2024/04/23(火) 23:42:47.37ID:f/wKo/xU
チェックマークの絵文字かっこいい
63デフォルトの名無しさん
垢版 |
2024/04/28(日) 08:09:34.58ID:bvIrnysh
カ)ミツカン カカ)ミツカン
の単語の始まりにある「カ)」を取ってきたいのだが、
[カ\カユユ][)\)]
だと両方ヒットする。
\b[カ\カユユ][)\)]
だと両方ヒットしない。
\bて単語の始まりじゃないの?
2024/04/28(日) 08:33:21.76ID:cFVqBor9
使ってるプログラミング言語は?
2024/04/28(日) 08:43:14.02ID:rlAkFFFr
>>63
一般に正規表現の \b 及び \B の文脈における「単語」とは「\w+」のこと
「か」は単語ではないので、当然ながらその直前の位置(境界)に \b はマッチしない
2024/04/28(日) 08:44:57.81ID:w8Q1u9O5
単語の境界の単語とは\wかどうか
先頭が\w、\wと\W(又は\Wと\w)の間、最後が\w
空白も括弧も全角文字も\wではなく、全てが\Wの連続なので境界がない

(?<=^|\s| )[カ\カユユ][)\)]
こんな感じかなあ?
2024/04/28(日) 09:15:58.39ID:w8Q1u9O5
句読点(、。,.,.)があるならそれもか
2024/04/28(日) 09:24:53.38ID:b3SQbRRV
https://regex101.com/r/HbkFb9/1
69デフォルトの名無しさん
垢版 |
2024/04/28(日) 10:39:11.02ID:bvIrnysh
>>66
サンクス。
正規表現チェッカーだとうまく行くが、VBAだとエラーする。
カカ)ミツカンていう会社名なんてないから諦めるわ。
2024/05/01(水) 06:39:29.77ID:QLRpEQs1
=?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を切り出すのは難しいな
2024/05/01(水) 10:32:16.36ID:G90j3Kau
切り出しするのはMIMEパートで
中身はすべてQPだから難しくなさそうだけど罠がある?
72デフォルトの名無しさん
垢版 |
2024/05/25(土) 14:18:39.96ID:5mKzxThb
こんちゃ
flexible renamerで上のフォルダを検索して、そのフォルダ名をファイル名にしたいのですが、上のフォルダの検索方法はどうすればいいんでしょうか。

../
これでいけるとおもったんですが、文字列になるみたいです
2024/05/25(土) 14:34:39.35ID:GTAuICNX
置換えを\fにするんでは
親フォルダなら\Fか
2024/05/25(土) 14:37:23.14ID:NyW0Hsfe
置換については \F が親フォルダ名を示すメタ文字
「サポート▶」クリックで表示されるリストを確認するといい
75デフォルトの名無しさん
垢版 |
2024/05/25(土) 15:09:38.89ID:5mKzxThb
ありがとう(*´ω`*)解決ナリよ
76デフォルトの名無しさん
垢版 |
2024/05/25(土) 16:34:20.14ID:5mKzxThb
ところでwindowsで10の別名フォルダを同名にリネームして、中身を1つに統合みたいなことは出来ないのでしょうか?
2024/05/25(土) 17:54:07.45ID:+J5I1fk8
スレチ
2024/05/25(土) 18:00:34.05ID:o9ml7dor
>>76
バッチでも書きゃいいだろ
79デフォルトの名無しさん
垢版 |
2024/05/25(土) 18:15:50.33ID:5mKzxThb
はい
2024/05/25(土) 20:23:33.14ID:Roch7C/E
windows ntfs union
で調べたらわかるけど困難
Linux上で実現させてそこへアクセスが単純かな
81デフォルトの名無しさん
垢版 |
2024/05/27(月) 00:15:11.27ID:3w+qnBSP
一旦同名フォルダ作って全部ぶっ込んで統合先の親に移動するだけだろ
誰もunionfsごっこやりたいとか言ってないぞ
2024/05/29(水) 18:58:45.90ID:uKjwQH9U
生気表現 ('A`)
性器表現 ((i))  くコ:彡
どれがいい?
2024/05/30(木) 19:54:12.15ID:BiQuU9Dh
何がregularなのかいまだにわからん
2024/05/31(金) 02:22:57.15ID:8gCpYzBa
たまには英語の辞書を開いてあげろ
2024/05/31(金) 21:42:18.07ID:TouRjKKE
レギュラーコーヒーのレギュラーって何って質問しても満足な回答得られないから今度やってみ
2024/06/01(土) 15:29:35.29ID:AnvSsNLo
非正規コーヒー
2024/06/01(土) 17:45:51.25ID:zLTUouUC
レギュラーコーヒーのレギュラーはnormalとかordinaryの意味でのレギュラー
インスタントコーヒーと区別するために作られた日本語

regular expressionのregularは「規定されたルールに従った」という意味でのレギュラー
形式言語理論からの用語
2024/06/01(土) 18:52:55.00ID:4ZWo8ROd
>>87
>>インスタントコーヒーと区別するために作られた日本語

いわゆる「レトロニム」ってやつだね
2024/06/02(日) 06:26:43.62ID:j0fRNfQ2
正規表現のregularはレギュレーション的な意味?

そしてコーヒーそうだったのか
普通の王道の味のコーヒーって意味だと思ってたwww
2024/06/03(月) 02:03:28.38ID:YPamPwdM
英和だけじゃなく英英も調べるようにしたほうがいいよ
2024/06/03(月) 19:56:37.73ID:PWp7k61t
>>87
形式言語理論だと正則表現と訳すことの方が多いらしい
2024/06/05(水) 15:42:09.20ID:kJJy3o9y
セーソク表現か…
2024/06/06(木) 14:37:37.38ID:E3zmVJgl
>>89
コーヒーソーダは違います
94デフォルトの名無しさん
垢版 |
2024/06/18(火) 14:11:57.80ID:pzzAto97
質問させてください

# h1
## h2
こういった構造なのですが、h2のタブ(上の例では半角スペースにしてます)を除いた箇所だけマッチさせたいです
# .*
## .*
1つ目をh1用、2つ目をh2用としてマッチさせたいのですが、これだと1つ目がh2の後半部分にもマッチしてしまいます。
対策はあるでしょうか
2024/06/18(火) 14:59:50.56ID:J2T1cvE/
2つ目を1つ目にして
1つ目を2つ目にする
96デフォルトの名無しさん
垢版 |
2024/06/18(火) 15:10:51.31ID:pzzAto97
すみません
どういうことでしょうか。
2024/06/18(火) 15:21:22.31ID:TPDReXqh
後読みが使える環境なら
(?!#)# .*
2024/06/18(火) 15:22:52.25ID:TPDReXqh
^# .*で問題ないのか
99デフォルトの名無しさん
垢版 |
2024/06/18(火) 17:57:12.95ID:pzzAto97
試したところ、後読みというは使えない環境のようでした
meryというテキストエディタです
100デフォルトの名無しさん
垢版 |
2024/06/18(火) 17:58:50.33ID:pzzAto97
そっちのスレで聞いてみますね
2024/06/18(火) 20:25:18.67ID:kkbo/g2D
FindOnig
2024/07/09(火) 03:18:21.56ID:pEcdZJzG
re2のレポジトリに、ずっとコード書いてきた人を追悼するissueが立ってるけど
いたずらじゃなく本当だとしたら今後どうするんだろ
正規表現エンジンの設計ってわりと専門性高めで後任を見つけるのも簡単ではなさそうだけど
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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