Regular Expressionスレです。
質問する場合は必ず実装言語や処理系ソフトウェア名を示してください。
前スレ
Regular Expression(正規表現) Part14
https://mevius.5ch.net/test/read.cgi/tech/1489511075/
次スレは>>980宜しく
天ぷら等>>2以降
探検
Regular Expression(正規表現) Part15
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2019/09/16(月) 22:25:11.87ID:enU8we0d530デフォルトの名無しさん
2021/03/03(水) 07:02:17.82ID:h6piMY+h >>529
レスサンクスですが、最後のttp://xxxx3/を拾ってきてしまいます
レスサンクスですが、最後のttp://xxxx3/を拾ってきてしまいます
531デフォルトの名無しさん
2021/03/03(水) 07:20:09.73ID:h6piMY+h 自己解決
"▼ここをアクセス.+?(http.+?)\n"
でいいみたい
"▼ここをアクセス.+?(http.+?)\n"
でいいみたい
532デフォルトの名無しさん
2021/03/07(日) 14:22:59.84ID:Fo2Np7TJ 正規表現ってパズルとしては面白いけど
https://oraclesqlpuzzle.ninja-web.net/regex/index.html
可読性に問題あるんじゃね?
もっとマシな別の表記方法が必要じゃないか?
https://oraclesqlpuzzle.ninja-web.net/regex/index.html
可読性に問題あるんじゃね?
もっとマシな別の表記方法が必要じゃないか?
533デフォルトの名無しさん
2021/03/07(日) 16:02:01.74ID:UIB+9WXp 自分が解らないものは悪
534デフォルトの名無しさん
2021/03/07(日) 16:17:46.75ID:TNmQ0Vam 理解の過程で可読性に問題があるのではと疑問を抱き、
別の表記法の必要性を考え、
そのあと別の表記を実際に考えるところまでやると、
正規表現考えたケン・トンプソンすげーなってなる
別の表記法の必要性を考え、
そのあと別の表記を実際に考えるところまでやると、
正規表現考えたケン・トンプソンすげーなってなる
535デフォルトの名無しさん
2021/03/07(日) 17:26:15.98ID:FZPehcc/ >>532
> もっとマシな別の表記方法が必要じゃないか?
定期的にそう言うのが話題になるけどなかなかいい記法が無いんだよね
abc+
程度の簡単な奴と
^((?!aaa).)*((?=aaa)a((?!aaa).)*){3,5}((?!aaa).)*$
みたいなパット見よく分からん奴を1つの記法で簡単に見易くするのはなかなか難しい
> もっとマシな別の表記方法が必要じゃないか?
定期的にそう言うのが話題になるけどなかなかいい記法が無いんだよね
abc+
程度の簡単な奴と
^((?!aaa).)*((?=aaa)a((?!aaa).)*){3,5}((?!aaa).)*$
みたいなパット見よく分からん奴を1つの記法で簡単に見易くするのはなかなか難しい
536デフォルトの名無しさん
2021/03/07(日) 17:53:05.78ID:AM/Ef9W/ やるとしたらアスキー文字以外の文字や記号を加えてもうちょっと役割を分散させると、機能を保持しつつ見やすくはなるが、そうすると今度はラテン文字圏の人が「自分が解らないものは悪」でいかに不要かを全力で説き始めると思う。
537デフォルトの名無しさん
2021/03/07(日) 17:56:22.71ID:TNmQ0Vam ASCII外の文字使うと入力コストが高くなるじゃん
538デフォルトの名無しさん
2021/03/07(日) 18:04:15.76ID:4bEjyVwB ?とか^とか二つの意味を持つのは何とかしてほしかったよな
まあ分かるからいいんだけど
まあ分かるからいいんだけど
539デフォルトの名無しさん
2021/03/07(日) 20:25:01.40ID:RWgRWesX 可読性を犠牲にして短く書けるのが正規表現
正規表現と同じことを可読性の高い表現で記述しようとすればなにかと長くなる
ただある一定以上複雑な正規表現は普通のプログラミング言語で書き直したほうが可読性も保守性も高い
正規表現と同じことを可読性の高い表現で記述しようとすればなにかと長くなる
ただある一定以上複雑な正規表現は普通のプログラミング言語で書き直したほうが可読性も保守性も高い
540デフォルトの名無しさん
2021/03/07(日) 21:12:54.42ID:0cOR0yWB 普通のプログラミング言語で正規表現ライブラリ使ってます
541デフォルトの名無しさん
2021/03/07(日) 21:23:44.60ID:FZPehcc/ 例えば.NETみたいに正規表現中に改行入れたりコメント書けるようにするとかして可読性を上げる試みはあるね
https://www.atmarkit.co.jp/fdotnet/dotnettips/582regexcomment/regexcomment.html
https://www.atmarkit.co.jp/fdotnet/dotnettips/582regexcomment/regexcomment.html
542デフォルトの名無しさん
2021/03/07(日) 21:31:45.50ID:Fo2Np7TJ >>539
それしかなさそうだ
それしかなさそうだ
543デフォルトの名無しさん
2021/03/07(日) 21:36:49.39ID:6FoXMbth >>541
改行してコメント書くのは Perl の正規表現でもできたりする
改行してコメント書くのは Perl の正規表現でもできたりする
544デフォルトの名無しさん
2021/03/07(日) 21:55:32.23ID:RWgRWesX545デフォルトの名無しさん
2021/03/07(日) 22:46:53.20ID:Fo2Np7TJ https://oraclesqlpuzzle.ninja-web.net/regex/regex-2-30.html
これは解読無理やろw 課題→正規表現を思いつくことはできるかも知れんが
正規表現→課題の解読は不可能に近い
課題:行ごとで、
文字列CABと
文字列ABCのみの行を検索する。
^((C(?=AB))|((?<=C)A(?=B))|((?<=CA)B)
|(A(?=BC))|((?<=A)B(?=C))|((?<=AB)C))*$
これは解読無理やろw 課題→正規表現を思いつくことはできるかも知れんが
正規表現→課題の解読は不可能に近い
課題:行ごとで、
文字列CABと
文字列ABCのみの行を検索する。
^((C(?=AB))|((?<=C)A(?=B))|((?<=CA)B)
|(A(?=BC))|((?<=A)B(?=C))|((?<=AB)C))*$
546デフォルトの名無しさん
2021/03/07(日) 23:05:17.93ID:6FoXMbth547デフォルトの名無しさん
2021/03/07(日) 23:21:37.42ID:Fo2Np7TJ それで同じ結果になるな regex 101 でやると
548デフォルトの名無しさん
2021/03/07(日) 23:53:47.53ID:4bEjyVwB 正規表現には「必ず」コメントが欲しいな
できれば例も
典型例と境界例も
できれば例も
典型例と境界例も
549デフォルトの名無しさん
2021/03/11(木) 21:40:27.72ID:RBQB718T お願いします
●Regular Expressionの使用環境
JavaScript
●検索か置換か?
置換
●説明
数字の文字列の間の1個以上の空白や改行を カンマで置換して繋げたい
33034640, 33034640, 21703214
●対象データ
33034640 30203225
21703214
●Regular Expressionの使用環境
JavaScript
●検索か置換か?
置換
●説明
数字の文字列の間の1個以上の空白や改行を カンマで置換して繋げたい
33034640, 33034640, 21703214
●対象データ
33034640 30203225
21703214
550デフォルトの名無しさん
2021/03/11(木) 22:14:06.84ID:IDj18sQF >>549
¥s+をカンマで置換
¥s+をカンマで置換
551デフォルトの名無しさん
2021/03/11(木) 22:15:56.92ID:IDj18sQF552デフォルトの名無しさん
2021/03/11(木) 22:29:51.41ID:79QhYvaG 前後の数字チェック入り(区切りに\t,\fを除く)
(JavaScriptって言ってもWSH(JScript)や古いとダメ)
text.replace(/(?<=\d)[ \r\n]+(?=\d)/,", ")
(JavaScriptって言ってもWSH(JScript)や古いとダメ)
text.replace(/(?<=\d)[ \r\n]+(?=\d)/,", ")
553デフォルトの名無しさん
2021/03/11(木) 22:30:57.72ID:79QhYvaG text.replace(/(?<=\d)[ \r\n]+(?=\d)/g,", ")
554デフォルトの名無しさん
2021/03/11(木) 23:04:03.06ID:RBQB718T >>550
それすると文頭や文末にあるスペースにもカンマがついて変になっちゃいます。
それすると文頭や文末にあるスペースにもカンマがついて変になっちゃいます。
555デフォルトの名無しさん
2021/03/11(木) 23:08:30.44ID:RBQB718T >>553
iPadのtextwellっていうアプリでやってるんですが・・・何故か動かないです
iPadのtextwellっていうアプリでやってるんですが・・・何故か動かないです
556デフォルトの名無しさん
2021/03/11(木) 23:29:09.19ID:IDj18sQF557デフォルトの名無しさん
2021/03/11(木) 23:33:53.05ID:APoyxLpJ 文頭,文末のスペース,改行を残す必要がないなら先にtrimしちゃえば良いのでは
str.trim().replace(/\s+/gm, ',')
str.trim().replace(/\s+/gm, ',')
558デフォルトの名無しさん
2021/03/12(金) 07:31:49.43ID:/Ahlj9GN >>557
できました!ありがとうございました!
できました!ありがとうございました!
559デフォルトの名無しさん
2021/03/25(木) 17:05:14.58ID:m/0xUypz 浮動小数点数の仮数部の正規表現がたとえば
https://qiita.com/hitsumabushi845/items/1b1a4921d515f662b416
を見ると
([0-9]+(\.[0-9]*)?|\.[0-9]+)
とかなり煩雑な感じなんですが、これを[0-9]+と\.?のインターリービングとして表記できればより簡潔になるはずなのに、なぜ正規表現にインターリービングがないのか、ご存知の方いらっしゃいませんか?
https://qiita.com/hitsumabushi845/items/1b1a4921d515f662b416
を見ると
([0-9]+(\.[0-9]*)?|\.[0-9]+)
とかなり煩雑な感じなんですが、これを[0-9]+と\.?のインターリービングとして表記できればより簡潔になるはずなのに、なぜ正規表現にインターリービングがないのか、ご存知の方いらっしゃいませんか?
560デフォルトの名無しさん
2021/03/25(木) 18:34:43.45ID:T+HzAix1 インターリービングとは
561デフォルトの名無しさん
2021/03/25(木) 18:35:20.79ID:iRaOTaqm562デフォルトの名無しさん
2021/03/25(木) 18:44:54.48ID:ItxHMUbH 正規表現でやるものなのかそれ?
563デフォルトの名無しさん
2021/03/25(木) 20:05:19.84ID:DBtu6Q2L 0-9が1回以上、.が1回以下現れるパターンを簡潔に書ければいいんだよね
564デフォルトの名無しさん
2021/03/25(木) 20:51:18.60ID:T+HzAix1 >>559
0.123とかだけでなく.123みたいな表記も含めてるから煩雑に見えるだけでしょ
0.123とかだけでなく.123みたいな表記も含めてるから煩雑に見えるだけでしょ
565デフォルトの名無しさん
2021/03/25(木) 20:57:31.28ID:+PvM3W0M 例えばpythonだと、
\d
と書くと、
[0-9]
と同じ意味になるんだが、その程度の省略ができるだけでは不満?
\d
と書くと、
[0-9]
と同じ意味になるんだが、その程度の省略ができるだけでは不満?
566デフォルトの名無しさん
2021/03/26(金) 12:59:11.27ID:8UZMtFlJ まず\dと[0-9]は一致しないケースがあるからダメでしょ
単なるバイトシーケンスとして扱っているときは \d == [0-9] だけど、
Unicodeの文字列として扱っているときはUnicodeのNdカテゴリに一致するかを見るので
\dが全角の「0」に一致したりする
Pythonもこういう仕様持ってた気がするけどちょっと最近触ってないから怪しい
単なるバイトシーケンスとして扱っているときは \d == [0-9] だけど、
Unicodeの文字列として扱っているときはUnicodeのNdカテゴリに一致するかを見るので
\dが全角の「0」に一致したりする
Pythonもこういう仕様持ってた気がするけどちょっと最近触ってないから怪しい
567デフォルトの名無しさん
2021/03/26(金) 13:48:50.07ID:9MjXQivW568デフォルトの名無しさん
2021/03/26(金) 13:50:58.63ID:9HpPnfto \dより\wで嵌ることが絶対多い(Unicodeの場合)
569デフォルトの名無しさん
2021/03/26(金) 14:50:30.80ID:yQ1w8lx7 動きそうで動かないのは、\s\Sかな
改行かなにかで引っ掛からなくて困る事がある
改行かなにかで引っ掛からなくて困る事がある
570デフォルトの名無しさん
2021/03/26(金) 19:09:23.59ID:bWZQxU2M >>567
部分列にマッチしたんだろうな
部分列にマッチしたんだろうな
571デフォルトの名無しさん
2021/03/27(土) 07:24:19.21ID:6HYRQzqn572デフォルトの名無しさん
2021/03/27(土) 07:53:26.38ID:c8B2TB9l573デフォルトの名無しさん
2021/03/27(土) 07:59:48.48ID:HYD5C7Ts 数値として正しくないものの一部にマッチするのがいやなんだろ
そりゃ前後の条件を指定してないからマッチするのは当然なんだから
(?<![0-9.])と(?![0-9.])を前後につけりゃ弾けるよ
そりゃ前後の条件を指定してないからマッチするのは当然なんだから
(?<![0-9.])と(?![0-9.])を前後につけりゃ弾けるよ
574デフォルトの名無しさん
2021/03/27(土) 08:17:02.42ID:8mKnzpia575デフォルトの名無しさん
2021/03/27(土) 09:50:47.60ID:6HYRQzqn576デフォルトの名無しさん
2021/03/27(土) 10:05:58.69ID:8qqpgzaM マッチしない行を正規表現で抽出したいとき、
必ず、^(?!.*残したい文字).*、この書き方になってしまいます、
必ず^(?!.*と).*で残したい文字を包むという書き方です。
ほかの書き方があれば教えてください。
例えば、以下のようなログファイルでerrだけ残したい場合は
^(?!.*err).*
と書いてerrを残します
[日付] warn メッセージ
[日付] info メッセージ
[日付] err メッセージ
[日付] info メッセージ
特段、これ以外の書き方が出来ず困ったという例も無いのですが、
ほかの表現を(あれば)知ることで、もっと知識を増やせるのではないとおもいお伺いします
よろしくお願いいたします。
必ず、^(?!.*残したい文字).*、この書き方になってしまいます、
必ず^(?!.*と).*で残したい文字を包むという書き方です。
ほかの書き方があれば教えてください。
例えば、以下のようなログファイルでerrだけ残したい場合は
^(?!.*err).*
と書いてerrを残します
[日付] warn メッセージ
[日付] info メッセージ
[日付] err メッセージ
[日付] info メッセージ
特段、これ以外の書き方が出来ず困ったという例も無いのですが、
ほかの表現を(あれば)知ることで、もっと知識を増やせるのではないとおもいお伺いします
よろしくお願いいたします。
577デフォルトの名無しさん
2021/03/27(土) 10:12:04.85ID:3M9UQTXy578デフォルトの名無しさん
2021/03/27(土) 10:24:10.55ID:HRW8qdH1 >>576
最後の.*は要らないんじゃないかな
最後の.*は要らないんじゃないかな
579デフォルトの名無しさん
2021/03/27(土) 10:53:48.21ID:cpUHfD3R >>576
>例えば、以下のようなログファイルでerrだけ残したい場合は
in-placeで置換するより、残したいものを抽出して新しいファイルを作成したほうがよくないか?
用途によっては日付とログレベルを指定してログファイルに直接クエリを投げてもいい
>例えば、以下のようなログファイルでerrだけ残したい場合は
in-placeで置換するより、残したいものを抽出して新しいファイルを作成したほうがよくないか?
用途によっては日付とログレベルを指定してログファイルに直接クエリを投げてもいい
580デフォルトの名無しさん
2021/03/27(土) 12:12:53.22ID:8qqpgzaM581デフォルトの名無しさん
2021/03/27(土) 12:42:16.84ID:TmS3InK/582デフォルトの名無しさん
2021/03/27(土) 15:07:28.25ID:cpUHfD3R >>580
余計なお世話なんだろうけどログファイルをわざわざエディタで開いて
マッチしない行を正規表現で置換して保存するのは無駄じゃないのって話
↓例えばgrepならこれでよくて指定も簡単だし自動化もしやすい
$ grep 'err' all.log > err.log
マッチしない行を正規表現を使いそうな例として
たまたま思いついただけならならいいんだけど
余計なお世話なんだろうけどログファイルをわざわざエディタで開いて
マッチしない行を正規表現で置換して保存するのは無駄じゃないのって話
↓例えばgrepならこれでよくて指定も簡単だし自動化もしやすい
$ grep 'err' all.log > err.log
マッチしない行を正規表現を使いそうな例として
たまたま思いついただけならならいいんだけど
583デフォルトの名無しさん
2021/03/27(土) 17:09:38.08ID:SqJSHKEy マッチしない行は-v付ければ取り出せるからな
584デフォルトの名無しさん
2021/03/27(土) 18:55:12.69ID:HRW8qdH1 そもそもサクラエディタにはマッチしない行を抽出する機能あるからあまり真剣に考えたことない
585デフォルトの名無しさん
2021/03/27(土) 22:37:04.08ID:p2/S5VcH ログの加工をエディタでやろうとするのは筋が悪いわな
586デフォルトの名無しさん
2021/03/28(日) 00:36:09.11ID:p6/Rs1VD 加工というか、ログは必要な部分だけ抽出して見たいという需要はある
587デフォルトの名無しさん
2021/03/28(日) 01:38:45.00ID:Ah6uwjvI たまにトラブルシューティングとかで検索する程度ならLog Parserみたいなやつでそれなりに捗るよ
検索はリニアなので量が増えると遅いけどgrepに比べれば条件指定がしやすい
https://www.microsoft.com/en-us/download/details.aspx?id=24659
速度を求めるならBigQueryとかの検索/分析系のDBに突っ込む
検索はリニアなので量が増えると遅いけどgrepに比べれば条件指定がしやすい
https://www.microsoft.com/en-us/download/details.aspx?id=24659
速度を求めるならBigQueryとかの検索/分析系のDBに突っ込む
588デフォルトの名無しさん
2021/03/28(日) 19:46:40.79ID:gm3gYlo8 >>580
サクラエディタ(bregonig.dll 4.10以降)使ってるなら
>>581も書いてるけど非包含オペレーターが使えます
鬼雲およびbregonig.dllの作者さん(
@k-takata)自身がQiitaに使い方とかも載せてます
https://qiita.com/k-takata/items/4e45121081c83d3d5bfd
サクラエディタ(bregonig.dll 4.10以降)使ってるなら
>>581も書いてるけど非包含オペレーターが使えます
鬼雲およびbregonig.dllの作者さん(
@k-takata)自身がQiitaに使い方とかも載せてます
https://qiita.com/k-takata/items/4e45121081c83d3d5bfd
589デフォルトの名無しさん
2021/03/31(水) 03:07:25.18ID:AtIsL56M regexエンジンって皆さんどういう基準で選んでますか?
ちょつとググるとcommon lispのcl-ppcreがダントツというベンチが出てきますが本当でしょうか?(このスレで言及が見当たらないもので…)
perl風なのがちょっと気になりますが
ちょつとググるとcommon lispのcl-ppcreがダントツというベンチが出てきますが本当でしょうか?(このスレで言及が見当たらないもので…)
perl風なのがちょっと気になりますが
590デフォルトの名無しさん
2021/03/31(水) 03:15:02.21ID:AtIsL56M (試せばいいんだけど、環境構築で折れました…)
591デフォルトの名無しさん
2021/03/31(水) 07:27:06.36ID:XV2UTtWr 特に制限なきゃ俺の採用基準は
・使おうとする言語で楽に使える奴
だな
あとダントツの基準や何を対象にするかは人によって違うから君の考えるダントツを説明しないと回答しようがないと思うぞ
・使おうとする言語で楽に使える奴
だな
あとダントツの基準や何を対象にするかは人によって違うから君の考えるダントツを説明しないと回答しようがないと思うぞ
592デフォルトの名無しさん
2021/03/31(水) 08:34:08.22ID:U/8CErR8 >>591
ベンチって書いてあるから速度でしょ
ベンチって書いてあるから速度でしょ
593デフォルトの名無しさん
2021/03/31(水) 11:28:59.80ID:Vc5hrOQS ユースケースで速度は変わるからそれだけじゃなんとも言えないよね
NGフィルターみたいなものを高速にしたい場合に言語標準以外で考えるなら
re2かhyperscanを候補にするかな
NGフィルターみたいなものを高速にしたい場合に言語標準以外で考えるなら
re2かhyperscanを候補にするかな
594デフォルトの名無しさん
2021/03/31(水) 12:11:49.60ID:AtIsL56M >>591-593
言葉足らずでしたごめん、線形にコードした化学式から部分構造マッチで設計に活かそうかと(古典的だけど)
chemspider.com等から100GB(100万エントリー)のテキストにまとめたが、重複や興味あるデータ以外はawk/sedでメモリに載せずに10GBまでは落とせるかも
コマンドライン引数で正規表現文字列を取り、そのままパイプで渡せる言語(cl、python等)なら速ければ何でもいいかなと
有名なperl/grepもパイプから読むけど、検索効率のためになんかキャッシュしてるようで、すぐメモリが膨らんでクラッシュする
言葉足らずでしたごめん、線形にコードした化学式から部分構造マッチで設計に活かそうかと(古典的だけど)
chemspider.com等から100GB(100万エントリー)のテキストにまとめたが、重複や興味あるデータ以外はawk/sedでメモリに載せずに10GBまでは落とせるかも
コマンドライン引数で正規表現文字列を取り、そのままパイプで渡せる言語(cl、python等)なら速ければ何でもいいかなと
有名なperl/grepもパイプから読むけど、検索効率のためになんかキャッシュしてるようで、すぐメモリが膨らんでクラッシュする
595デフォルトの名無しさん
2021/03/31(水) 12:32:32.23ID:AtIsL56M あんまり後処理できないけど、sedのg/re/pはスケーラブルみたい
g/re/commandのcommandでちょっと実験する限り、command中でmatch情報が使われてなければ保持しないのかな?
保持するmatch情報を指定出来き、match情報を得るたびに外部ファイルへ追記できる処理系が必要なのだろうか
g/re/commandのcommandでちょっと実験する限り、command中でmatch情報が使われてなければ保持しないのかな?
保持するmatch情報を指定出来き、match情報を得るたびに外部ファイルへ追記できる処理系が必要なのだろうか
596デフォルトの名無しさん
2021/03/31(水) 12:57:50.76ID:0y1R6Bno なんとなく、パイプ避けたほうが
597デフォルトの名無しさん
2021/03/31(水) 13:30:47.96ID:oCEpBqBX パイプ自体キューだからメモリ膨らむって理解してるんだけど違うのかな
598デフォルトの名無しさん
2021/03/31(水) 13:36:46.22ID:jIuPTrt2 >>596
メモリに載らないのはパイプ、みたいにバカの一つ覚えしてるんですけど、落とし穴あったりするんですかね?
バッファリングモードには一応気をつけてるつもりですが、詰まらないようにflushを書き加えて再コンパイルしたり
さすがにインタプリタまでは手を入れませんが…
パイプ避けるとなると、
ファイルを100くらいに細かく割り、ループ内で各ファイルを順にメモリマップ、regex掛けて(マッチ情報、ファイル名、行番号)をdbmsに格納
目ぼしいマッチ情報をクエリで拾いながら、(ファイル名、行番号)でシークしてマッチ部分に処理を適用&db書き戻し
って感じになりますかね?
メモリに載らないのはパイプ、みたいにバカの一つ覚えしてるんですけど、落とし穴あったりするんですかね?
バッファリングモードには一応気をつけてるつもりですが、詰まらないようにflushを書き加えて再コンパイルしたり
さすがにインタプリタまでは手を入れませんが…
パイプ避けるとなると、
ファイルを100くらいに細かく割り、ループ内で各ファイルを順にメモリマップ、regex掛けて(マッチ情報、ファイル名、行番号)をdbmsに格納
目ぼしいマッチ情報をクエリで拾いながら、(ファイル名、行番号)でシークしてマッチ部分に処理を適用&db書き戻し
って感じになりますかね?
599デフォルトの名無しさん
2021/03/31(水) 13:39:03.95ID:jIuPTrt2 >>597
プロセスの使用メモリ見ながらバッファリングは調整してますが、regex処理系のメモリ使用量がI/Oの収支と合ってないのでキャッシュだと思います
プロセスの使用メモリ見ながらバッファリングは調整してますが、regex処理系のメモリ使用量がI/Oの収支と合ってないのでキャッシュだと思います
600デフォルトの名無しさん
2021/03/31(水) 14:03:15.96ID:c0V7LnWa highwayとかであかんの?
601デフォルトの名無しさん
2021/03/31(水) 14:18:33.85ID:AtIsL56M いや合ってるのかな…シェルの知識が乏しいので
基本はスループット最大化を目指してエンジンとパイプ前後のバッファリングモードを調整で合ってますよね?
linux/bashだと改行待ちで詰まりやすいのでstdbufが効くならそれで、効かないなら強制フラッシュ
win/pwsh6&7のパイプラインは逆にバッファリング殆ど貯めないようで、pythonだとio.Streamでかなり改善しました
>>600
詳しく!
regex highwayあたりでググってもノイズだらけです
基本はスループット最大化を目指してエンジンとパイプ前後のバッファリングモードを調整で合ってますよね?
linux/bashだと改行待ちで詰まりやすいのでstdbufが効くならそれで、効かないなら強制フラッシュ
win/pwsh6&7のパイプラインは逆にバッファリング殆ど貯めないようで、pythonだとio.Streamでかなり改善しました
>>600
詳しく!
regex highwayあたりでググってもノイズだらけです
602デフォルトの名無しさん
2021/03/31(水) 18:56:13.01ID:Vc5hrOQS 正規表現が向いてる用途かどうか微妙だなぁ
少ないデータ量で目的にあったライブラリを使ってみて性能の最適化はそれ次第だな
https://www.rdkit.org/docs_jp/Supplementary_Text_jp.html#jp-notes-6
データの中身と検索用途にあったデータベースに入れて
速度は並列度を上げるほうが楽でメンテもしやすくて速度も出やすいような
少ないデータ量で目的にあったライブラリを使ってみて性能の最適化はそれ次第だな
https://www.rdkit.org/docs_jp/Supplementary_Text_jp.html#jp-notes-6
データの中身と検索用途にあったデータベースに入れて
速度は並列度を上げるほうが楽でメンテもしやすくて速度も出やすいような
603デフォルトの名無しさん
2021/03/31(水) 19:14:36.42ID:AtIsL56M >>602
RDkitもちろん使ってるよー
SMILESの検索性上げたのがInChIで、その辺扱ったり、代表的な特徴量を生成するライブラリは沢山あるんだけど、もうやり尽くされた感じで
既存のデータが正規表現で扱う想定のフォーマットだから、まずは正規表現で引っ掛けて独自フォーマットに変換、という感じです
あと、勝手にオンラインから拾って来てくれたり便利なんだけど、10GB単位のリクエスト送りまくるとアク禁食らいそうだから、こっそりゴッソリ落としてきたw
PowerShellの正規表現がちゃんとコンパイルできる事や、パイプの属性が細かく指定できてかなり速い事に気付いた、灯台下暗し
ちょっとスレチぎみですまなかった
目処が付いたら効率的な正規表現とかまた相談に来ます
RDkitもちろん使ってるよー
SMILESの検索性上げたのがInChIで、その辺扱ったり、代表的な特徴量を生成するライブラリは沢山あるんだけど、もうやり尽くされた感じで
既存のデータが正規表現で扱う想定のフォーマットだから、まずは正規表現で引っ掛けて独自フォーマットに変換、という感じです
あと、勝手にオンラインから拾って来てくれたり便利なんだけど、10GB単位のリクエスト送りまくるとアク禁食らいそうだから、こっそりゴッソリ落としてきたw
PowerShellの正規表現がちゃんとコンパイルできる事や、パイプの属性が細かく指定できてかなり速い事に気付いた、灯台下暗し
ちょっとスレチぎみですまなかった
目処が付いたら効率的な正規表現とかまた相談に来ます
604デフォルトの名無しさん
2021/03/31(水) 23:36:10.16ID:1Z3UgTKy 正規表現を考えた人にノーベル賞を授与すべきと思うが
まだ生きているのか、何賞がいいのかなどよくわからない
まだ生きているのか、何賞がいいのかなどよくわからない
605デフォルトの名無しさん
2021/04/01(木) 18:26:16.61ID:+gZ88zdN606デフォルトの名無しさん
2021/04/01(木) 21:17:20.81ID:B5PjUTjB ed書いてたよね?あれが最初なのか
607デフォルトの名無しさん
2021/04/01(木) 21:58:44.86ID:6NDtmvbq 正規表現を考えたのはケン・トンプソンではないみたいだけど
608デフォルトの名無しさん
2021/04/02(金) 03:22:50.55ID:XNApZvfR Wikipedia見た限りでは、UNIXツールに導入したのはケン・トンプソンで間違いなさそう
オリジナルQED(正規表現なし)→CTSS版QED(ケン開発、正規表現導入)→Multics版QED→ed→vi→...の流れで合ってる?
#チラ裏
正規表現発展の歴史って
...→ed→(grep,sed)→awk→Perl→その他諸々
だと思ってたんだけと、カーニハン先生が去年出した(今頃気づいた)UNIX回顧録の目次見てたら、実際は
...→grep(UNIX第6版:1975)→sed,awk(UNIX第7版:1976-1979)→...
とawkがsedとほぼ同時期のリリースだったらしい事に気づいて今更びっくりしてる
AWK本の邦訳の出版が1989年だし、多分それで勘違いしてたんだな
...あれ?wikiぺ見たらsedの初登場は1973-74??じゃあ時系列自体は最初の認識であってるのかな
オリジナルQED(正規表現なし)→CTSS版QED(ケン開発、正規表現導入)→Multics版QED→ed→vi→...の流れで合ってる?
#チラ裏
正規表現発展の歴史って
...→ed→(grep,sed)→awk→Perl→その他諸々
だと思ってたんだけと、カーニハン先生が去年出した(今頃気づいた)UNIX回顧録の目次見てたら、実際は
...→grep(UNIX第6版:1975)→sed,awk(UNIX第7版:1976-1979)→...
とawkがsedとほぼ同時期のリリースだったらしい事に気づいて今更びっくりしてる
AWK本の邦訳の出版が1989年だし、多分それで勘違いしてたんだな
...あれ?wikiぺ見たらsedの初登場は1973-74??じゃあ時系列自体は最初の認識であってるのかな
609デフォルトの名無しさん
2021/04/02(金) 11:22:21.17ID:BO0mfYkz610デフォルトの名無しさん
2021/04/02(金) 11:40:50.71ID:ebi/L5xP 別に正規表現である意義もそんなにないと思うし、どうでもいいのでは?
611デフォルトの名無しさん
2021/04/02(金) 11:42:32.54ID:2zuzxBMS >>610
「正規表現でない」とは?
「正規表現でない」とは?
612デフォルトの名無しさん
2021/04/02(金) 23:12:52.23ID:2IXJa8pf613デフォルトの名無しさん
2021/04/02(金) 23:18:36.72ID:nU9EtL7E 論理の場で非論理的な煽り合いはやめて欲しい
614デフォルトの名無しさん
2021/04/03(土) 06:56:50.00ID:mJPsJJNM615デフォルトの名無しさん
2021/04/03(土) 13:40:38.89ID:vSOTAguS 609は、『604は「実装した人に賞を」とは言ってないじゃん(あくまで考案した人に賞を)』と言ってるにすぎん
616デフォルトの名無しさん
2021/04/03(土) 15:45:43.43ID:MnG7Frze 言ってもないことで絡まれる604が不憫だわ
基地害に絡まれるってこういうことなだな...
基地害に絡まれるってこういうことなだな...
617デフォルトの名無しさん
2021/04/03(土) 16:32:17.92ID:cg+oQawH >>616
不憫なのは君の頭の悪さだろうな
不憫なのは君の頭の悪さだろうな
618デフォルトの名無しさん
2021/04/03(土) 16:39:50.38ID:uAN7ehAC 604 「正規表現を考えた人にノーベル賞を授与すべき」
605「正規表現考えたのはケン・トンプソン」
(ケン・トンプソンはコンピュータ科学分野のノーベル賞と言われるチューリング賞を受賞済み)
607 「正規表現を考えたのはケン・トンプソンではない」
608 「Wikipedia見た限りでは、UNIXツールに導入したのはケン・トンプソンで間違い」
609 「UNIXツールに導入したのと正規表現を考案したのとは全然別」
この流れで下の文の意味が分からないなら小学校からやり直したほうがいい
「604は正規表現をUNIXツールに導入した人にノーベル賞授与すべきだと言ってるのかな?」
605「正規表現考えたのはケン・トンプソン」
(ケン・トンプソンはコンピュータ科学分野のノーベル賞と言われるチューリング賞を受賞済み)
607 「正規表現を考えたのはケン・トンプソンではない」
608 「Wikipedia見た限りでは、UNIXツールに導入したのはケン・トンプソンで間違い」
609 「UNIXツールに導入したのと正規表現を考案したのとは全然別」
この流れで下の文の意味が分からないなら小学校からやり直したほうがいい
「604は正規表現をUNIXツールに導入した人にノーベル賞授与すべきだと言ってるのかな?」
619デフォルトの名無しさん
2021/04/03(土) 17:01:43.10ID:jUXnOQwo 絡まれてるのは604ではなく609
ってとこまで読んだ
ってとこまで読んだ
620デフォルトの名無しさん
2021/04/03(土) 17:17:48.40ID:vSOTAguS 正に
609が不憫だ
609が不憫だ
621デフォルトの名無しさん
2021/04/03(土) 17:20:20.99ID:3054knRU622デフォルトの名無しさん
2021/04/03(土) 18:38:52.17ID:nkSIG8qO >>618
>608 「Wikipedia見た限りでは、UNIXツールに導入したのはケン・トンプソンで間違い」
608 「Wikipedia見た限りでは、UNIXツールに導入したのはケン・トンプソンで間違いない」
>608 「Wikipedia見た限りでは、UNIXツールに導入したのはケン・トンプソンで間違い」
608 「Wikipedia見た限りでは、UNIXツールに導入したのはケン・トンプソンで間違いない」
623デフォルトの名無しさん
2021/04/03(土) 19:36:29.47ID:fbz7uNem624デフォルトの名無しさん
2021/04/03(土) 20:58:53.19ID:vSOTAguS 「604は言ってないぞ」と609が指摘しただけ
その609になぜ食いつくんだよ
その609になぜ食いつくんだよ
625デフォルトの名無しさん
2021/04/03(土) 21:13:29.22ID:HBbZRCot まだ続くの?
626デフォルトの名無しさん
2021/04/03(土) 21:27:51.22ID:2eiD4/1n そんなに感情的になる要素見当たらないんだけど何に反応しちゃったのか?
627デフォルトの名無しさん
2021/04/03(土) 22:05:45.23ID:fbz7uNem628デフォルトの名無しさん
2021/04/03(土) 22:13:04.80ID:vSOTAguS えー誰でもそうとしか解釈できないだろ
629デフォルトの名無しさん
2021/04/03(土) 22:13:58.62ID:vSOTAguS あまりに国語力が平均以下なんだな
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★2 [蚤の市★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【インバウンド】中国からの“渡航自粛”…ツアー1000人分の直前キャンセル「キャンセル料は免除してくれ」 ことしいっぱいキャンセルに [1ゲットロボ★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★4 [BFU★]
- Xで障害発生 ChatGPTなど各種サービスでも接続不良、Cloudflare障害が広範囲に影響か [冬月記者★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- 【悲報】トランプ聖帝「高市…さん…でしたっけ?」 [878970802]
- 【悲報】SANA、発言撤回拒否 [769931615]
- 嫌儲、復活 [377388547]
- 高市早苗(SANA)、ネトウヨ相手に第二次日中戦争を叫んでも詰み。株安円安債券安で経済界からの攻撃が始まる [517791167]
- CDNのCloudflare大規模障害でインターネット各所がダウン [633746646]
- ネトウヨ「中国以外からレアアースを買えばいい!」→そもそもレアアースの精製が中国しかできない模様 [931948549]
