[過去ログ] Regular Expression(正規表現) Part16 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
201: 2022/02/24(木)15:01 ID:hcs+VfLS(1/3) AAS
●Regular Expressionの使用環境
サクラエディタ
●検索か置換か?
検索
●説明
指定した文字列を含む行と、それ以降の行を削除したいです
↓文字列がDの場合の例
●対象データ
ABCA
BCDAA
省5
202: 2022/02/24(木)15:56 ID:aUuEQTy2(1) AAS
置換では?
203(1): 2022/02/24(木)16:21 ID:XVFOP1rX(1/2) AAS
ヘルプに書いてるでしょ
外部リンク[html]:sakura-editor.github.io
> (mオプションが付いていますが、改行をまたいだ検索はできません。)
可能にする方法はあるようだが今も使えるのかは知らない
外部リンク:sakura.qp.land.to
素直に複数行検索置換出来るツールやエディタ使った方が良い
204: 2022/02/24(木)16:39 ID:hcs+VfLS(2/3) AAS
>>203
失礼しました
これまでたまの置換えでしか使わなかったのでヘルプ読んでませんでした
また、別な無料のエディタで可能な正規表現があれば
セットで教えていただきたいです
ありがとうございました!
205(1): 2022/02/24(木)16:57 ID:XVFOP1rX(2/2) AAS
Mery
^(?=.*D)(.*\n)++
206: 2022/02/24(木)18:04 ID:hcs+VfLS(3/3) AAS
>>205
希望通りにできました。エディタまで教えていただき本当にありがとうございます!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
207: 2022/03/05(土)11:04 ID:UMjr+RM8(1) AAS
外部リンク:github.com
208: 2022/03/05(土)13:30 ID:ST2bI6pB(1/3) AAS
よろしくおねがいします。
●Regular Expressionの使用環境
auto hot key
●検索か置換か?
置換
●説明
日本語URLを除去したい
%..* で一致するがPCRE書式化(AHK文法?)が解らず。。。
●対象データ
%00%00%00%00%00%00
省1
209(1): 2022/03/05(土)14:39 ID:CfflkLyE(1) AAS
(%\d\d)++
210: 2022/03/05(土)15:55 ID:ST2bI6pB(2/3) AAS
>>209
早速ありがとうございます!
wiki記載の意味がやっと理解できました。
下記エラーになりました。
すいません対象データ誤りで英数字2桁のため\w\wにしてもだめでした。
Line Text: \d\d
Error: The leftmost character above is illegal in an expression.
※\w\wも同じ。
構文的には正しいようです。
画像リンク[png]:i.imgur.com
211(1): 2022/03/05(土)15:58 ID:auOTeG9V(1) AAS
あれ、\dでいいの?文字コードだから16進じゃない?
212: 2022/03/05(土)16:23 ID:vjAKKjP5(1/2) AAS
(?:%[:xdigit:]{2})+
では?
213(1): 2022/03/05(土)16:33 ID:vjAKKjP5(2/2) AAS
(?:%[[:xdigit:]]{2})+
だった
214: 2022/03/05(土)18:13 ID:ST2bI6pB(3/3) AAS
>>213
ありがとうございます上手くいきました!
何でそうなるのか.. wikiにらめっこしてみます。
が、正規表現テストツール上では上手くマッチしますが、MsgBoxで出力すると #_=_ がくっついてきます。スレチならすいません。
>>211
URLエンコードって16進数だったんですね。
215(1): 2022/03/06(日)00:13 ID:6dwIIS19(1) AAS
wikiってどこのこと?
216: 2022/03/06(日)16:28 ID:ez4sjEWa(1) AAS
>>215
外部リンク:sites.google.com
217(1): 2022/03/13(日)17:17 ID:dODqeNlh(1) AAS
外部リンク:github.com
218: 2022/03/19(土)23:41 ID:ur7rhOwp(1) AAS
外部リンク[html]:www.kt.rim.or.jp
>某巨大掲示板のとあるスレッドの情報によれば、 非包含オペレーターが
>期待通りに動かないパターンがあるようです。
おぬし、さてはここを見ておるな? azure
>>217
故意にこれが出来るならSEO対策としてライバル企業をやっつけられるな
企業間でそんな話が出てないということは出来ないということではないだろうか
219: 2022/03/20(日)07:35 ID:AfbYOGC9(1/2) AAS
●Regular Expressionの使用環境
サクラエディタ
●検索か置換か?
置換
●説明
ある文字列Aを含む行のうち、ある文字列Bを含まない行を
すべて削除したいです
●対象データ(文字列Aを含む行のうち、Bを含まない行を削除。囲み数字はデータではなく単なる通し番号で入れています)
?ABCA
?FCAA
省12
220(1): 2022/03/20(日)07:55 ID:UyeAjpj2(1) AAS
^(?=.*A)(?!.*B)[\s\S]*
221(1): 2022/03/20(日)08:51 ID:AfbYOGC9(2/2) AAS
>>220
いつも素早い回答をありがとうございます!うまくいきました!誠に感謝です。ありがとうございました!
222(1): 2022/03/20(日)19:15 ID:ZHfPfLkc(1) AAS
>>221
219より一つ前にあなたがした質問はどれ?
223: 2022/03/22(火)18:15 ID:CHL1FHKG(1) AAS
>>222
お返事が遅くなりすみません。このスレでは201のみです。
また今後もよろしくお願いします!
224: 2022/04/05(火)13:22 ID:jmydyZMd(1) AAS
非包含オペレータのバグの詳細
外部リンク[pdf]:github.com
225(1): 2022/04/09(土)11:11 ID:RvdBAddV(1/2) AAS
●正規表現環境: VS Code
●検索か置換か: 置換
●対象データ:24時間表記の時間
●説明:
24時間表記を12時間表記にしたい。
●例:
23:59:30 → 11:59:30
正規表現で可能ですか?
226: 2022/04/09(土)12:41 ID:CVydPDGM(1/2) AAS
>>225
無理じゃね?
簡単なスクリプトを書いたほうが早い
227: 2022/04/09(土)12:49 ID:FmMbp+0V(1) AAS
13:→1:
14:→2:
…
24:→12:
分と秒は正規表現でキャプチャ
みたいに高々12回置換すればええやん?
そういう意味じゃないんか
228: 2022/04/09(土)12:59 ID:OC1bdbLm(1) AAS
愚直に12回置換すれば出来る
12(?=(?::[0-5]\d){2})
00
13(?=(?::[0-5]\d){2})
01
…
23(?=:[0-5]\d:(?:[0-5]\d|60))
11
229: 2022/04/09(土)14:50 ID:CVydPDGM(2/2) AAS
a.m.やp.m.の情報は消えても大丈夫なのかな?
230: 2022/04/09(土)14:56 ID:RvdBAddV(2/2) AAS
amやpmは無くてもokです
231: 2022/04/13(水)22:16 ID:pxLJgBKP(1) AAS
外部リンク:github.com
232: 2022/04/15(金)16:20 ID:M7wVtHzF(1) AAS
Apacheのmod_rewrite(Perl互換)でルート直下の特定のディレクトリとその配下のみリダイレクトしない条件にヒットする正規表現を探しています
?/.well-known
?/.well-known/
?/.well-known/ランダムな文字列
この3つにヒットしてくれればいいのですが
・ルート直下なので行頭指定
・スラッシュのない方の.well-knownは行末を指定(完全一致)
・スラッシュのある方の.well-known/は配下のディレクトリへのアクセスも想定して行末を指定しない(前方一致)
を一行に収めようと考えた結果
^/\.well-known(/|$)
省3
233(1): 2022/04/15(金)21:37 ID:GEApyL4S(1) AAS
それでOK。 ケチを付けるなら (?:/|$) にすれば無駄なキャプチャを防げる。
先読みを理解してるなら (?=/|$) でもOK。
234: 2022/04/16(土)06:02 ID:mQZGE0o5(1) AAS
正規表現を使ってモンスターを討伐していくゲーム「Regex Hunting」をプレイしてみた - GIGAZINE
外部リンク:gigazine.net
235: 2022/04/16(土)07:11 ID:9DJ1ctMv(1) AAS
>>233
ありがとうございます
今は(?:/|$)にして先読みも勉強してみます
236(2): 2022/04/20(水)03:44 ID:KwUP8MZL(1/2) AAS
正規表現道場スレに書きましたが過疎スレだったようでこちらで質問させていただきます
スマホのブラウザ(Berry browser)での検索結果にでたYouTubeのリンクを
NEWPIPEで開くようにする正規表現をおしえていただけませんか?
詳しく言語はなにかわかりません
237: 2022/04/20(水)03:46 ID:hF4awL06(1) AAS
>>236
あっちで見せたスクショも見せてあげて
238: 2022/04/20(水)04:01 ID:KwUP8MZL(2/2) AAS
画像リンク[png]:i.imgur.com
239(1): 2022/04/20(水)07:25 ID:YedSEyAo(1) AAS
>>236
お前NewPipeスレでスレチだ言われても居座って、最後移動する時にすら謝罪もせずに投げっ放しじゃん
もう少しネットマナー守りなよ
240: 2022/04/20(水)13:23 ID:0zdB9CsP(1) AAS
>>239
粘着警察
241: 2022/04/20(水)13:29 ID:U0AnfaoX(1) AAS
.*YouTube.*
242(2): 2022/04/24(日)11:37 ID:HhXo0urf(1) AAS
●Regular Expressionの使用環境
秀丸エディタ
●検索か置換か?
検索
●説明
台詞の行の後は1行改行を置いて、また台詞の行になるように整形したいです
もしも「からはじまる行が2行連続している場合、そこにヒットするような検索方法があるなら、
何卒、ご教示の程よろしくお願いいたします。
●対象データ
「ダミーテキストAダミーテキストAダミーテキストA」
省8
243: 2022/04/24(日)13:45 ID:rcB2xidb(1) AAS
>>242
\n+ を \n\n に置換すればいいんじゃね?
244: 2022/04/24(日)14:27 ID:+3jFx4NA(1) AAS
したい事が検索と書いてあるのに、整形したいですってどういう事?
整形したいって事は置換なの?
245: 2022/04/24(日)15:00 ID:K7LKRW48(1) AAS
整形したい!痴漢なんです
イケメンならこんな事しなくて済みます
246: 2022/04/24(日)15:27 ID:HHIBSCEK(1) AAS
>>242
」¥n「 → 」¥n¥n「
とか
(.)¥n「 → $1¥n¥n「
とか
247: 2022/04/24(日)15:30 ID:ioskjRP6(1) AAS
> 検索と書いてあるのに、整形したいですってどういう事?
秀丸から察しろよw
池沼でしょ
」\n「
」\n\n「
248(1): 2022/05/01(日)14:50 ID:GoET9IZ/(1) AAS
CSVファイルのセパレータ以外にマッチさせる正規表現が分かればご教示ください
ダブルクォートの中のカンマはセパレータではないという条件が難しく難儀しています
249: 2022/05/01(日)15:35 ID:Rd1MW222(1) AAS
>>248
csv 正規表現 でググれ
250: 2022/05/02(月)15:41 ID:3wkltjCW(1) AAS
>>2のテンプレで環境や対象データ、希望結果のサンプルを書いてよ
251: 2022/05/03(火)04:52 ID:UnZpzFGu(1) AAS
"あ,い
う'え""お"
これでも、1列しかない。
最初・最後のダブルクォーテーションで、1つの列内・要素を表す
その要素内では、カンマ・改行・シングルクォーテーション・ダブルクォーテーションも使える。
ただし、ダブルクォーテーションは2つ連続させて、1つのダブルクォーテーションと解釈される
だから、このダブルクォーテーションの規則が難しい。
例えば、ダブルクォーテーションに番号を振ると、1-23-45-6
連続したダブルクォーテーションを排除して、1-6 の形で、1つの要素を表す。
つまり、最後のダブルクォーテーションは偶数番目になる
省1
252: 2022/05/03(火)12:12 ID:aiGUnYt7(1) AAS
("[^"]*")+|[^,"\r\n]+|(?<=,)|^(?=,)
外部リンク:regex101.com
253: 2022/05/03(火)14:14 ID:t3Dpq+T6(1) AAS
(?=,|$)
254: 2022/05/13(金)22:38 ID:8kGCIaIA(1) AAS
●Regular Expressionの使用環境
サクラエディタ
●検索か置換か?
置き換え
●説明
タブ区切りcsvファイルの列の順番を入れ替えたい
●対象データ
1\t2\t3\t・・・\t30
※実際は各フィールドは数字だけではなく、長さも一定ではありません。
フィールド数は30で固定です。
省6
255: 2022/05/14(土)01:45 ID:rmaMAnUs(1) AAS
$30を別の場所に持ってくると右隣りとくっついてしまうな
256(1): 2022/05/14(土)05:36 ID:NJOQ17Ts(1) AAS
テンプレ使っているようでテンプレ無視して実例挙げず
タブ区切りのはずが何故かカンマ+タブの区切りになっているがその説明も無し
257: 2022/05/14(土)08:03 ID:qR2dE/b7(1) AAS
本当に タブ+カンマ にしたいとしても俺なら
^(.*?)\t(.*?)\t・・・(.*)$
$3\t,$8\t,$1\t・・・
って書くかな
258: 2022/05/14(土)09:56 ID:/Fl6kBO1(1/2) AAS
俺が作るなら [^\t]* を使って誤爆の可能性を潰しておく
列が31以上ある異常データのときに置換しなくする
259: 2022/05/14(土)10:21 ID:bJIgpLv6(1) AAS
処理対象ファイルが数十個あるとかなら別だけど、表計算ソフトや対応エディタでサクっと入れ替えた方が早そう
260: 2022/05/14(土)11:56 ID:/Fl6kBO1(2/2) AAS
そういやそうだね、csvなんだしw
>>256
テンプレ自体が糞質問製造機になってるからテンプレいらね
俺は今回の質問に不備はないと思っている
261: 2022/05/16(月)18:46 ID:nBhW9usr(1) AAS
探している正規表現の学習サイトがあります。
ネットスラング、小説などの蘊蓄を題材にした問題が置いてあるサイトです。
AAが問題の解説を行なっていた記憶があります
UIはシンプルながら、メタ文字から始まり、後方参照などの発展的な部分、総括したチャレンジ問題など結構ボリュームがある問題集でした。
久しぶりに見にいきたかったのですが、どうにも見つからず、
どなたかご存知でしたら教えていただけると幸いです。
よろしくお願いします。
262: 2022/05/24(火)04:21 ID:SL15aOsO(1/3) AAS
質問させてください。
荒らし対策に「読点2回」を指定するNG表現を作ってみたのですが、一応機能しました
(.*\、.*\n*){2}
上記はもっと簡略化できるでしょうか?
263(1): 2022/05/24(火)04:27 ID:7Wh7VSQ0(1) AAS
、.*?、
264(1): 2022/05/24(火)04:43 ID:SL15aOsO(2/3) AAS
>>263
即答ありがとうございます
(10文字以上、){2}
のように「10文字以上、」が2回以上あったらNGというプログラムも教えてくれますか?
265: 2022/05/24(火)05:20 ID:SL15aOsO(3/3) AAS
すみません、ありがとうございました。
266: 2022/05/25(水)21:16 ID:rVRUpzpa(1) AAS
自分が書いた正規表現を半年後くらいに見たら
何の処理なのか思い出せない。
正規表現って便利だが、そう言う点が唯一のデメリットだよな。
267: 2022/05/25(水)21:33 ID:JiQQrvQ9(1) AAS
>>264
(10文字以上、){2,}
268: 2022/05/25(水)22:10 ID:SBYC3EV0(1) AAS
(?#何の処理)
269(1): 2022/05/26(木)10:08 ID:Nn08GFXz(1/3) AAS
●Regular Expressionの使用環境
PowerShell 7.2.4
●検索か置換か?
置換(-replaceもしくは[regex]::Replace)
もしくは抽出(-match)
●説明
ドメインからサブドメインを取り除いた値が欲しい
●対象データ
www.example.com
hoge.www.example.com
省6
270: 2022/05/26(木)10:11 ID:Nn08GFXz(2/3) AAS
>>269
すいません、これだと「example.com$でいいだろ」になりますね
バラバラなURL、つまり
●対象データ
www.example.com
hoge.www.test.com
hoge.hoge.www.foo.com
●希望する結果
example.com
test.com
省2
271(1): 2022/05/26(木)10:34 ID:6qaNDFBW(1) AAS
powershellでの書き方は分からんが
[^.]++\.com$
272(1): 2022/05/26(木)10:51 ID:Ax+O2qu3(1/2) AAS
>>271
それで得られるの.comドメインだけじゃね
273(1): 2022/05/26(木)11:26 ID:JFz3AkL/(1) AAS
(?m:((?:[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]*)\.[a-zA-Z]{2,})$)
274(2): 2022/05/26(木)13:28 ID:DqYj7elt(1) AAS
[a-zA-Z0-9]
って、何かもっと短いパターンに置き換えられないのかな?
275(1): 2022/05/26(木)13:51 ID:Nn08GFXz(3/3) AAS
>>272
ごめんなさい。私がちゃんと.com以外の例を出してませんでした。
>>273
ありがとうございます。
[regex]::Matchesの方で抽出できました。
もしよければ、今後のためにどういう意味の正規表現になってるかお教えいただけませんか
行末→$)
エスケープして.(ドット)+2文字以上の文字→\.[a-zA-Z]{2,})
までは分かるのですが、
(?:[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]*)
省3
276: 2022/05/26(木)14:03 ID:Ax+O2qu3(2/2) AAS
>>274
/S
277: 2022/05/26(木)14:08 ID:gYa8SY15(1) AAS
>>274
処理系にもよるけど\dと[0-9]は同等でないこともある(漢数字にもマッチする処理系や環境がある)
[:alpha:]は使えない処理系もある
>>275
ドメイン名の制約を正規化
mは行単位処理指定(一般的には不要)
278: 2022/05/26(木)14:26 ID:SI03/myz(1) AAS
結局太古からの文字クラスが役に立つよな
279: 2022/05/26(木)14:57 ID:0Pd9G99m(1) AAS
5ch.net
2345.com
280: 2022/05/26(木)19:34 ID:DerQuI+6(1) AAS
8823
281(1): 2022/06/15(水)16:12 ID:D17rKkfp(1) AAS
Pythonで、下記のような仕組みを作りたいと思っています。
1 テキストを入力する。
2 あらかじめ用意してある複数の正規表現のパターンでテキストを検索し、
それぞれのパターンにマッチする部分のテキストを色分けする。
3 それぞれの色ごとに、別々の処理をする。
こう言う表示をするためのフロントエンドというか、ライブラリというか、
そう言うものはないでしょうか。
例えば、VBAなら、エクセルやWordの文字プロパティを操作すればできると思うのですが、
そう言うもののPython版というか…
282: 2022/06/15(水)17:05 ID:GqhFDJ5g(1) AAS
>>281
スレチ
283: 2022/06/15(水)20:56 ID:bRSTMa0S(1/2) AAS
こういうの不思議なんだけど、
仕組みを作りたいと思っていて、ライブラリやフレームワークすら選べてないのに、
なんで使用言語は決まってるんだろうか
284: 2022/06/15(水)21:12 ID:74xVOU49(1) AAS
そのライブラリはlispとprologとVHDLしかありませんって言われたら困るし
285: 2022/06/15(水)21:17 ID:bRSTMa0S(2/2) AAS
そしたらその言語選ぶだけじゃないかな
286: 2022/06/16(木)02:58 ID:5RJuUFJv(1) AAS
JSで作ってブラウザ上で動かすのがよさそう
287(1): 2022/06/24(金)15:59 ID:P24pDyi3(1/2) AAS
●Regular Expressionの使用環境
python3
●検索か置換か?
検索
●説明
START~次のSTARTの直前までをマッチングさせたい
START含む行から文字列足して行けば同じ事は出来るんですが正規表現ではどのように書くのか分からないのでお願いします
●対象データ
START 1: abcd
hoge
省7
288(1): 2022/06/24(金)16:36 ID:ECcLc/fl(1) AAS
>>287
START(?:(?!START)[\S\s])*
289: 2022/06/24(金)16:39 ID:P24pDyi3(2/2) AAS
>>288
早速の回答ありがとうございます
希望した結果が得れました
290(1): 2022/06/24(金)18:26 ID:0z9KCe6G(1) AAS
template<>引数にはclassでない定数リテラルを指定できるのでtypenameのほうが名称としてしっくりくる
291(1): 2022/06/25(土)08:38 ID:hlZoB8IO(1) AAS
Onigmoの非包含オペレータのバグFixが来た
Fix absence operator #163
外部リンク:github.com
こういうのをサラっと直してしまう人はカッコイイね、nomotoさんありがとう!
292: 2022/06/25(土)10:59 ID:23CjKpU2(1) AAS
>>290
2chスレ:tech
293: 2022/06/28(火)22:14 ID:r8H2D3+U(1) AAS
>>291
> n("(?~|abc)", "abc") # ???
> x2("(?~abc|)", "abc", 0, 1) # ???
けんちゃん最初から気付いてるし
294(1): 2022/06/30(木)19:21 ID:EErfRwVa(1) AAS
●Regular Expressionの使用環境
python3
●検索か置換か?
検索
●説明
ErrorもしくはwarnもしくはInfoから始まり(CODE-xxx)で終わる最短の文字列を抜き出したいんですが
(Error|Warn|info):.*?\(\w+-\d+\)のように最短マッチを使っても1番最初のErrorから最後の(CODE-xxx)までが
マッチしてしまいます
●対象データ
Error: hoge
省8
295: 2022/06/30(木)19:55 ID:5rlmwso+(1) AAS
^(?:Error|Warn|Info)(?~^Error|^Warn|^Info)\(CODE-\d++\)
296: 2022/06/30(木)20:03 ID:VljocFtJ(1) AAS
>>294
msg_type_re = r"(?:(?:Warn|Info|Error):)"
print(re.findall(rf"{msg_type_re}(?:(?!{msg_type_re}).)*?\(CODE-\d+\)", s, flags=re.S))
297: 2022/06/30(木)20:43 ID:WhOCvrbe(1) AAS
^(?:Error|Warn|Info):.*(?:\n\ \ .*)*?\(CODE-\d+\)
外部リンク:regex101.com
298(23): 2022/07/01(金)08:10 ID:FKzEqydA(1/16) AAS
秋葉原店
専門店
住所
〒101-0021 東京都千代田区外神田4丁目3-3
↑の文字列を、置換で、
「秋葉原店,東京都千代田区外神田4丁目3-3」
と成形したいです。
思うに、
検索に、「店~~~~~~東京都」
置換に、「,」
省2
299: 298 2022/07/01(金)08:20 ID:FKzEqydA(2/16) AAS
ようは、
「店」と「東京都」の間にあれば、改行を含み、どんな文字列が何個はいろうが、「,」に変えたいのです。
よろしくお願いします。
300(1): 2022/07/01(金)08:32 ID:fIXdHuhM(1) AAS
テンプレガン無視するな
ここはお前の為の便利屋じゃねぇよ
上下前次1-新書関写板覧索設栞歴
あと 702 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.026s