Regular Expression(正規表現) Part15

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2019/09/16(月) 22:25:11.87ID:enU8we0d
Regular Expressionスレです。

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

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


次スレは>>980宜しく
天ぷら等>>2以降
2020/09/26(土) 21:02:00.75ID:aEJhlUXF
>>424
問題なく動作しました、ありがとうございます!
本当に助かりました!
2020/09/26(土) 21:08:10.61ID:GBugeZhr
>>416
正規表現のデフォルトは、貪欲・greedy・最長一致だから、
非貪欲・reluctant・最短一致にしたい場合に使う。? と同じ

[^x]*、x以外の文字を、0個以上
[^x]+、x以外の文字を、1個以上

Ruby では、

src = "12x34x56"

p src[ /.*x/ ] #=> 12x34x

p src[ /.*?x/ ] #=> 12x
p src[ /[^x]*x/ ] #=> 12x
2020/09/26(土) 21:51:29.79ID:awo63W4n
>>426
行ったり戻ったりはないんじゃない?
2020/09/26(土) 22:57:54.77ID:U+G6yEte
>>429
バックトラックの事でしょ
https://qiita.com/mochizukikotaro/items/d36e61e56220da5f95d1
431デフォルトの名無しさん
垢版 |
2020/09/27(日) 04:53:12.79ID:ICi3HfJX
\d{1,2}なら\d\d?
\d{2}なら\d\d
の方が短く済むから2桁以下なら無駄
2020/09/27(日) 05:56:53.69ID:nMBRMM6J
それは見易さと短さのどちらを優先するかによる
短いだけが正義では無い
2つ程度で見易いもクソも…と思うかも知れないが慣れない者にとっては数字の方が見易いらしい
俺は断然\d\d?派だが

でもこれは(?:\r?\n|\r)→(?:\r\n?|\n)
同じ意味だが
\r
\r\n
 \n
をどう表すか?ってことだから後者のように前方を固定した方が分かり易いと思う
RtoLが関係してたりするのだろうか?
2020/09/27(日) 06:00:47.57ID:Y+KxHJb0
今どき\rだけとか見ないし\r?\nで良くね? 駄目?
2020/09/27(日) 20:03:40.48ID:+P5c8fwT
●Regular Expressionの使用環境

c# .net Framework 4.8

●検索か置換か?
検索

●説明
「,」区切りの2桁の文字列を全て取得したい(Split関数でなく)。


●対象データ
04,05,28

●希望する結果
04
05
28

●補足
現在使っている正規表現は右です (\d{2})(?:,(\d{2}))*
これを使うと、対象となる2桁の数字のうち、最初と最後のものしか取得できません
対象データが4個以上でも同様です
435411
垢版 |
2020/09/27(日) 20:26:03.04ID:qo22866j
以前 >>409 で質問し解答を頂いた者です。
内容は同じなんですが、この置換を他のパターンでも応用したく再度質問致します。

●Regular Expressionの使用環境
サクラエディタ

●検索か置換か?
置換

●説明
◆を含まない行の▲を■に置き換えたい
◆▲■は任意の文字列で、文字数も決まっていません。

●対象データ
Sst68▲h4◆
DRkPP2▲V
NN▲◆9K12XV▲
G▲RL88▲A7

●希望する結果
Sst68▲h4◆
DRkPP2■V
NN▲◆9K12XV▲
G■RL88■A7

