[過去ログ] Regular Expression(正規表現) Part16 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1(4): デフォルトの名無しさん [] 2021/11/03(水) 19:50:01.71 ID:ebAE+z9+(1/4) AAS
Regular Expressionスレです。
質問する場合は必ず実装言語や処理系ソフトウェア名を示してください。
前スレ
Regular Expression(正規表現) Part15
2chスレ:tech
次スレは>>980宜しく
天ぷら等>>2以降
2(4): デフォルトの名無しさん [sage] 2021/11/03(水) 19:51:06.60 ID:ebAE+z9+(2/4) AAS
スルーされにくい質問のテンプレと例
●Regular Expressionの使用環境
Java1.5
●検索か置換か?
検索
●説明
各行の1番目のAまでを検索したい
●対象データ
ABCA
BCAA
CABA
●希望する結果
ABCA
^
BCAA
^^^
CABA
^^
※ ^ はアンダーラインだそうな ^^;
3(1): デフォルトの名無しさん [sage] 2021/11/03(水) 19:51:26.32 ID:ebAE+z9+(3/4) AAS
◆関連サイト
正規表現メモ
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: デフォルトの名無しさん [sage] 2021/11/03(水) 19:54:20.40 ID:ebAE+z9+(4/4) AAS
正規表現技術入門
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/5chan_nel (5ch newer account)
5: デフォルトの名無しさん [sage] 2021/11/03(水) 20:59:16.79 ID:554LNcID(1) AAS
>>1
スレ立てありがとう
ところで、C++コンパイラごとにbasic_regex::replace()の置換後文字列のバックスラッシュがエスケープされたりされなかったりするのが厄介ですね
6: デフォルトの名無しさん [] 2021/11/03(水) 21:43:29.56 ID:K+2zXBgv(1) AAS
https://troutlurefishing.jp/regex.htm
https://murashun.jp/article/programming/regular-expression.html
https://www.itmedia.co.jp/news/articles/2111/02/news174.html
7: デフォルトの名無しさん [] 2021/11/04(木) 11:16:22.06 ID:JyTL4wpj(1) AAS
nifty の URL 死んでるな
8: デフォルトの名無しさん [] 2021/11/04(木) 11:42:25.33 ID:diIHvWke(1/2) AAS
DeNAが個人ブログから正規表現の表丸パクりしてたのワロタ
9(1): デフォルトの名無しさん [sage] 2021/11/04(木) 11:59:17.47 ID:iRkMc3Gk(1) AAS
丸パクリならまだいい
改変もまともにできないのはヤバい
正規表現の例 マッチする例
Coo+el Coopel
https://pbs.twimg.com/media/FC7n-5zaUAETKej.jpg
10(2): デフォルトの名無しさん [sage] 2021/11/04(木) 12:31:32.50 ID:B00ATyI8(1/2) AAS
>>9
どゆこと?
11(1): デフォルトの名無しさん [sage] 2021/11/04(木) 12:38:22.63 ID:Gz31zHb0(1) AAS
>>10
oの1回以上の繰り返しじゃ
pにマッチするわけないです
12: デフォルトの名無しさん [] 2021/11/04(木) 12:48:06.96 ID:diIHvWke(2/2) AAS
元がgoogleを例にしてたからこうなったのかな
いずれにしてもワロタ
13: デフォルトの名無しさん [sage] 2021/11/04(木) 12:49:09.54 ID:iCxb5Ekd(1) AAS
>>10
https://regex101.com/r/8ri3Js/1
14: デフォルトの名無しさん [sage] 2021/11/04(木) 14:21:26.74 ID:B00ATyI8(2/2) AAS
>>11
ああ、勝手に.入れてた
ほんとだひどいな
15: デフォルトの名無しさん [] 2021/11/04(木) 14:53:30.31 ID:/D1z+6Mc(1) AAS
劣化コピーだから責められてて
上品だったら叩けない訳か
16: デフォルトの名無しさん [sage] 2021/11/05(金) 08:20:43.21 ID:+Hevqd/d(1) AAS
本歌取りと言う言葉もありますし
17: デフォルトの名無しさん [sage] 2021/11/05(金) 11:40:57.68 ID:pLniUbgZ(1) AAS
オマージュ・インスパイア→胡散臭い
本歌取り→凄そう
18: デフォルトの名無しさん [sage] 2021/11/05(金) 12:37:40.52 ID:1iAtfRIf(1) AAS
本歌取りに良いイメージがあるのは、この行為が和歌の世界で伝統的に許されてきたからだ。
19(1): デフォルトの名無しさん [sage] 2021/11/06(土) 20:39:20.57 ID:oKHbtIv+(1) AAS
祝☆ vim 3o+年
20: デフォルトの名無しさん [sage] 2021/11/06(土) 21:18:49.31 ID:G8Zn1Puj(1) AAS
>>19
スレ違い
21: デフォルトの名無しさん [sage] 2021/11/07(日) 00:36:45.12 ID:kpV1ZjX8(1) AAS
(/(>>1)/,'$1乙')
22: デフォルトの名無しさん [sage] 2021/11/15(月) 00:01:22.12 ID:5vPB6h42(1/2) AAS
今までに無いかつら、非包含オペレータ
https://bokete.jp/odai/533281
23: デフォルトの名無しさん [sage] 2021/11/15(月) 10:09:56.72 ID:xJpmlO5M(1) AAS
vimで文字列処理ってマイナーなのか?
UIでマッチをハイライトしながらパターンを書けるし、書いたパターンと処理はperlやsedのようにコマンドライン引数で渡してシェルスクリプトに組み込める(UI無し、非インタラクティブモード)
vimはバッファするからストリーム処理には向かないくて、パイプにはperlを使うけど、バッチ処理ならvimの方が速い
あと、個人的にアサーションの記法(\@<=等)も、()が深くなりがちなperl系の(?<=等)より好みだ
24: デフォルトの名無しさん [sage] 2021/11/15(月) 10:57:59.40 ID:Y0jbpZIM(1) AAS
惜しむらくは、マッチ後の単純でない処理を委託するvimscriptがクソなところだと思う、regex自体は十分パワフル
perlは任意のロジックをperl式に移譲するのが楽、パターンにも書けるし、大抵インラインで済む
vim9で大幅に言語変えるっぽいけど、どうなるやら
25: デフォルトの名無しさん [sage] 2021/11/15(月) 11:19:19.50 ID:vc2enCPn(1) AAS
()が減るケースって実用的にはあまり無いんじゃないか?アサーションの修飾対象がグループなら、どうせ()が必要になるわけだし
アサーションの\@が後置なのはperl系より一貫性があって良い設計だと思う、?,+,* etcと同列の修飾子とみなせる
26: デフォルトの名無しさん [sage] 2021/11/15(月) 21:36:14.28 ID:5vPB6h42(2/2) AAS
非包含オペレータの提案者の方の過去ログ漁ってたらすごいの出てきた
http://www.a-k-r.org/pub/2013-06-02-rubyhiroba-akr.pdf
これを使えば2次元の彼女が見つかりそう
27(1): デフォルトの名無しさん [] 2021/11/17(水) 00:30:09.97 ID:pGjzwEdG(1/3) AAS
pythonで文字列分割をする時
1:・ー└等の1文字と、半角スペース3つ以上のいずれかで文字列を分解したい
re.splitで、思いつく限りやってみましたが、うまく行きませんでした。
[・ー└]|( ){3,}
[・ー└( ){3,}]
[・ー└(( ){3,})]
試しにre.sub(〜, "", ・・・)で文字列が削除出来るかどうか試したときは半角スペース3つが消えました。
いくつかの文字 もしくは 特定の文字の繰り返し、で文字列を分解する書き方はありますでしょうか
28(1): デフォルトの名無しさん [] 2021/11/17(水) 00:32:30.60 ID:pGjzwEdG(2/3) AAS
上記で、分かりにくくてすみません、
>1:・ー└等の1文字と、半角スペース3つ以上のいずれかで文字列を分解したい
この「1:」は気にしないでください。
また、re.subで上手く行ったのは、1つめに書いた [・ー└]|( ){3,} です
29(16): デフォルトの名無しさん [sage] 2021/11/17(水) 01:31:56.09 ID:vtK5EVRE(1/3) AAS
[・ー└]|( ){3,} → 合ってる
[・ー└( ){3,}] → 間違い
[・ー└(( ){3,})] → 間違い
文字コードが uft-8 以外で書かれている文書を扱ってるとか?
そうなら python 文字コード でググって文書を uft-8 に変換してから split
30: デフォルトの名無しさん [sage] 2021/11/17(水) 02:52:26.84 ID:CiQU0O+7(1) AAS
( → (?:
31: デフォルトの名無しさん [sage] 2021/11/17(水) 04:06:28.28 ID:PbEjqT95(1) AAS
>>29
そもそも単文字なんだしグループにする必要なくね?
32: デフォルトの名無しさん [sage] 2021/11/17(水) 09:04:44.07 ID:GPq3lXDW(1/2) AAS
>>28
上でも書かれているが()は要らんよ。
import re
s='これ・はテスートなの└かテ スト なの です'
print(re.split('[・ー└]| {3,}',s))
上下前次1-新書関写板覧索設栞歴
あと 970 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.029s