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:enU8we0d618デフォルトの名無しさん
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 あまりに国語力が平均以下なんだな
630デフォルトの名無しさん
2021/04/03(土) 22:22:18.05ID:vSOTAguS 発言者の意図したものとか行間を読むとかできないで、その表面しか見ないのはアスペの特徴とか
631デフォルトの名無しさん
2021/04/03(土) 22:41:29.99ID:AcE4W092 誰でも ⇒ ID:vSOTAguS のみ
まあこの後に単発が来るのかもしれないけどw
まあこの後に単発が来るのかもしれないけどw
632デフォルトの名無しさん
2021/04/03(土) 23:35:04.26ID:fsqx4uGu633デフォルトの名無しさん
2021/04/03(土) 23:40:31.67ID:jUXnOQwo 609の意図を理解できない読者がいる以上、「誰でも」という認識は誤解と思う
634デフォルトの名無しさん
2021/04/04(日) 02:08:54.97ID:842owbNJ 「〜だと言ってるのかな?」
これは
(実際には言ってやしないだろ?)と言う言葉が省略されてる
というか省略するのが普通で通常なら十分に読み取れるはず
これは
(実際には言ってやしないだろ?)と言う言葉が省略されてる
というか省略するのが普通で通常なら十分に読み取れるはず
635デフォルトの名無しさん
2021/04/04(日) 02:26:12.96ID:+j1dsc1H もうええやん
609の文章を正しく読み取る能力の無い奴にそもそもこの板は向いてない
609の文章を正しく読み取る能力の無い奴にそもそもこの板は向いてない
636デフォルトの名無しさん
2021/04/04(日) 02:42:10.15ID:zADfh3JJ 相手が日本語書いてるからと言って通じるとは限らない
言葉の通じないバカを言いくるめようとするからこうなる
相手に言葉が通じるか見極めるスキルと耐性・スルー力を身に着けろ
言葉の通じないバカを言いくるめようとするからこうなる
相手に言葉が通じるか見極めるスキルと耐性・スルー力を身に着けろ
637デフォルトの名無しさん
2021/04/04(日) 02:44:32.45ID:842owbNJ 喧嘩するにも同程度の知能を有してないとダメってことだな
638デフォルトの名無しさん
2021/04/04(日) 06:18:23.10ID:Da11tGDT 単発わらわら湧いてて笑うわ
どっちが必死なんだかw
どっちが必死なんだかw
639デフォルトの名無しさん
2021/04/07(水) 17:35:35.06ID:V6KO8k9b >>604 は単に偉大な先人に感謝してるだけだと思うんだが…
「正規表現を考えた人」って表現したのがまずかったのか?
「正規表現を考えた人」って表現したのがまずかったのか?
640デフォルトの名無しさん
2021/04/07(水) 17:51:25.47ID:tjlM1gbN もういいからやめろ
641デフォルトの名無しさん
2021/04/07(水) 23:04:12.41ID:Gfnmricb >>639
ちょっとアレな人が絡んできただけw
ちょっとアレな人が絡んできただけw
642デフォルトの名無しさん
2021/04/08(木) 11:35:26.71ID:GjjHuqzu まだおさまらないてどんだけ悔しかったんだよww
643デフォルトの名無しさん
2021/04/08(木) 11:39:17.18ID:ADplJe5S バカが身の程しらずにもこのスレに迷い込んでくるから
644デフォルトの名無しさん
2021/04/11(日) 15:15:06.07ID:gwmbiGIQ ●Regular Expressionの使用環境
C#
●検索か置換か?
置換
●説明
アダルトビデオDBから取得したタイトルの最後が
女優名だった場合は消したい
●対象データ
女優 |タイトル
-----------------------------
三上悠亜 |下着モデルをさせられて… フェチズム9ランジェリーSpecial 三上悠亜
三上悠亜 |三上悠亜のPLATINUM SOAP
高橋しょう子|バキュームフェラ大好きお姉さんのディープスロート・たっぷり射精・追撃おしゃぶり 高橋しょう子
高橋しょう子|高橋しょう子 初BEST 12タイトル720分
●希望する結果
女優 |タイトル
-----------------------------
三上悠亜 |下着モデルをさせられて… フェチズム9ランジェリーSpecial
三上悠亜 |三上悠亜のPLATINUM SOAP
高橋しょう子|バキュームフェラ大好きお姉さんのディープスロート・たっぷり射精・追撃おしゃぶり
高橋しょう子|高橋しょう子 初BEST 12タイトル720分
C#
●検索か置換か?
置換
●説明
アダルトビデオDBから取得したタイトルの最後が
女優名だった場合は消したい
●対象データ
女優 |タイトル
-----------------------------
三上悠亜 |下着モデルをさせられて… フェチズム9ランジェリーSpecial 三上悠亜
三上悠亜 |三上悠亜のPLATINUM SOAP
高橋しょう子|バキュームフェラ大好きお姉さんのディープスロート・たっぷり射精・追撃おしゃぶり 高橋しょう子
高橋しょう子|高橋しょう子 初BEST 12タイトル720分
●希望する結果
女優 |タイトル
-----------------------------
三上悠亜 |下着モデルをさせられて… フェチズム9ランジェリーSpecial
三上悠亜 |三上悠亜のPLATINUM SOAP
高橋しょう子|バキュームフェラ大好きお姉さんのディープスロート・たっぷり射精・追撃おしゃぶり
高橋しょう子|高橋しょう子 初BEST 12タイトル720分
645デフォルトの名無しさん
2021/04/11(日) 16:16:34.91ID:RGQ7rYBB ●Regular Expressionの使用環境
Windows PowerShell
●検索か置換か?
置換
●説明
「秒・コンマ」を「時・分・秒・コンマ」に置換
●対象データ
start="123.45"
●希望する結果
start="00:02:03.45"
よろしくお願いします
割り算の商とあまりはPowerShellの関数で
2 = [int](123/60)
3 = 123 % 60
で求められます
Windows PowerShell
●検索か置換か?
置換
●説明
「秒・コンマ」を「時・分・秒・コンマ」に置換
●対象データ
start="123.45"
●希望する結果
start="00:02:03.45"
よろしくお願いします
割り算の商とあまりはPowerShellの関数で
2 = [int](123/60)
3 = 123 % 60
で求められます
646デフォルトの名無しさん
2021/04/11(日) 16:38:01.79ID:j2wFoRQW 鬼雲
^(\S+)[ ]*|.+\K\s++\1$
^([^|]+)[ ]*|.+\K\s++\1$
.Net だとこんな感じ?未確認
(?<=^([^|]+?)\s*|.+)(?>\s+)\1$
空文字に置換
^(\S+)[ ]*|.+\K\s++\1$
^([^|]+)[ ]*|.+\K\s++\1$
.Net だとこんな感じ?未確認
(?<=^([^|]+?)\s*|.+)(?>\s+)\1$
空文字に置換
647デフォルトの名無しさん
2021/04/11(日) 17:10:39.69ID:Mhxpz1MA >>645
[TimeSpan]::new(([double]$start)*10000000).tostring("hh\:mm\:ss\.ff")
[TimeSpan]::new(([double]$start)*10000000).tostring("hh\:mm\:ss\.ff")
648デフォルトの名無しさん
2021/04/11(日) 21:30:29.49ID:LXnW0jT4 >>644
Ruby なら、そういう関数がある
delete_suffix!(suffix) -> self | nil
self の末尾から、破壊的に suffix を削除します
[PARAM] suffix:
末尾から削除する、文字列を指定します
[RETURN]
削除した場合は self、変化しなかった場合は nil
"hello".delete_suffix!("llo") # => "he"
"hello".delete_suffix!("hel") # => nil
Ruby なら、そういう関数がある
delete_suffix!(suffix) -> self | nil
self の末尾から、破壊的に suffix を削除します
[PARAM] suffix:
末尾から削除する、文字列を指定します
[RETURN]
削除した場合は self、変化しなかった場合は nil
"hello".delete_suffix!("llo") # => "he"
"hello".delete_suffix!("hel") # => nil
649645
2021/04/11(日) 21:41:09.21ID:RGQ7rYBB できました!
650デフォルトの名無しさん
2021/04/11(日) 21:55:24.47ID:Mhxpz1MA >>644
.replace(/^(([^\s| ]+)[\s ]*|.+?)[\s ]*\2[\s ]*$/gm, "$1")
.replace(/^(([^\s| ]+)[\s ]*|.+?)[\s ]*\2[\s ]*$/gm, "$1")
651デフォルトの名無しさん
2021/04/11(日) 22:20:20.90ID:Mhxpz1MA .replace(/^[ ]*(([^|]+)[ ]*|.+?)[ ]*\2[ ]*$/gm, "$1")
行先頭に空白がある場合が抜けてた(\sは半角スペースに変更)
姓名の間にスペースある場合も同じデータならマッチする
三上 悠亜 |下着モデルをさせられて… フェチズム9ランジェリーSpecial 三上 悠亜
行先頭に空白がある場合が抜けてた(\sは半角スペースに変更)
姓名の間にスペースある場合も同じデータならマッチする
三上 悠亜 |下着モデルをさせられて… フェチズム9ランジェリーSpecial 三上 悠亜
652デフォルトの名無しさん
2021/04/15(木) 17:26:54.76ID:n7ib2P7L phpの実装前提です。
以下のサイトについて質問です。
https://www.javadrive.jp/regex-basic/sample/index13.html
[a-zA-Z0-9_+-]+(.[a-zA-Z0-9_+-]+)*@
で以下のような文字列の表現らしいのですが、
aaaaaaaaaaa@
aaa.aaaaaaa@
aa.aa.aaaaa@
aa.aa.aa.aa@
この()の中にある.ピリオドって、メタ文字の意味ですか?
本来なら、
[a-zA-Z0-9_+-]+(/.[a-zA-Z0-9_+-]+)*@
が正しくないですか?
以下のサイトについて質問です。
https://www.javadrive.jp/regex-basic/sample/index13.html
[a-zA-Z0-9_+-]+(.[a-zA-Z0-9_+-]+)*@
で以下のような文字列の表現らしいのですが、
aaaaaaaaaaa@
aaa.aaaaaaa@
aa.aa.aaaaa@
aa.aa.aa.aa@
この()の中にある.ピリオドって、メタ文字の意味ですか?
本来なら、
[a-zA-Z0-9_+-]+(/.[a-zA-Z0-9_+-]+)*@
が正しくないですか?
653デフォルトの名無しさん
2021/04/15(木) 17:30:30.96ID:n7ib2P7L (ごめんなさい。上記修正です。。)
本来なら、
[a-zA-Z0-9_+-]+(\.[a-zA-Z0-9_+-]+)*@
が正しくないですか?
本来なら、
[a-zA-Z0-9_+-]+(\.[a-zA-Z0-9_+-]+)*@
が正しくないですか?
654デフォルトの名無しさん
2021/04/15(木) 18:09:09.76ID:2/Cpiffz 試せばすぐわかるやろ
https://regex101.com/r/weGCyh/1
https://regex101.com/r/weGCyh/1
655デフォルトの名無しさん
2021/04/15(木) 18:22:25.76ID:n7ib2P7L ありがとうございました。
こんなツール初めてしりました。
aaaaaあaaaaa@
↑でも合致しますので、ページの説明としては不適切におもいました。
こんなツール初めてしりました。
aaaaaあaaaaa@
↑でも合致しますので、ページの説明としては不適切におもいました。
656デフォルトの名無しさん
2021/04/15(木) 18:41:07.32ID:5RsSqrLU657デフォルトの名無しさん
2021/04/15(木) 18:43:40.23ID:n7ib2P7L >>656
ありがとうございました。確信がもてました!
ありがとうございました。確信がもてました!
658デフォルトの名無しさん
2021/04/16(金) 08:22:32.69ID:jY/tNYiK そんな糞サイトを見るのはやめた方がいい
659デフォルトの名無しさん
2021/04/18(日) 11:01:19.33ID:GrVz/jbm ●Regular Expressionの使用環境
C#
●検索か置換か?
検索
●説明
表のデータを名前付きでキャプチャしたい(year,month,day;open;high;low;close;volume)
日付 <td class="XXX">(?<year>\d{4})/(?<month>\d?\d)/(?<day>\d?\d)</td>
株価 <td>(?<open>[0-9,.]+)</td>\r\n
<td>(?<high>[0-9,.]+)</td>\r\n
<td>(?<low>[0-9,.]+)</td>\r\n
<td>(?<close>[0-9,.]+)</td>\r\n
<td>.*</td>\r\n<td>(?<volume>[0-9,.]+)</td>
●対象データ
<tr>
<td class="XXX">2021/04/02</td> 日付
<td class="YYY">8,510.0</td >始値
<td class="YYY">8,595.0</td> 高値
<td class="YYY">8,432.0</td> 安値
<td class="YYY">8,462.0</td> 終値
<td class="YYY">8,462.0</td> 調整後終値
<td class="YYY">4,337,300</td>出来高
</tr>
●希望する結果
<td class="XXX">(?<year>\d{4})/(?<month>\d?\d)/(?<day>\d?\d)</td>
または<td>(?<open>[0-9,.]+)</td>単独だと一致するが日付と株価を全部つなげると駄目なので一致するようにしたい
御教示よろしくお願いします
C#
●検索か置換か?
検索
●説明
表のデータを名前付きでキャプチャしたい(year,month,day;open;high;low;close;volume)
日付 <td class="XXX">(?<year>\d{4})/(?<month>\d?\d)/(?<day>\d?\d)</td>
株価 <td>(?<open>[0-9,.]+)</td>\r\n
<td>(?<high>[0-9,.]+)</td>\r\n
<td>(?<low>[0-9,.]+)</td>\r\n
<td>(?<close>[0-9,.]+)</td>\r\n
<td>.*</td>\r\n<td>(?<volume>[0-9,.]+)</td>
●対象データ
<tr>
<td class="XXX">2021/04/02</td> 日付
<td class="YYY">8,510.0</td >始値
<td class="YYY">8,595.0</td> 高値
<td class="YYY">8,432.0</td> 安値
<td class="YYY">8,462.0</td> 終値
<td class="YYY">8,462.0</td> 調整後終値
<td class="YYY">4,337,300</td>出来高
</tr>
●希望する結果
<td class="XXX">(?<year>\d{4})/(?<month>\d?\d)/(?<day>\d?\d)</td>
または<td>(?<open>[0-9,.]+)</td>単独だと一致するが日付と株価を全部つなげると駄目なので一致するようにしたい
御教示よろしくお願いします
660デフォルトの名無しさん
2021/04/18(日) 13:04:59.48ID:8BgTcnje 構造があるものは、正規表現では難しい。
スクレイピングは、Ruby で、nokogiri なら、
require 'nokogiri'
doc = Nokogiri::HTML(<<EOT)
<tr>
<td class="XXX">2021/04/02</td> 日付
<td class="YYY">8,510.0</td >始値
<td class="YYY">8,595.0</td> 高値
<td class="YYY">8,432.0</td> 安値
<td class="YYY">8,462.0</td> 終値
<td class="YYY">8,462.0</td> 調整後終値
<td class="YYY">4,337,300</td>出来高
</tr>
EOT
element = doc.at_css( 'tr > td.XXX' )
puts element.content
#=> 2021/04/02
elements = doc.css( 'tr > td.YYY' )
puts elements.map( &:content ).join( " : " )
#=> 8,510.0 : 8,595.0 : 8,432.0 : 8,462.0 : 8,462.0 : 4,337,300
スクレイピングは、Ruby で、nokogiri なら、
require 'nokogiri'
doc = Nokogiri::HTML(<<EOT)
<tr>
<td class="XXX">2021/04/02</td> 日付
<td class="YYY">8,510.0</td >始値
<td class="YYY">8,595.0</td> 高値
<td class="YYY">8,432.0</td> 安値
<td class="YYY">8,462.0</td> 終値
<td class="YYY">8,462.0</td> 調整後終値
<td class="YYY">4,337,300</td>出来高
</tr>
EOT
element = doc.at_css( 'tr > td.XXX' )
puts element.content
#=> 2021/04/02
elements = doc.css( 'tr > td.YYY' )
puts elements.map( &:content ).join( " : " )
#=> 8,510.0 : 8,595.0 : 8,432.0 : 8,462.0 : 8,462.0 : 4,337,300
661デフォルトの名無しさん
2021/04/18(日) 16:50:35.98ID:GrVz/jbm >660
回答有難うございます テストツールではじかれるのそういうことなんですか
perlでならCSSセレクタ使って取れるんですが遅くてRubyでも同じでしょうね
回答有難うございます テストツールではじかれるのそういうことなんですか
perlでならCSSセレクタ使って取れるんですが遅くてRubyでも同じでしょうね
662デフォルトの名無しさん
2021/04/18(日) 19:18:36.24ID:3ca8v7Vr >>659
対象データの各行の後ろに実際には日本語はないってことでいいんだよね?
対象データの各行の後ろに実際には日本語はないってことでいいんだよね?
663デフォルトの名無しさん
2021/04/18(日) 19:29:32.94ID:3ca8v7Vr 日付の正規表現省略</td>
<td class="YYY">(?<open>[0-9,.]+)</td>\s+<td class="YYY">(?<high>[0-9,.]+)</td>\s+以降の正規表現省略
C#(実質.NET?)の正規表現は詳しくないし試してないけど、
一般的なPerl5系列の正規表現なら\sのマッチ対象(ホワイトスペース)に
\rや\nも内包されてるので、
\s+で改行と<tdの前のスペースインデントに対応できると思う
<td class="YYY">(?<open>[0-9,.]+)</td>\s+<td class="YYY">(?<high>[0-9,.]+)</td>\s+以降の正規表現省略
C#(実質.NET?)の正規表現は詳しくないし試してないけど、
一般的なPerl5系列の正規表現なら\sのマッチ対象(ホワイトスペース)に
\rや\nも内包されてるので、
\s+で改行と<tdの前のスペースインデントに対応できると思う
664663
2021/04/18(日) 19:31:55.31ID:3ca8v7Vr >>663訂正
日付の正規表現省略</td>\s+<td class="YYY">(?<open>[0-9,.]+)</td>\s+<td class="YYY">(?<high>[0-9,.]+)</td>\s+以降の正規表現省略
日付の正規表現省略</td>\s+<td class="YYY">(?<open>[0-9,.]+)</td>\s+<td class="YYY">(?<high>[0-9,.]+)</td>\s+以降の正規表現省略
665デフォルトの名無しさん
2021/04/18(日) 19:33:30.21ID:KOpB5ISv 空白とか考慮してねんじゃねーの
提示されてるデータ見ても</td >始値だけ違ってるし
改行の扱いで転けてる可能性も
提示されてるデータ見ても</td >始値だけ違ってるし
改行の扱いで転けてる可能性も
666デフォルトの名無しさん
2021/04/18(日) 20:10:08.07ID:GrVz/jbm 対象データの後ろの日本語は注記で実際にはありません
667デフォルトの名無しさん
2021/04/18(日) 20:17:06.51ID:GrVz/jbm >663,664
有難うございました \s+ でつなげて上手くゆきました
有難うございました \s+ でつなげて上手くゆきました
668デフォルトの名無しさん
2021/04/18(日) 20:42:16.44ID:P53jdUzk Rubyくん=糖質w
669デフォルトの名無しさん
2021/04/23(金) 13:32:17.18ID:wRSxYRWl Pythonで以下の条件に当てはまる正規表現はどうしたら実現できるでしょうか。
半角英数字(大文字小文字)255文字までとハイフンのみOK
--の連続は不可。行末がハイフンで終わるのも不可
ここまではできてるんですが、どなたか知恵を頂きたいです。
^[a-zA-Z0-9-]*(?<!-)$
半角英数字(大文字小文字)255文字までとハイフンのみOK
--の連続は不可。行末がハイフンで終わるのも不可
ここまではできてるんですが、どなたか知恵を頂きたいです。
^[a-zA-Z0-9-]*(?<!-)$
670デフォルトの名無しさん
2021/04/23(金) 13:46:23.58ID:lAJIVY64 pythonなら正規表現だけで処理しなくても
抜き出した後に--が含まれるのを除くとかどうにでもなるだろ。
抜き出した後に--が含まれるのを除くとかどうにでもなるだろ。
671デフォルトの名無しさん
2021/04/23(金) 13:47:26.10ID:S2TaYi95 ^(?:(?!--)[a-zA-Z0-9-])*(?<!-)$
^(?!.*--)[a-zA-Z0-9-]*(?<!-)$
まあこの2つの書き方を覚えればいいんじゃない?
ただ空行もマッチしちゃうよ
^(?!.*--)[a-zA-Z0-9-]*(?<!-)$
まあこの2つの書き方を覚えればいいんじゃない?
ただ空行もマッチしちゃうよ
672669
2021/04/23(金) 14:25:42.69ID:wRSxYRWl673デフォルトの名無しさん
2021/04/23(金) 16:59:46.76ID:vxdqi9h5 自分で理解できない正規表現とか組み込んで、この先メンテナンスできるんだろうか。
一時的なことならいいが
一時的なことならいいが
674デフォルトの名無しさん
2021/04/23(金) 17:20:20.44ID:S2TaYi95 この程度見れば何してるか理解できるよね
2つは記述は似てるけど考え方が少し違う
2つは記述は似てるけど考え方が少し違う
675デフォルトの名無しさん
2021/04/23(金) 18:40:17.97ID:WE1AtRNI ^(?>-?+[a-z0-9]){0,255}$
676デフォルトの名無しさん
2021/04/23(金) 20:39:56.15ID:EZOqnzXJ 条件が曖昧なので2通り(定時回ってそうだが)
# ハイフン含めて255文字
^([0-9A-Za-z]|-(?!(-|$))){1,255}$
# ハイフンは255文字に含めない
^(-?[0-9A-Za-z]){1,255}$
>>675
試したら"?>"など知らんって言われた
# ハイフン含めて255文字
^([0-9A-Za-z]|-(?!(-|$))){1,255}$
# ハイフンは255文字に含めない
^(-?[0-9A-Za-z]){1,255}$
>>675
試したら"?>"など知らんって言われた
677デフォルトの名無しさん
2021/04/23(金) 21:20:25.48ID:S2TaYi95 ?+も無いみたい
678デフォルトの名無しさん
2021/04/24(土) 01:22:36.39ID:fpQdUE+5 先読み後読みは方言が多いものね
679デフォルトの名無しさん
2021/04/25(日) 23:25:43.60ID:AhiBFSkY 単純に ^(-?[a-zA-Z0-9])[0,255]$ とかで良かったんじゃないかな
680デフォルトの名無しさん
2021/04/25(日) 23:27:08.69ID:AhiBFSkY >>676と重複した。スマン
681669
2021/04/26(月) 16:56:04.35ID:SkU1AL8m みなさんありがとうございます。
こんな正規表現良く書いたねーって先輩のレビュアーに言われて、
詳しく説明してって言われたんですが説明できなかったので、
頂いた数々の秘技を頑張って理解していこうと思います。(定時まで)
こんな正規表現良く書いたねーって先輩のレビュアーに言われて、
詳しく説明してって言われたんですが説明できなかったので、
頂いた数々の秘技を頑張って理解していこうと思います。(定時まで)
682デフォルトの名無しさん
2021/05/07(金) 02:26:32.28ID:FTeVmJ7m 以前使っていた正規表現の質問専用スレが見当たらないからここで聞きたい
javascriptで以下のマッチングを行うとマッチするけど、キャプチャの分が取得されない。
どうしたらいいんだろう
let abc = "/abcd/357/1/";
let regex = /^\/abcd\/(\d+)\/\d+\/$/gi;
let result = abc.match(regex);
console.log(result.length);
この出力が1になる。(\d+)も含めた2になってほしい
javascriptで以下のマッチングを行うとマッチするけど、キャプチャの分が取得されない。
どうしたらいいんだろう
let abc = "/abcd/357/1/";
let regex = /^\/abcd\/(\d+)\/\d+\/$/gi;
let result = abc.match(regex);
console.log(result.length);
この出力が1になる。(\d+)も含めた2になってほしい
683デフォルトの名無しさん
2021/05/07(金) 02:44:53.78ID:O1URPzeE matchAllかwhile regex.exec(string) !== null
684デフォルトの名無しさん
2021/05/07(金) 03:03:26.43ID:FTeVmJ7m685デフォルトの名無しさん
2021/05/18(火) 11:17:29.67ID:XAxheHxj 元データ
1621299591.842348,378,666,111,84
これをサブパターンで以下のように抽出したいです。
1621299591.842348
378
666
111
84
最終的な目的としては、ZabbixでCSV形式ログから値を取りたいです。
いろんなサイトを参考にしてるんですが、簡単そうに見えてこれが実現できる例が見つけられず。
1621299591.842348,378,666,111,84
これをサブパターンで以下のように抽出したいです。
1621299591.842348
378
666
111
84
最終的な目的としては、ZabbixでCSV形式ログから値を取りたいです。
いろんなサイトを参考にしてるんですが、簡単そうに見えてこれが実現できる例が見つけられず。
686デフォルトの名無しさん
2021/05/18(火) 11:25:45.08ID:ZvUkaH8s ([^,]*)
じゃあかん?
じゃあかん?
687デフォルトの名無しさん
2021/05/18(火) 11:27:05.69ID:YmpO7+1q688デフォルトの名無しさん
2021/05/18(火) 12:29:17.50ID:AY6+4ZvQ689685
2021/05/18(火) 13:08:11.81ID:XAxheHxj ありがとうございます。
logrt["/var/log/^.*\.txt$","^([0-9]+).([0-9]+),([0-9]+),([0-9]+),([0-9]+),([0-9]+)$",,,,\3,,]
こんな感じでできました。
ご指摘通り\3のところを\4や\5にしたアイテムを別途作成。
logrt["/var/log/^.*\.txt$","^([0-9]+).([0-9]+),([0-9]+),([0-9]+),([0-9]+),([0-9]+)$",,,,\3,,]
こんな感じでできました。
ご指摘通り\3のところを\4や\5にしたアイテムを別途作成。
690デフォルトの名無しさん
2021/05/18(火) 14:48:27.97ID:AY6+4ZvQ >>689
ログファイルを指定するアイテムは1つにして
それに依存する依存アイテムを5つ作ったほうが処理効率がいいと思う
https://www.zabbix.com/documentation/current/manual/config/items/itemtypes/dependent_items
ログファイルを指定するアイテムは1つにして
それに依存する依存アイテムを5つ作ったほうが処理効率がいいと思う
https://www.zabbix.com/documentation/current/manual/config/items/itemtypes/dependent_items
692デフォルトの名無しさん
2021/05/20(木) 17:15:23.25ID:Bfk5GZud こんにちは
質問です
●Regular Expressionの使用環境
普通のテキストファイル
いま Sublime text を使ってますが無料のエディタなら何でも使います
●検索か置換か?
置換
●説明
各パラグラフの1行目を2行目以下の全ての行に加えたい
1行目はパラグラフごとに異なり、2行目以下はすべて異なる
●対象データ
/system/app
AntHalService
AutoRegistration
BasicDreams
/system/priv-app
AutoKillService
BackupRestoreConfirmation
●希望する結果
AntHalService^=/system/app/AntHalService
AutoRegistration^=/system/app/AutoRegistration
BasicDreams^=/system/app/BasicDreams
AutoKillService^=/system/priv-app/AutoKillService
BackupRestoreConfirmation^=/system/priv-app/BackupRestoreConfirmation
よろしくお願いします
質問です
●Regular Expressionの使用環境
普通のテキストファイル
いま Sublime text を使ってますが無料のエディタなら何でも使います
●検索か置換か?
置換
●説明
各パラグラフの1行目を2行目以下の全ての行に加えたい
1行目はパラグラフごとに異なり、2行目以下はすべて異なる
●対象データ
/system/app
AntHalService
AutoRegistration
BasicDreams
/system/priv-app
AutoKillService
BackupRestoreConfirmation
●希望する結果
AntHalService^=/system/app/AntHalService
AutoRegistration^=/system/app/AutoRegistration
BasicDreams^=/system/app/BasicDreams
AutoKillService^=/system/priv-app/AutoKillService
BackupRestoreConfirmation^=/system/priv-app/BackupRestoreConfirmation
よろしくお願いします
693デフォルトの名無しさん
2021/05/20(木) 17:34:20.04ID:HTt3W2mn 正規表現だけで可能なのか?
適当なスクリプト使った方が手っ取り早いような。
適当なスクリプト使った方が手っ取り早いような。
694デフォルトの名無しさん
2021/05/20(木) 17:50:54.95ID:yRtliBGo まずパラグラフをどう判断するかの条件も書かれてないしね
書かれてる2項目だけでいいならできるけど、
望むことはパラグラフの1行目の自動取得だろうし
書かれてる2項目だけでいいならできるけど、
望むことはパラグラフの1行目の自動取得だろうし
695デフォルトの名無しさん
2021/05/20(木) 17:55:02.71ID:HTt3W2mn696デフォルトの名無しさん
2021/05/20(木) 18:33:52.42ID:+Y6kAz1b 各段落1行目の前が空行でそれ以外に空行は無い とか
1行目行頭だけが"/"で他の行頭には"/"は無い とか
1行目だけが保ち得る条件が必要なのと
各段落の行数が同じで無いとキャプチャは出来ても置換で参照使えなくね?
・1行目の一意な条件
・段落の行数が一定
このふたつの条件満たさないと正規表現だけでは無理じゃね?
1行目行頭だけが"/"で他の行頭には"/"は無い とか
1行目だけが保ち得る条件が必要なのと
各段落の行数が同じで無いとキャプチャは出来ても置換で参照使えなくね?
・1行目の一意な条件
・段落の行数が一定
このふたつの条件満たさないと正規表現だけでは無理じゃね?
697デフォルトの名無しさん
2021/05/20(木) 18:58:29.37ID:+Y6kAz1b 段落の最大行数に合わせて置換式書いておいて置換後
2度目に 行頭が "^=" の行を削除 なら行数不定でも出来るだろうけど
美しくないしスクリプトの方が適してると思う
2度目に 行頭が "^=" の行を削除 なら行数不定でも出来るだろうけど
美しくないしスクリプトの方が適してると思う
698デフォルトの名無しさん
2021/05/20(木) 19:09:27.78ID:IKwP0pwO699692
2021/05/20(木) 19:35:18.66ID:Bfk5GZud みなさんありがとうございます
>>698
https://regex101.com/r/DcrdT0/1 のようにしても Sublime ではマッチしないんですが
おすすめのエディタはありますでしょうか?
また、
> エディタ代わりにこのページを使うならUpdate Regexは絶対にするなよ
なぜでしょうか?
>>698
https://regex101.com/r/DcrdT0/1 のようにしても Sublime ではマッチしないんですが
おすすめのエディタはありますでしょうか?
また、
> エディタ代わりにこのページを使うならUpdate Regexは絶対にするなよ
なぜでしょうか?
700デフォルトの名無しさん
2021/05/20(木) 20:05:29.92ID:w4VGBl/7701デフォルトの名無しさん
2021/06/24(木) 21:40:32.01ID:9+/dPFw/ ●Regular Expressionの使用環境
サクラエディタ
●検索か置換か?
検索(正規表現で色を付けるため)
●説明
各行の最後に現れる:の直後から行末までを一致させたい
●対象データ
intval:i:1
strval:s:0,1,563,11,1913,1033
●希望する結果
1
0,1,563,11,1913,1033
よろしくお願いします
サクラエディタ
●検索か置換か?
検索(正規表現で色を付けるため)
●説明
各行の最後に現れる:の直後から行末までを一致させたい
●対象データ
intval:i:1
strval:s:0,1,563,11,1913,1033
●希望する結果
1
0,1,563,11,1913,1033
よろしくお願いします
702デフォルトの名無しさん
2021/06/24(木) 22:02:05.04ID:oCTUQBV1 :と改行以外が行末まで続くんだろ
:([^:\n]*)$
お願いしないといけないようなところあるか?
どーせ:はハイライトしたくないとかだろうけど
肯定戻り読み(?<=regex)使うだけだよな
(?<=:)([^:\n]*)$
これお願いしないといけないようなところあるのか?
:([^:\n]*)$
お願いしないといけないようなところあるか?
どーせ:はハイライトしたくないとかだろうけど
肯定戻り読み(?<=regex)使うだけだよな
(?<=:)([^:\n]*)$
これお願いしないといけないようなところあるのか?
704デフォルトの名無しさん
2021/06/26(土) 22:47:52.84ID:jTUBzdfm ●Regular Expressionの使用環境
Powershell
●検索か置換か?
置換
●説明
フォルダにつけている日付のフォーマットを変えたい
作業範囲はカレントフォルダだけで良いです #下階層には行かない
●対象データ
[2020.12.20] AA案件 [作業者A]
[2021.04.02] DD案件 [作業者BB]
[2021.06.15] GGGGG案件 [作業者D]
[2021.07.07] BBB案件 [作業者A]
●希望する結果
[201220] AA案件 [作業者A]
[210402] DD案件 [作業者BB]
[210615] GGGGG案件 [作業者D]
[210707] BBB案件 [作業者A]
よろしくお願いします。
Powershell
●検索か置換か?
置換
●説明
フォルダにつけている日付のフォーマットを変えたい
作業範囲はカレントフォルダだけで良いです #下階層には行かない
●対象データ
[2020.12.20] AA案件 [作業者A]
[2021.04.02] DD案件 [作業者BB]
[2021.06.15] GGGGG案件 [作業者D]
[2021.07.07] BBB案件 [作業者A]
●希望する結果
[201220] AA案件 [作業者A]
[210402] DD案件 [作業者BB]
[210615] GGGGG案件 [作業者D]
[210707] BBB案件 [作業者A]
よろしくお願いします。
705デフォルトの名無しさん
2021/06/27(日) 00:07:19.19ID:9wAo5BpJ ほぼそのままだろ
www.atmarkit.co.jp/ait/articles/1411/07/news133.html
www.atmarkit.co.jp/ait/articles/1411/07/news133.html
706デフォルトの名無しさん
2021/06/28(月) 18:13:23.38ID:V/YMeLZd pythonです
.foo.xxx_var
.foo.foo.yyy_var
この二種類の形式の文字列があるとき
xxxとyyyだけほしいんですがどう書いたらいいですか?
.foo.xxx_var
.foo.foo.yyy_var
この二種類の形式の文字列があるとき
xxxとyyyだけほしいんですがどう書いたらいいですか?
707デフォルトの名無しさん
2021/06/28(月) 18:14:54.33ID:V/YMeLZd xxxとyyyの部分は可変長の英数記号です
708デフォルトの名無しさん
2021/06/28(月) 18:34:58.46ID:LBPB01By def getxy(s):
return s[s.rfind('.')+1:s.rfind('_')]
a=getxy('.foo.xxx_var')
return s[s.rfind('.')+1:s.rfind('_')]
a=getxy('.foo.xxx_var')
709デフォルトの名無しさん
2021/06/28(月) 18:39:07.90ID:JVYonSFO ('.')
('_')
顔文字みたいで可愛くてワロタ
('_')
顔文字みたいで可愛くてワロタ
710デフォルトの名無しさん
2021/06/28(月) 19:17:22.90ID:V/YMeLZd >>708
rfind知りませんでした。ありがとう
不格好だけど
findall("(.+\.)?(.+)_var")[0][1]
でも取れました。正規表現てどんな順番で書いていけばいいのかわからん…
rfind知りませんでした。ありがとう
不格好だけど
findall("(.+\.)?(.+)_var")[0][1]
でも取れました。正規表現てどんな順番で書いていけばいいのかわからん…
711デフォルトの名無しさん
2021/06/28(月) 20:24:42.57ID:dny5MV4o s='.foo.xxx_var'
re.search('([^.]*)_',s).group(1)
re.search('([^.]*)_',s).group(1)
712デフォルトの名無しさん
2021/06/28(月) 20:50:58.81ID:quG4wdoj Ruby で作ってみた
# 最後のドットと、_ の間の文字列を抜き出す。該当なしなら、nil を返す
def slice_string( input_str )
pos_1 = input_str.rindex( "." ) # 文字列の末尾から探す
return nil unless pos_1
pos_2 = input_str.index( "_", pos_1 + 1 ) # ドットの次の文字から探す
return nil unless pos_2
return input_str.slice( pos_1 + 1 ... pos_2 )
end
input_ary = %w(.foo.xxx_var .foo.foo.yyy_var .zz zz)
p input_ary.map{ |str| slice_string( str ) }
#=> [ "xxx", "yyy", nil, nil ]
# 最後のドットと、_ の間の文字列を抜き出す。該当なしなら、nil を返す
def slice_string( input_str )
pos_1 = input_str.rindex( "." ) # 文字列の末尾から探す
return nil unless pos_1
pos_2 = input_str.index( "_", pos_1 + 1 ) # ドットの次の文字から探す
return nil unless pos_2
return input_str.slice( pos_1 + 1 ... pos_2 )
end
input_ary = %w(.foo.xxx_var .foo.foo.yyy_var .zz zz)
p input_ary.map{ |str| slice_string( str ) }
#=> [ "xxx", "yyy", nil, nil ]
713デフォルトの名無しさん
2021/06/28(月) 21:04:09.77ID:3eYqyq98 >>712
このキチガイどこにでも湧くのなw
このキチガイどこにでも湧くのなw
714デフォルトの名無しさん
2021/06/28(月) 21:44:37.04ID:24AqjAIP 各言語でそれぞれ書き込む事態にでもならなきゃ自分の行いがいかにウザイかを実感できない人なんだろう
まったくの場違いだと言うのにそれに気づかないもんな
まったくの場違いだと言うのにそれに気づかないもんな
715デフォルトの名無しさん
2021/06/28(月) 21:48:35.68ID:LpQ5PmfN >>713-714
なんでお前ら相手するんだ?
なんでお前ら相手するんだ?
716デフォルトの名無しさん
2021/06/29(火) 00:51:17.13ID:f7Gcy3Ty jien
717デフォルトの名無しさん
2021/06/29(火) 13:25:19.76ID:hNYNhvVW 先頭以外の A をすべて S に置換
って一般解としてどう書くの?
AAAEAA を ASSESS にしたいとか
って一般解としてどう書くの?
AAAEAA を ASSESS にしたいとか
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… [BFU★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 「すごいアイドル出てきた」「かわいすぎる」ラヴィット初登場の美女に視聴者驚き ≠ME櫻井もも [ヴァイヴァー★]
- バービー、 台湾有事の発言の波紋で「たまったもんじゃない」「高市さんに真意は聞きたい」「国民に向けて説明してほしい」 [muffin★]
- 中国高官と話す外務省局長の表情、やばい [175344491]
- 日本政府「高市総理の発言は問題ないと伝え、中国総領事のSNS投稿は問題があると中国に伝えました😊」 [931948549]
- 【高市速報】小野田キミ「中国依存はリスク」断交を示唆か [931948549]
- 【んな専🏡】なんG 姫森ルーナ(・o・🍬)総合スレ🏰【ホロライブ▶】
- 【悲報】高市早苗周辺「支持層が離れるので今更発言を撤回できない」 [935793931]
- 高市早苗、岸田政権(当時)に「台湾有事は日本の有事か」という質問をしていた [175344491]