どうぞよろしくお願いいたします。
2020/09/27(日) 21:00:31.89ID:7/tRzxCb
>>430
極端な例だろうけど4倍も差が出るのか
2020/09/27(日) 21:15:26.41ID:5NvF/cEJ
>>434
(¥d{2}),?
2020/09/27(日) 22:52:42.77ID:+P5c8fwT
>>437
返信ありがと
だけど上手く取得できないです
対象データが 04,05,28 のときにマッチしたグループを全部出力すると
04,
04
となります
2020/09/27(日) 23:09:03.39ID:5NvF/cEJ
>>438
MatchじゃなくてMatches使ってね
よく考えたら単に¥d{2}でもよくない?
2020/09/27(日) 23:09:42.50ID:PP0FbEmI
>>436
ちっとも極端じゃないよ
対象テキストが長くて酷いと数sと数msとか何千倍、何万倍も差がつく
もっと極端なことにもなって、だんまり(終わらない)状態になることもある
2020/09/27(日) 23:11:27.15ID:PP0FbEmI
あ、そのリンク先の表現でのことじゃなく一般的な話としてのことなので、念のため
2020/09/27(日) 23:23:38.28ID:+P5c8fwT
>>439
おかげさまで出来ました。ありがとうございます
2020/09/28(月) 00:15:40.71ID:KUcib4mR
数年前に某技術系Q&Aサイト全体が30分以上応答不能になったことがあったけど、アレもbacktrack絡みの正規表現処理(に高負荷をもたらす投稿)がトリガーだったはず
2020/09/28(月) 00:39:03.54ID:HqyKtYng
Jane系のNGEx,ReplaceStr.txtの正規表現で酷いものが投稿されることがある
よく吟味しないと
対象スレ(ちょっと長いスレとか)によってはだんまりとか発生する
2020/09/28(月) 05:18:56.57ID:QIpyCS2B
>>435
一旦、grep で、◆ を含まない行だけを抽出してから、処理すれば?

grep -v "◆" ファイル名
2020/09/28(月) 05:43:11.14ID:9VrOlQkL
バックトラックは対象が簡単に一致するものしか無いのであればそれほど気を使わなくても良いが
一致しないものがある場合 一致しない に至るまでに全パターンを試すから
その挙動を必要最小限に抑えたものとそうでないものとでの試行数は桁違い
対象が長くなれば数倍どころでは済まない
大抵の場合、人が確認する際のロジックを再現するのが1番効率が良い

NGEx.txtを晒すスレ7
http://jane2ch.net/test/read.cgi/community/1497272912/340
(<br>.*){20}             49194006ms  激重
^(.*?<br>){20}            *1570733ms
^(?:(?:(?!<br>).)*<br>){20}     ****2202ms  軽い
^(?>.*?<br>){20}           ****1784ms  もっと軽い
447435
垢版 |
2020/09/28(月) 15:22:21.72ID:R3xf3P8N
>>445
単なるテキストならいいのですが、用途としては
リネーマーソフトReNamerやAdvanced Renamerなどで
バッチ処理にも使いたいので。
2020/09/28(月) 18:16:12.67ID:RQEq0dPl
>>435
(?:^(?!.*◆)|\G(?!\A))(.*?)▲ → $1■
2020/09/28(月) 18:54:06.13ID:R3xf3P8N
>>448
出来ました!素晴らしいです!マジ感謝です!ありがとうございました。
2020/10/21(水) 20:12:01.53ID:nvjx5i9I
一文字だけで改行するのを
NGにするには
どうしたらいい?
2020/10/21(水) 20:18:35.54ID:+qN3TxkM
>>450
テンプレを読んで出直しましょう
2020/11/06(金) 11:29:16.13ID:xeNq05z2
oniguruma6.9.6 Windows10のVS2019で64bit版だとtestc.exeが無言で終了する、32bitだと正常。
Winodws7でVS2015U3だと64bitでも32bitでも正常に動作する。

これ、以前からWindows64bitが鬼門だなあ
2020/11/10(火) 19:15:09.53ID:aUuUQimA
●PowerShell

●置換

●テキストファイル内の「WrtCookie=」で始まる行の値を「WrtCookie=」に置換する

●「WrtCookie=」で始まる行

現在のコマンド

$input = '^(WrtCookie=).+$'

$replacement = '$1'

$file_contents = $(Get-Content $filepath) -replace $input, $replacement

結果

テキストファイル内の全行が出鱈目な文字列に置換されます
たとえば「$1[$1W$1I$1N$1D$1O$1W$1]$1」など

よろしくお願いします
2020/11/10(火) 21:00:25.97ID:UHXHz0W1
https://www.google.co.jp/search?q=PowerShell+%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE+%E7%BD%AE%E6%8F%9B
2020/11/11(水) 00:09:52.12ID:tbqNNnPd
>>454
書き込む前にたくさんググりましたが、ダメでした
456 【大凶】
垢版 |
2020/11/11(水) 01:27:50.51ID:zRgJ3mqg
>>453
変数名 input を regexp とかに変えれば上手くいくはず

