Regular Expression(正規表現) Part17
Regular Expressionスレです。
質問する場合は必ず実装言語や処理系ソフトウェア名を示してください。
前スレ
Regular Expression(正規表現) Part16
https://mevius.5ch.net/test/read.cgi/tech/1635936601/
次スレは>>980宜しく
テンプレ>>2以降 スルーされにくい質問のテンプレと例
●Regular Expressionの使用環境
Java1.5
●検索か置換か?
検索
●説明
各行の1番目のAまでを検索したい
●対象データ
ABCA
BCAA
CABA
●希望する結果
ABCA
^
BCAA
^^^
CABA
^^
※ ^ はアンダーラインだそうな ^^; >>1 乙 前スレ消化するのに2年かかってるから次スレは2025年末か MSの.NETとMDNのJSの説明はよいけど
Perlはperlreを載せるべきじゃ 正規表現スレのテンプレにperl公式が無かったのかw
詳説 正規表現ももうだいぶ古い
近頃の正規表現エンジンが進化しすぎてもう本に全部まとめられないよね
perlの正規表現の解説だけで1冊分になってしまいそう
>スルーされにくい質問のテンプレと例
いつもスルーしてる >非包含オペレータ
これ包茎オペに空目するからやめたほうがいいとおもう 俺すげぇ面白い事思い付いたわ
天才じゃね?
って深夜に思い付いちゃったんだろうな
異世界転生モノ好きそう 俺も思ったけど書き込まなかった
「包茎」「空目」「深夜」どこにもかかってないんだが
>9 は異世界転生モノに親でも殺されたのか流行り物が嫌いなだけなのか どっちの方が気持ちわるいかと言えば
俺は>>9に一票
もちろん>>9 vs >>10ね 以下のあぼーん用正規表現を教えて下さい
文字列3文字
文字列5文字
(空白改行)
文字列3文字
よろしくお願い致します 文字列3文字が固有の3文字なのか任意の3文字なのかがわからん
空白と空は意味がちがうから空白改行もどうとらえていいかわからん
そういう厳格さがないと正規表現は使い切れない ^ \S{3} <br> \S{5} <br> +<br> \S{3} $ >>16-17
某板に荒らしが発生しているので
荒らしレスの冒頭の
─────────────────────
>>1
岡村ほまれ
可愛い
─────────────────────をあぼーんワードにしたいのです
よろしくお願い致します 情報を小出し後出しにするやつってうざいよな
もう遅いけど使用環境を最初に示すべきだった 改行の扱いは専ブラによって違うということを知っておこう
<br>だったり\sだったりする (?><[bB][rR]>|\r\n|[\r\n]) UPLIFT プレミアム・サービスのお知らせ
https://uplift.5ch.net/
UPLIFT 主な特典
・連続投稿の規制を緩和します。
・スレッド作成時の規制を緩和します。
・5ch.netのスレッド表示画面に表示される広告を除去します。
・5ch.net専用ブラウザで5ch.netの過去ログを閲覧できるようになります。
・海外からのアクセス・ホスト経由からでも書き込みができるようになります。
・書き込みが規制されているプロバイダーからでも書き込みができるようになります。
・5ch.netを安定して利用できるように運営を支援できます。
5ちゃんねるを存続させるためには、皆様のご協力が必要です。
最後まで御精読いただきありがとうございました。 他は無料で良いサービス提供出来てるのに金払えは甘え
5ch運営が殿様商売で無策だったツケが回って来てるだけの自業自得だから、5chなんか潰れちまえ
取り敢えずNG突っ込んだわ このスレも役目を終えつつあるね、今時の子はこんなところには来ないと思う
yahoo掲示板にでも行ってるのかな ChatGPTとかのAIでしょ
Yahoo掲示板こそジジイしか居ないイメージだわ そか、AIに作ってもらえるならクレクレする必要もないね、いいことだ そして「ChatGPTでXXをやってみたいんですがうまくいきません、どうしたら」というクレクレ質問が大量発生 あるプログラムのコーディングはすごく処理速度を意識してるのに
そのプログラムに使ってる正規表現はまったく効率を考えてない,というケースをよく見かける
正規表現をAIが作るようになれば改善されるかもね 人「おいAI、お前が作った正規表現とてつもなく遅いじゃないか」
AI「はい、ヒトが解読しやすい方が良いと判断しました。速度の問題は時が経てばマシンの性能向上で解決しますが、ヒトの解読力の方は...」 > 速度の問題は時が経てばマシンの性能向上で解決しますが
海原雄山「このポンコツAIを作ったのは誰だー」 俺にかかれば正規表現はいくらでも遅くなる
任せてくれ .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 >>38
.Net Core(現 .Net)ってそんな前からあったっけ? 旧エンジンにマシンパワーをどれだけ積んでもネットブックで動かす新エンジンに勝てなそう それ同じ環境と条件で比較テストしてるわけじゃないから単純にエンジンの違いによる性能差じゃないからね 正規表現は昔からあるのに未だに進化するスピードが尋常じゃないのはすごいことだ
AIの登場でこれからどうなるのか想像付かない 正規表現はオートマトンに変換するだけだから
AIとは何の関係もないぞ
高速化もこれ以上は理論的にできないし
書き方で速さが違うのは当たり前 現代の正規表現エンジンは純粋なオートマトンだけで動いているわけではないよ 例えをあげると以下の正規表現を使った検索では
[^a]+c[^b]+
まず"c"を検索して見つからなければマッチ失敗を返す
このときオートマトンは使用されないまま検索が終わる
これは実在する正規表現エンジンの動作ではなくあくまでイメージ
AIならもっと柔軟にこういう処理が出来るかも そういう高速化はワイルドカードで
数パターンに分類してやったことはあるな
というわけで前段階で複数のワイルドカードをand/orでつなげた表記も受け付けるようにすれば
シンプルな分結構高速化できる 正規表現って現実の何かで例えるなら何?
パズル?
言語学的な感じも数学的な感じもしないような 正規表現を初めて使ったのがken氏でOnigmoもken氏
そして現代で正規表現と言えばPerl
この3つの要素を合わせるとなんと>>51になる AAA _ BBB _ CCC _ DDD
を
BBB AAA
にする 使用環境メモ帳
☑正規表現を使うにチェック
検索するにAAA _ BBB _ CCC _DDD
置換にBBB AAA [A][A][A] _B{3,3} _ (C)(\1)\2 _[\x{44}][\x{44}][\x{44}] カ)ミツカン カカ)ミツカン
の単語の始まりにある「カ)」を取ってきたいのだが、
[カ\カユユ][)\)]
だと両方ヒットする。
\b[カ\カユユ][)\)]
だと両方ヒットしない。
\bて単語の始まりじゃないの? >>63
一般に正規表現の \b 及び \B の文脈における「単語」とは「\w+」のこと
「か」は単語ではないので、当然ながらその直前の位置(境界)に \b はマッチしない 単語の境界の単語とは\wかどうか
先頭が\w、\wと\W(又は\Wと\w)の間、最後が\w
空白も括弧も全角文字も\wではなく、全てが\Wの連続なので境界がない
(?<=^|\s| )[カ\カユユ][)\)]
こんな感じかなあ? >>66
サンクス。
正規表現チェッカーだとうまく行くが、VBAだとエラーする。
カカ)ミツカンていう会社名なんてないから諦めるわ。 =?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を切り出すのは難しいな 切り出しするのはMIMEパートで
中身はすべてQPだから難しくなさそうだけど罠がある?