input は「自動変数」として設定済
https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_automatic_variables
2020/11/11(水) 02:35:05.41ID:wa6LgG/F
>>453
俺のところじゃ、そのままでも正常だけどなあ(win7だからか? PS ver.5.1)
その3行だけじゃあ表示も出力もされないので
$file_contents
を最後に追加した
その入力ってJane系のiniファイル(SJIS)だよね?
ファイルに出力もして確認してみた
(デフォではUnicode16になっちゃうのでout-fileでencoding指定)
2020/11/11(水) 05:21:46.13ID:yU9bVv8n
Windows 10、PSVersion 5.1 では、

input という名前が、ダメ!
2020/11/11(水) 19:56:31.19ID:tbqNNnPd
>>456-458
おっしゃる通りに変数inputの名前を別の変数名にしたら出来ました
inputは予約語みたいなものだったのね
ありがとう
2020/11/11(水) 22:49:04.53ID:yU9bVv8n
VSCode を使っていれば、白色になる・注意されるから、おかしいとすぐに分かる

まあ、echo などのエイリアスも、白くなるけど
461デフォルトの名無しさん
垢版 |
2020/12/12(土) 00:58:58.79ID:c3naq2mv
質問
abc

a,b,c
に一発で変換する正規表現を教えてください!
2020/12/12(土) 07:54:00.68ID:hjoAkuIf
(?!^|$) → ,
2020/12/12(土) 09:13:39.74ID:weC8GZqi
461じゃないけど、知らなかった。

 行頭じゃない&行末じゃない

だけ言えば字間全てに入れてくれるんだ。
2020/12/12(土) 09:45:07.71ID:DbQnMcwq
s//,/g
だと、,a,b,c,になる
465デフォルトの名無しさん
垢版 |
2020/12/12(土) 10:10:46.24ID:c3naq2mv
>>462
ありがとうございます!
2020/12/15(火) 08:04:57.95ID:RAwP5vtJ
●Regular Expressionの使用環境
Perl5
●検索か置換か?
検索
●説明
文字列中のX,YY,ZZZのどれかが最初にあるまでのX,YY,ZZZを含む抽出
●対象データ
ABXCDXEFYYGH
ABYCZZZDXEFYYGH
ABCDXXGHZZ
●希望する結果
ABX
ABYCZZZ
ABCDX

お願いします
2020/12/15(火) 08:15:41.96ID:M4wr588R
>>466
($out) = ($in =~ /(.*?(?:X|YY|ZZZ))/)
2020/12/15(火) 08:17:29.03ID:cXhQAKUm
>>466
試してないけど、
\A.*?(X|YY|ZZZ)(?=(X|YY|ZZZ))
2020/12/15(火) 08:49:36.46ID:RAwP5vtJ
>>467-468
ありがとうございます。
最初のでできました。
2020/12/19(土) 09:53:24.06ID:YTpQ8Jg0
ublacklistでPinterestをブロックする正規表現教えて下さい
471デフォルトの名無しさん
垢版 |
2021/01/11(月) 15:03:41.29ID:A5mldiyH
行末以外の改行を任意の一文字(今回はアットマーク)に置換したいのですが可能でしょうか?
改行コードは、crもlfもcrlfも混じってるものとしてお願いしたいです。
472デフォルトの名無しさん
垢版 |
2021/01/11(月) 15:10:21.63ID:WVZOdukT
>>471
行末の改行と行末でない改行を区別する方法がわからぬ
CSVみたいな感じ?
473デフォルトの名無しさん
垢版 |
2021/01/11(月) 15:31:25.19ID:zqhSwaSS
初学者なのでうまく伝わるか心配ですが、 固定長で末尾に改行が入っているレコードファイルを扱っています
その中で、末尾だけでなくレコード中にも改行コードが含まれるようなデータがあり、それを置換したいといった具合です。

UNIX上での話なので、Perlやsedで置換できればと思います。
よろしくお願いいたします。
2021/01/11(月) 15:41:19.51ID:8i1ZTkbL
sedはデフォルト行ベースなので改行コードを全部置換すればいい
2021/01/11(月) 15:43:13.55ID:92N2rfT4
/[\r\n]++(?!$)/@/g
こんな感じじゃね?分からんけど
2021/01/11(月) 16:15:14.39ID:rLqIFFRR
s/\r?\n/@/gm;

どうよ?
2021/01/11(月) 16:20:44.13ID:A2M5zvGV
固定長ごとに出てくる改行以外の改行ってことじゃね
改行含めて80文字固定長なら80文字目や160文字目以外の37文字目や53文字目に出てくる改行
2021/01/11(月) 17:26:33.52ID:8i1ZTkbL
あーすまんそういうことか
それだと固定長単位に読み取って置換と出力のループかな

while read -N10 line || [ "$line" ]; do
echo "$line" | tr -d '¥r¥n'
echo
done < input.txt
479デフォルトの名無しさん
垢版 |
2021/01/11(月) 17:59:11.32ID:Op1S7Ai1
やりたいことは、 >>477 さんの仰る通りです。
少ない情報の中、皆さん色々とありがとうございます。

明日以降試してみます、本当にありがとうございます。
2021/01/11(月) 18:31:58.04ID:RwOnRvzI
改行コードは、cr・lf・crlf の3種類あるのか?

固定長の末尾の改行の後には、何が入っている?
ヌル文字か?

例えば、100バイトの固定長で、内容が80バイトなら、
残りの20バイトには、何が入っている?

それとも、内容の80バイトの部分だけが、渡ってくるのか?
2021/01/11(月) 18:43:53.19ID:5PaUweSP
CR なんとかReturn
LF LineFeed
CRLF なんとかReturnLineFeed
2021/01/11(月) 20:39:57.39ID:F0XanEVZ
echo -en "abcde
a\ncde
a\rcde
a\r\nde
abcdef
a\ncdef
a\nc" |
sed -re ':b;y/\r\n/@@/;/.{5}/!{N;bb};'
2021/01/11(月) 21:38:18.11ID:6WXFekQD
>>471
CRLFは@2個に置換でいいんだよね?
CRLFを@1個に置換したら固定長ファイルとして
ファイル構造がおかしくなるわけだし
484デフォルトの名無しさん
垢版 |
2021/01/12(火) 17:48:10.93ID:fqpU06Zc
>>481 carriage
2021/01/14(木) 20:15:05.94ID:uu7IOQ/X
>>479
解決しましたか?
486デフォルトの名無しさん
垢版 |
2021/01/14(木) 20:19:20.00ID:eDcISF88
うざw
2021/01/15(金) 04:04:23.16ID:VxNLJyBo
先日質問させていただいた471です。
色々と試した結果、
perl -pe ‘s/¥r/@/g $INFILE | perl -pe ‘s/¥n/@/g > $TMPFILE

cat $TMPFILE | perl -e ‘while(read(STDIN, $tmp , 100)){print $tmp, “¥n”}’ > $OUTFILE

と言った具合に、改行を消してから固定長に区切って再度改行付与という形でうまくいきました!

皆さんに教えてもらった方法とは少し異なりますが、ここで質問しなければ検索ワードすら導き出せませんでした。
皆様には感謝してもしきれません。
ありがとうございました。
2021/02/02(火) 23:52:09.94ID:LuWw9dWt
[]で囲まれた単語は/\[.+\]+/gで見つかるけど
文中に複数[]で囲まれた範囲があるとうまくいかない
'['以降で一番近い']'にマッチさせたいんだがどうやるか教えて
2021/02/03(水) 00:24:53.98ID:SY/XoUH2
/\[[^\]]+\]+/g
2021/02/03(水) 01:04:29.59ID:UENZ/29T
>>489
ありがとう!
491デフォルトの名無しさん
垢版 |
2021/02/03(水) 18:02:08.71ID:CJ1qfEuB
英数字7桁[0-9a-zA-Z]の文字列から(改行を経て)先程とは異なる英数字7桁の文字列まで最短一致させる正規表現を書きたいのですがわかりません…

一つ目の7桁の英数字は変数fistに入ってます
new Reg(first +"(.*\n)*?"+ここから先がわかりません

どなたかよろしくお願いしますm(_ _)m
2021/02/03(水) 18:33:27.05ID:sadlF3mb
最短一致ということは行当たりが[0-9a-zA-Z]{7}ではなく別の文字列も含んでいそうな
つまり「0123abc\ndef4567」だけではなく「あいう0123abc\ndef4567かきく」もあるとか

見本出した方がいいのではないかな
2021/02/03(水) 18:41:43.46ID:q3Uucr84
とりあえずこんな感じであとは調整して
https://regex101.com/r/aLWgGd/1
2021/02/03(水) 19:08:15.83ID:CJ1qfEuB
>>492
すいません、簡単にするために設定をちょっと変えさせてください。
[0-9A-Z]
大雑把で大丈夫なんですが
あいうえお01ABC23あいうえお01abc23あいうえお01abc23  ←ここの01ABC23から
あいうえお01abc23あいうえお01ABC23あいうえお01abc23
あいうえお01abc23あいうえお01ABC23あいうえお01abc23
あいうえお01abc23あいうえお01DEF23あいうえお01abc23  ←ここの01DEF23まで切り抜きたい
あいうえお01abc23あいうえお01ABC23あいうえお01abc23
あいうえお01abc23あいうえお01HIJ23あいうえお01abc23

first = "01ABC23" が入ってるので、正規表現の最後を01DEF23にしたいのですが
[0-9A-Z]{7}から"01ABC23"だけを除外する方法がわからず困ってます。
2021/02/03(水) 19:12:17.69ID:CJ1qfEuB
>>494
訂正 「大文字と数字だけの7桁に設定変更させてください」って文言が抜けてました

>>493
すいません、その後の調整方法がわからないんです...
2021/02/03(水) 19:16:51.84ID:CJ1qfEuB
日本語がおかしくなってました

01ABC23〜01DEF23と切り抜きたいのですが、
first = "01ABC23"と入っているので、firstという変数を使いつつ[0-9A-Z]{7}から"01ABC23"だけを除外する方法がわからず困ってます。
497デフォルトの名無しさん
垢版 |
2021/02/03(水) 19:28:51.74ID:oLpXy7xv
>>496
"(?!" + first + ")[0-9A-Z]{7}"
2021/02/03(水) 19:41:14.94ID:CJ1qfEuB
>>497
ありがとうございますm(_ _)m
↓だと最短一致しないのですが、真ん中がおかしいのでしょうか?

let reg = new RegExp(first+"(.*\n)*?"+"(?!"+first+")[0-9A-Z]{7}");


改行を含めた最短一致は([\s\S]*?)か(.*\n)*?でできていたのですが、何故か最短にならず困ってます
2021/02/03(水) 19:49:30.28ID:CJ1qfEuB
>>498
真ん中とは+で繋げた"(.*\n)*?"の部分のことです
日本語すら怪しくてすみません
2021/02/03(水) 20:21:28.10ID:CJ1qfEuB
>>498
自己解決しました
スレ汚しすみませんでした
答えてくださった方々ありがとうございました
2021/02/04(木) 12:49:19.54ID:ynIf2rIG
[正規表現の[表現力[は]ネストに]勝てない]
※Perlの拡張とかは除く
2021/02/04(木) 15:31:37.02ID:7s9fZWEo
繰り返しの中で使う時、時間のかかる正規表現を避けたいが、結局試すのが一番
if x=="abc" と if x=~/^abc$/ の比較など(簡単すぎる例)

重要なシステム内で複雑な表現を使う場合テストも重要だが、
どうしてもおかしくなったら調べる式になってしまう
503デフォルトの名無しさん
垢版 |
2021/02/06(土) 14:47:08.00ID:s4jA/y9i
お願いします

●Regular Expressionの使用環境
VBScript

●検索か置換か?
置換

●説明
[hoge]をブラケットごと消したい
[[hoge]]の場合は残したい

●対象データ
abc[hoge]def
ghi[[hoge]]jkl

●希望する結果
abcdef
ghi[[hoge]]jkl
^^^^^^^

否定戻り読み否定先読みで試してみたのですが、ブラケット2回の場合にマッチせずブラケット1回の場合にのみマッチさせる方法が分かりませんでした
よろしくお願いします
2021/02/06(土) 15:07:35.62ID:bKRJeVsu
(?<!\[)\[hoge\](?!\])
2021/02/06(土) 16:56:52.18ID:EC31O1b+
>>503
VBSには否定戻り読みは無いので、工夫するしかない
すぐには思いつかないけどもっといい方法もあるかもしれないのでググってみては?
愚直には、一つの方法として以下の場合に分ける
1) [hoge]で始まる場合
2) 文字列があって [ 以外で終わって [hoge] がある場合
3) 文字列があって [ で終わってる場合、[hoge] があって ] が続かないこと

pattern : "^(?:\[hoge]|(.*?\[)\[hoge\](?!\])|(.*?[^\[])\[hoge\])(.*)$"
replace : "$1$2$3"

abcdef → abcdef
[hoge]def → def
[[abc]]def → [[hoge]]def
abc[hoge]def → abcdef
abc[[hoge]]def → abc[[hoge]]def
abc[[hoge]def → abc[def
abc[hoge]]def → abc]def

下2つの場合が無ければもう少し簡易にできる
では[hoge]が2つ以上ある場合はどうするか?
すぐ思いつく方法としては、変換をループさせて、文字列に変化がなければ終わりとか
2021/02/06(土) 17:17:15.94ID:do+3t/u8
(¥[hoge¥])(?!¥])|[^¥[](¥[hoge¥])
https://regex101.com/r/xhea5T/1
2021/02/06(土) 17:31:09.15ID:nqcg0owg
(\[\[hoge\]\])|\[hoge\] → $1
https://regex101.com/r/xhea5T/2
2021/02/06(土) 17:40:46.95ID:bKRJeVsu
([^\[])\[hoge\]([^\]])
$1$2

(^|[^\[])\[hoge\]([^\]]|$)
$1$2
509デフォルトの名無しさん
垢版 |
2021/02/06(土) 17:44:51.10ID:s4jA/y9i
>>504->>508
ありがとうございます。
やってみます。
2021/02/06(土) 18:09:33.55ID:EC31O1b+
>>507
すばらしいです
>>506,>>508
残念
2021/02/06(土) 18:21:12.27ID:z9sN/DQY
発想の転換だな
目鱗
2021/02/06(土) 18:57:27.44ID:do+3t/u8
>>507
へぇー、これは面白い
2021/02/06(土) 19:33:52.91ID:nvvrKfMw
>>507
これは賢い
2021/02/16(火) 18:09:22.76ID:YYQsROlp
※間はタブです
●Regular Expressionの使用環境
サクラエディタ

●検索か置換か?
置き換え

●説明
(ABC|JKLHI7)を反転させたい

※(ABC|JKLHI7)→空に置き換え
ABC    DEF     123
FGH    JKL     956
GBN    MJK    HI7

↓こうなります

    DEF     123
FGH         956
GBN    MJK

(ABC|JKLHI7)を反転させて
ABC    
    JKL     
        HI7

というデータに置き換えたいです。
よろしくお願いいたします。


    
2021/02/16(火) 18:10:03.36ID:YYQsROlp
>>514
説明の部分に誤りがありました。
●説明
(ABC|JKLHI7)を反転させたい

でなく
(ABC|JKL|HI7)を反転させたい

でした。
2021/02/16(火) 18:30:01.16ID:9J2HaZUU
区切りは全角空白なのかい?
まあこんなのでどう?
(ABC|JKL|HI7)|[0-9A-Z]*→$1
2021/02/16(火) 19:29:55.89ID:YYQsROlp
>>516
ありがとうございます。
その発想まったくありませんでした。

ほしいものカッコで包んで|要らないもので置き換え
御見それしました。

ありがとうございます。
2021/02/16(火) 20:11:15.08ID:2Q6k9WLx
>>516
>>507再び
再度>>511感想
2021/02/17(水) 00:48:24.95ID:5uVmT0ro
XABCXのようなものまでABCにしたいなら、末尾を+?に変えた方がいいかも
2021/02/18(木) 23:51:52.71ID:sRdwF113
面白いなあ
逆に正規言語じゃない言語ってどんなのか気になる
2021/02/19(金) 07:25:19.97ID:1ojHRCGQ
言語?
2021/02/19(金) 18:55:29.37ID:Clj7wgUu
文脈自由言語とか文脈依存言語とか?
2021/02/19(金) 20:03:11.77ID:gWMDVcMR
文脈も先読み後読みrematch駆使すれば取れそうに思うけど、本来どこまでやっていいんだっけ 理論とか分からん
2021/02/19(金) 20:05:33.21ID:Wnqd+KEH
正規表現で記述可能な文字列の集合を指して正規言語という

が、その意味で使われたのかは定かでない
2021/02/19(金) 20:15:12.89ID:gWMDVcMR
取り敢えずその言語がn要素の有限集合ならstr1|str2|...|strn で表現できるのでは
文字列の長さを制限して、有限の文字集合なら
すげーつまらないけど
2021/02/19(金) 20:33:20.22ID:gWMDVcMR
無作為な文字列から、特定の言語に属する部分列を検出しろ、って問題にどれだけ簡潔に答えられるかってことだよな
どう計ったものか
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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