Regular Expressionスレです。
質問する場合は必ず実装言語や処理系ソフトウェア名を示してください。
前スレ
Regular Expression(正規表現) Part14
https://mevius.5ch.net/test/read.cgi/tech/1489511075/
次スレは>>980宜しく
天ぷら等>>2以降
探検
Regular Expression(正規表現) Part15
レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん
2019/09/16(月) 22:25:11.87ID:enU8we0d817デフォルトの名無しさん
2021/08/27(金) 16:56:56.42ID:mGcBpOgN じゃあ
(aa●abbbcccd□ddeee|aa□abbbcccd●ddeee)
(aa●abbbcccd□ddeee|aa□abbbcccd●ddeee)
818デフォルトの名無しさん
2021/08/27(金) 17:06:33.96ID:kYh+qXrW819デフォルトの名無しさん
2021/08/27(金) 17:09:48.92ID:56S9Iaf9 全体をマッチ対象にしたいの?
820デフォルトの名無しさん
2021/08/27(金) 17:45:24.98ID:ldxLRyEW >>816
aa([●□])abbbcccd(?!\1)[●□]ddeee
aa([●□])abbbcccd(?!\1)[●□]ddeee
821デフォルトの名無しさん
2021/08/27(金) 19:46:53.21ID:FthY+dex EmEditorはしらないなー
(?m:(.*●.*□.*)|(.*□.*●.*))
(?m:(.*●.*□.*)|(.*□.*●.*))
822デフォルトの名無しさん
2021/08/28(土) 05:34:33.30ID:Z+kCS9um .+?([●□]).+(?!\1)[●□].+
823デフォルトの名無しさん
2021/08/28(土) 08:18:57.05ID:3w95mdWV >>818
そのダイアログはCtrl+Cでテキストコピーできると思うからググりやすいように
コピペしてほしいな
あとEmEditorはBoost.RegexとOnigmo(鬼雲)を使い分けられるから、
オプションでどっち使ってるのかも教えて
https://jp.emeditor.com/text-editor-features/history/new-in-version-15-7/
そのダイアログはCtrl+Cでテキストコピーできると思うからググりやすいように
コピペしてほしいな
あとEmEditorはBoost.RegexとOnigmo(鬼雲)を使い分けられるから、
オプションでどっち使ってるのかも教えて
https://jp.emeditor.com/text-editor-features/history/new-in-version-15-7/
824デフォルトの名無しさん
2021/08/28(土) 10:30:00.05ID:2Y0XlSPP >>823
---------------------------
EmEditor
---------------------------
The complexity of matching the regular expression exceeded predefined bounds. Try refactoring the regular expression to make each choice made by the state machine unambiguous. This exception is thrown to prevent "eternal" matches that take an indefinite period time to locate.
---------------------------
OK
---------------------------
例示してもらった表現いずれも同様のメッセージが出てましたが、なんとOnigmoに変更したら出なくなりました。
いろいろ新しく知ることが出来ました
---------------------------
EmEditor
---------------------------
The complexity of matching the regular expression exceeded predefined bounds. Try refactoring the regular expression to make each choice made by the state machine unambiguous. This exception is thrown to prevent "eternal" matches that take an indefinite period time to locate.
---------------------------
OK
---------------------------
例示してもらった表現いずれも同様のメッセージが出てましたが、なんとOnigmoに変更したら出なくなりました。
いろいろ新しく知ることが出来ました
825デフォルトの名無しさん
2021/08/28(土) 10:38:46.36ID:gjZsNEUJ (?!\1)ってどういう意味?
826デフォルトの名無しさん
2021/08/28(土) 11:02:34.45ID:o77XzsS5 >>825
「直前に"一つ目のパターン"がない位置」を指すメタ表現
「直前に"一つ目のパターン"がない位置」を指すメタ表現
827デフォルトの名無しさん
2021/08/28(土) 11:25:40.94ID:m2ZH6alf 日本語的には"直後に"じゃね?
読んで行く方向、カーソルの前方だとしても直前だと意味が逆転しそう
読んで行く方向、カーソルの前方だとしても直前だと意味が逆転しそう
828デフォルトの名無しさん
2021/08/28(土) 13:02:42.57ID:rTzGvJSm829デフォルトの名無しさん
2021/08/28(土) 13:33:13.98ID:gjZsNEUJ ありがとう完全に理解した
\1 は ([●□]) のことを指してて
(?!\1)[●□] で前の ([●□]) で選んだものと被らないようにしてるわけか
\1 は ([●□]) のことを指してて
(?!\1)[●□] で前の ([●□]) で選んだものと被らないようにしてるわけか
830デフォルトの名無しさん
2021/08/28(土) 15:08:17.46ID:F14AY+cI >>828
(?!\1) は「1つめの括弧で一致した内容はこの位置(の直後)には現れない」という言明
([●□]) が ● に一致したなら (?!\1) は (?!●)
([●□]) が □ に一致したなら (?!\1) は (?!□)
なので最初の [●□] と二つめの [●□] では必ず互いに異なる文字が一致する、という具合
(?!\1) は「1つめの括弧で一致した内容はこの位置(の直後)には現れない」という言明
([●□]) が ● に一致したなら (?!\1) は (?!●)
([●□]) が □ に一致したなら (?!\1) は (?!□)
なので最初の [●□] と二つめの [●□] では必ず互いに異なる文字が一致する、という具合
831デフォルトの名無しさん
2021/08/28(土) 15:43:56.56ID:rTzGvJSm >>830
ああなるほどありがとう!
ああなるほどありがとう!
832デフォルトの名無しさん
2021/09/03(金) 00:14:54.74ID:X1LFwexk ●Regular Expressionの使用環境
さくらエディタ
●検索か置換か?
検索
●説明
ある文字列を含まない形で最短一致させたい
●対象データ
「吾輩は猫」「吾輩は三毛猫」「吾輩は犬」「吾輩は犬」
という1行の文書です。
●希望する結果
「吾輩は猫」「吾輩は三毛猫」「吾輩は犬」「吾輩は犬」
^^^^^^^^^
「.*【猫を含まない】」
というような正規表現で、上記のように、
猫を含まない最初の「」に最短一致でマッチする結果を得たいのです。
どなたかお詳しい方、ご教示くださいませ
さくらエディタ
●検索か置換か?
検索
●説明
ある文字列を含まない形で最短一致させたい
●対象データ
「吾輩は猫」「吾輩は三毛猫」「吾輩は犬」「吾輩は犬」
という1行の文書です。
●希望する結果
「吾輩は猫」「吾輩は三毛猫」「吾輩は犬」「吾輩は犬」
^^^^^^^^^
「.*【猫を含まない】」
というような正規表現で、上記のように、
猫を含まない最初の「」に最短一致でマッチする結果を得たいのです。
どなたかお詳しい方、ご教示くださいませ
833デフォルトの名無しさん
2021/09/03(金) 00:17:33.53ID:X1LFwexk 連投すみません。
^^^^^^
がズレました。
「吾輩は猫」「吾輩は三毛猫」「吾輩は犬」「吾輩は犬」
のうち、3つ目のカギ括弧、
つまり、1つめの「吾輩は犬」にマッチする正規表現を探しております。
^^^^^^
がズレました。
「吾輩は猫」「吾輩は三毛猫」「吾輩は犬」「吾輩は犬」
のうち、3つ目のカギ括弧、
つまり、1つめの「吾輩は犬」にマッチする正規表現を探しております。
834デフォルトの名無しさん
2021/09/03(金) 00:36:24.12ID:OHAz9Fu/ 「[^猫]*?」
835デフォルトの名無しさん
2021/09/03(金) 02:33:55.38ID:X1LFwexk >>834
すいません><
例題を単純化しすぎました。
せっかくご回答いただいたのに申し訳ないです。
「吾輩はネコである」「吾輩はミケネコである」「吾輩は「ネコ」である」「吾輩はイヌである」
というように、排除したい文字列(ネコ)は複数文字なんです。さらに、カギ括弧が二重の可能性があります。
カギ括弧内にネコを含まないものなら、イヌ以外でもなにがマッチしても問題ありません。
左から見て内部に「ネコ」を含むカギ括弧を排除していき、最初にネコを含まないカギ括弧にマッチさせたいのです。
すいません><
例題を単純化しすぎました。
せっかくご回答いただいたのに申し訳ないです。
「吾輩はネコである」「吾輩はミケネコである」「吾輩は「ネコ」である」「吾輩はイヌである」
というように、排除したい文字列(ネコ)は複数文字なんです。さらに、カギ括弧が二重の可能性があります。
カギ括弧内にネコを含まないものなら、イヌ以外でもなにがマッチしても問題ありません。
左から見て内部に「ネコ」を含むカギ括弧を排除していき、最初にネコを含まないカギ括弧にマッチさせたいのです。
836デフォルトの名無しさん
2021/09/03(金) 02:34:57.11ID:1+MNr6V9 ^.*?\K「(?~猫|」)」
^.*?\K「[^猫」]*+」
^.*?\K「[^猫」]*+」
837デフォルトの名無しさん
2021/09/03(金) 02:39:58.48ID:1+MNr6V9 ^.*?\K「(?~ネコ|」)」
838デフォルトの名無しさん
2021/09/03(金) 02:56:17.42ID:X1LFwexk839デフォルトの名無しさん
2021/09/03(金) 03:09:51.13ID:X1LFwexk 「(?~ネコ|」)の、?~は、「不在繰り返し」というのですね。
ということは、「(?~ネコ|」)は、
「の後に、【ネコ】の不在繰り返し 又は 」がくるもの、という意味ですね。
不在繰り返しなんて便利な表現があったとは…
ご親切にありがとうございます。
ということは、「(?~ネコ|」)は、
「の後に、【ネコ】の不在繰り返し 又は 」がくるもの、という意味ですね。
不在繰り返しなんて便利な表現があったとは…
ご親切にありがとうございます。
840デフォルトの名無しさん
2021/09/04(土) 02:41:25.14ID:ExeocnPJ > ?~は、「不在繰り返し」というのですね
違う。?~ だけでは意味を成さない
(?~式) 「非包含オペレータ」 "式" を含まない文字列に一致する
式にあたる部分は "ネコ|」" なので "ネコ" と "」" を含まない文字列に一致
違う。?~ だけでは意味を成さない
(?~式) 「非包含オペレータ」 "式" を含まない文字列に一致する
式にあたる部分は "ネコ|」" なので "ネコ" と "」" を含まない文字列に一致
841デフォルトの名無しさん
2021/09/04(土) 10:50:54.40ID:vsW0UBqv 非包含オペレータと不在繰り返しは紛らわしいな
(?~ネコ)がネコのネにマッチするかしないか
(?~ネコ)がネコのネにマッチするかしないか
842デフォルトの名無しさん
2021/09/04(土) 11:49:17.86ID:KRHaMmez 「吾輩はネコである」
「(?~ネコ)」 不一致
「(?~ネコ)(?~ネコ)」 一致
「(?~(?=ネコ))(?~ネコ)」 不一致
「(?~(?=ネコ))(?~(?<=ネコ))」
「ネコ」 不一致
「吾輩はネコ」 一致
「吾輩はネコである」 不一致
「(?~(?=ネコ).)(?~.(?<=ネコ))」
「ネコ」 不一致
「吾輩はネコ」 不一致
「吾輩はネコである」 不一致
「(?~ネコ)」 不一致
「(?~ネコ)(?~ネコ)」 一致
「(?~(?=ネコ))(?~ネコ)」 不一致
「(?~(?=ネコ))(?~(?<=ネコ))」
「ネコ」 不一致
「吾輩はネコ」 一致
「吾輩はネコである」 不一致
「(?~(?=ネコ).)(?~.(?<=ネコ))」
「ネコ」 不一致
「吾輩はネコ」 不一致
「吾輩はネコである」 不一致
843デフォルトの名無しさん
2021/09/04(土) 15:57:28.08ID:e0R2hmQ/ この不在繰り返しを、Python3.6のreモジュールで書く方法はありますか?
844デフォルトの名無しさん
2021/09/08(水) 12:26:11.39ID:R6BptgGx むずすぎて全然分からん
まぁPythonで使えんみたいやしいいか
まぁPythonで使えんみたいやしいいか
845デフォルトの名無しさん
2021/09/08(水) 14:14:17.23ID:QqH5BAVe 文字列の否定は否定先読みで
re.findall("「(?:(?!ネコ).)*」", string)
re.findall("「(?:(?!ネコ).)*」", string)
846デフォルトの名無しさん
2021/09/08(水) 15:37:03.14ID:bwkSQigi (?~abc) "abc"に一致しない文字列に一致。"abc"の"a","ab","bc","c"に一致する
(?:(?!abc).)* "abc"の"a"に一致しない文字列
(?:.(?<!abc))* "abc"の"c"に一致しない文字列
abc に対し
(?~abc)c 一致
(?:(?!abc).)*c 不一致
(?:.(?<!abc))*c 一致
(?:(?!abc).)* "abc"の"a"に一致しない文字列
(?:.(?<!abc))* "abc"の"c"に一致しない文字列
abc に対し
(?~abc)c 一致
(?:(?!abc).)*c 不一致
(?:.(?<!abc))*c 一致
847デフォルトの名無しさん
2021/09/15(水) 04:13:47.03ID:2Sm06Jhf (?~式) 非包含式
(?~) 非包含オペレータ(演算子) (被演算子は~と)の間に内挿される)
/* 田中さんの元論文がこの使い分けを間違ってるわけだが */
概念を語る場合は、繰り返しや文字クラスや選択のように、単に「非包含」と呼ぶ
(?~) 非包含オペレータ(演算子) (被演算子は~と)の間に内挿される)
/* 田中さんの元論文がこの使い分けを間違ってるわけだが */
概念を語る場合は、繰り返しや文字クラスや選択のように、単に「非包含」と呼ぶ
848デフォルトの名無しさん
2021/09/17(金) 16:17:14.17ID:J/w/zJeW 自己肯定感の低い人が仕事できない本当の理由
https://www.youtube.com/watch?v=BZyX8g1XuXI
【致命的】個人で稼ぐのに向いていない人の特徴7選
https://www.youtube.com/watch?v=PqqCiMMHMy4
自己肯定感の低い人にオススメの副業5選
https://www.youtube.com/watch?v=n2uiQcMmOAg
【質問力】雑魚と思われてしまうダメな質問の仕方5選
https://www.youtube.com/watch?v=eQceW_AcJjM
集団の中で落ちこぼれ組がやりがちなこと
https://www.youtube.com/watch?v=6cuCPaRvAv0
【人気者の基準】有名にならないと言われない暴言3選
https://www.youtube.com/watch?v=YhK7zgvRha0
【本質】みんながフリーランスになれない本当の理由
https://www.youtube.com/watch?v=vA4hTswPgEg
https://www.youtube.com/watch?v=BZyX8g1XuXI
【致命的】個人で稼ぐのに向いていない人の特徴7選
https://www.youtube.com/watch?v=PqqCiMMHMy4
自己肯定感の低い人にオススメの副業5選
https://www.youtube.com/watch?v=n2uiQcMmOAg
【質問力】雑魚と思われてしまうダメな質問の仕方5選
https://www.youtube.com/watch?v=eQceW_AcJjM
集団の中で落ちこぼれ組がやりがちなこと
https://www.youtube.com/watch?v=6cuCPaRvAv0
【人気者の基準】有名にならないと言われない暴言3選
https://www.youtube.com/watch?v=YhK7zgvRha0
【本質】みんながフリーランスになれない本当の理由
https://www.youtube.com/watch?v=vA4hTswPgEg
849デフォルトの名無しさん
2021/09/27(月) 17:11:29.79ID:yz6wzePk 下記のソフトで書庫ファイルをリネームしたいのですが、正規表現が必須のようです。
どうかご教示をお願いできませんでしょうか。
https://www.vector.co.jp/soft/winnt/util/se481411.html
【書庫内のファイルの先頭に、親フォルダ名を追加したい】
例: ○X△.zip 内の 00.jpg~99.jpg を ○X△.zip.00jpg~○X△.zip.99.jpg にしたい
どうかご教示をお願いできませんでしょうか。
https://www.vector.co.jp/soft/winnt/util/se481411.html
【書庫内のファイルの先頭に、親フォルダ名を追加したい】
例: ○X△.zip 内の 00.jpg~99.jpg を ○X△.zip.00jpg~○X△.zip.99.jpg にしたい
850849
2021/09/27(月) 18:00:06.98ID:yz6wzePk 訂正させて下さい。
親フォルダ名じゃなく親ファイル名でした。
下記のソフトで書庫ファイルをリネームしたいのですが、正規表現が必須のようです。
どうかご教示をお願いできませんでしょうか。
https://www.vector.co.jp/soft/winnt/util/se481411.html
【書庫内のファイルの先頭に親ファイル名を追加したい】
例: ○X△.zip 内の 00.jpg~99.jpg を ○X△.zip.00jpg~○X△.zip.99.jpg にしたい
親フォルダ名じゃなく親ファイル名でした。
下記のソフトで書庫ファイルをリネームしたいのですが、正規表現が必須のようです。
どうかご教示をお願いできませんでしょうか。
https://www.vector.co.jp/soft/winnt/util/se481411.html
【書庫内のファイルの先頭に親ファイル名を追加したい】
例: ○X△.zip 内の 00.jpg~99.jpg を ○X△.zip.00jpg~○X△.zip.99.jpg にしたい
851デフォルトの名無しさん
2021/09/27(月) 18:20:46.41ID:QHV+6MAZ そのソフトの機能とあなたがしたい事が正確にはわからんが、
正規表現で自動でディレクトリ名は入らんよ。
それをやりたかったら普通はプログラミングの領域。
単に先頭に指定文字列を入れたいなら
検索:^
置換:○X△.zip
正規表現で自動でディレクトリ名は入らんよ。
それをやりたかったら普通はプログラミングの領域。
単に先頭に指定文字列を入れたいなら
検索:^
置換:○X△.zip
852デフォルトの名無しさん
2021/09/27(月) 18:36:25.58ID:W1wq+c4c >>849
^:○X△.zip
アーカイブ名を参照するメタ文字が用意されていれば別だけど、一般的には都度指定するしかない
もし処理対象アーカイブが一定数以上あったり、定期的に一定数以上のアーカイブに対して同処理が必要になることが予想される場合、自分なら、1) 作業フォルダに解凍、2) リネーム、3) 再圧縮、4) 元アーカイブに上書きコピー、5) 後片付け、を指定フォルダ以下のアーカイブに対して実行するバッチファイルを書いて、それを実行すると思う(7z)
^:○X△.zip
アーカイブ名を参照するメタ文字が用意されていれば別だけど、一般的には都度指定するしかない
もし処理対象アーカイブが一定数以上あったり、定期的に一定数以上のアーカイブに対して同処理が必要になることが予想される場合、自分なら、1) 作業フォルダに解凍、2) リネーム、3) 再圧縮、4) 元アーカイブに上書きコピー、5) 後片付け、を指定フォルダ以下のアーカイブに対して実行するバッチファイルを書いて、それを実行すると思う(7z)
853デフォルトの名無しさん
2021/09/27(月) 19:31:31.78ID:wTAYfgov >>850
親ファイル(zipファイルのことだよね?)の名前を人手で入れるなら
^:○X△.zip
みたいな感じで行けるんじゃね?
http://frostmoon.sa
kura.ne.jp/gui4reces/gui4reces0018ss_rename.png
親ファイル(zipファイルのことだよね?)の名前を人手で入れるなら
^:○X△.zip
みたいな感じで行けるんじゃね?
http://frostmoon.sa
kura.ne.jp/gui4reces/gui4reces0018ss_rename.png
854デフォルトの名無しさん
2021/09/27(月) 22:31:45.47ID:2WG9Jybb ファイル名に拡張子以外のドットは特別な理由でも無い限り使わないようにした方が良い
あと質問内容は正規表現では無くソフトの使い方のようなので微妙にスレチ
作者の宣伝?
あと質問内容は正規表現では無くソフトの使い方のようなので微妙にスレチ
作者の宣伝?
855デフォルトの名無しさん
2021/09/28(火) 09:31:17.72ID:fMeX4han 皆さん、ありがとうございます。
せっかくアドバイスを頂いたのですが、何が何やらさっぱりで・・・
せめて正規表現を少しでもかじってから再度教えを請いたいと考えていたので返信が遅れてしまいました。
しかし・・・
正規表現のサイトを少し覗いてみたのですが私には敷居が高すぎて・・
もう少し頑張ってみるつもりですが、かなりきつそうです
せっかくアドバイスを頂いたのですが、何が何やらさっぱりで・・・
せめて正規表現を少しでもかじってから再度教えを請いたいと考えていたので返信が遅れてしまいました。
しかし・・・
正規表現のサイトを少し覗いてみたのですが私には敷居が高すぎて・・
もう少し頑張ってみるつもりですが、かなりきつそうです
856デフォルトの名無しさん
2021/09/28(火) 09:38:51.90ID:ZQP3z5os >>855
アドバイスじゃなくて答えが書いてあるんだから、せめて試せよ
アドバイスじゃなくて答えが書いてあるんだから、せめて試せよ
857849
2021/09/28(火) 10:21:59.42ID:fMeX4han す、すみません。
検索文字列とか置換文字列とか難しく考えすぎて、
^:○X△.zip が回答そのものだったとは思いませんでした。
試してみました。
しかし、ログでは成功してるはずなのに実際のファイルはリネームされていません。
ソフトの使用方法がおぼつかないため、もう少し試行錯誤してみます。
とりあえずご報告だけさせて頂きました。
検索文字列とか置換文字列とか難しく考えすぎて、
^:○X△.zip が回答そのものだったとは思いませんでした。
試してみました。
しかし、ログでは成功してるはずなのに実際のファイルはリネームされていません。
ソフトの使用方法がおぼつかないため、もう少し試行錯誤してみます。
とりあえずご報告だけさせて頂きました。
858デフォルトの名無しさん
2021/09/28(火) 13:29:43.27ID:T0yrrR3v ○X△を○X△のまま使っただろ?
859849
2021/09/28(火) 20:59:21.69ID:fMeX4han 何でわかるんですかw
第一階層までしかリネームできないみたいです
そうなると、解凍してリネームして再圧縮が正解ですね。
バッチファイルは・・・・・・無理ですが
第一階層までしかリネームできないみたいです
そうなると、解凍してリネームして再圧縮が正解ですね。
バッチファイルは・・・・・・無理ですが
860デフォルトの名無しさん
2021/10/04(月) 16:07:06.15ID:N0nKW8hc 教えてください。
AAAA
AAAA(1)
AAAA(2)
AAAA(3)
という中から
()付きのものだけ抜き出す式はどう描くのでしょうか()の中身ではなくてAAA(3)などを丸ごとです。
お願いします。
AAAA
AAAA(1)
AAAA(2)
AAAA(3)
という中から
()付きのものだけ抜き出す式はどう描くのでしょうか()の中身ではなくてAAA(3)などを丸ごとです。
お願いします。
861デフォルトの名無しさん
2021/10/04(月) 16:24:14.46ID:bhYXHQji ^.*?¥(.*?¥)$
862デフォルトの名無しさん
2021/10/04(月) 17:32:08.96ID:N0nKW8hc863デフォルトの名無しさん
2021/10/04(月) 17:52:45.16ID:N0nKW8hc 次々すみません()の中は半角1文字の数字です。
864デフォルトの名無しさん
2021/10/04(月) 17:58:58.66ID:bhYXHQji865デフォルトの名無しさん
2021/10/04(月) 18:06:36.32ID:bhYXHQji あと、()が全角と半角では扱いが異なるから書き込むたびに変わってちゃダメ。
全角と半角両方に対応させたいなら^.*?[¥((][0-9][¥))]
全角と半角両方に対応させたいなら^.*?[¥((][0-9][¥))]
866デフォルトの名無しさん
2021/10/04(月) 19:38:23.48ID:zsq22U2a 拡張子は含めるの?
867デフォルトの名無しさん
2021/10/04(月) 19:42:51.89ID:qPYIGz+e .*\([0-9]\).*
868デフォルトの名無しさん
2021/10/15(金) 13:06:48.14ID:Wvwj+LKl うんこおおおおおおおおおお
↓
うんこ!!!!!!!!
ってjavascriptで正規表現で変換したいです
text.replace(/うん(こ)+/,"!")だと明らかに上手く行きませんがどうしたらよいのでしょうか?
↓
うんこ!!!!!!!!
ってjavascriptで正規表現で変換したいです
text.replace(/うん(こ)+/,"!")だと明らかに上手く行きませんがどうしたらよいのでしょうか?
869デフォルトの名無しさん
2021/10/15(金) 13:30:38.03ID:vygdYOMS 検索から違ってるし、function使わんと同回数繰り返すとかは無理
text.replace(/(うんこ)(.+)/,function(s,g1,g2){return g1+Array(g2.length+1).join('!')});
text.replace(/(うんこ)(.+)/,function(s,g1,g2){return g1+Array(g2.length+1).join('!')});
870デフォルトの名無しさん
2021/10/16(土) 08:23:59.89ID:akCvqHZs 先頭が-か+か0-9
以降0-9のみ
はどう書きますか?
-123 OK
12+3 NG
以降0-9のみ
はどう書きますか?
-123 OK
12+3 NG
871デフォルトの名無しさん
2021/10/16(土) 08:43:22.00ID:6ga3nra2 ^[\-+]?[0-9]+
872デフォルトの名無しさん
2021/10/16(土) 09:35:59.80ID:yphHFJu4 1つ目の文字クラスの中の円マークはなに?
873デフォルトの名無しさん
2021/10/16(土) 09:45:33.38ID:yphHFJu4 文字クラスの1文字目で使う場合には範囲指定と誤解される可能性はないから、エスケープ不要なのでは、という疑問です
874デフォルトの名無しさん
2021/10/16(土) 09:59:33.13ID:6ga3nra2 >>873
エスケープをつけておいたほうが人間にとって読みやすく、後々パターンを改変した時にミスせずにすむ
エスケープをつけておいたほうが人間にとって読みやすく、後々パターンを改変した時にミスせずにすむ
875デフォルトの名無しさん
2021/10/16(土) 10:04:58.76ID:6ga3nra2 「○○してもいい」が「○○しなければならない」に置き換わってしまう人たまにいるけど、あまりPGに向いてないかもね
876デフォルトの名無しさん
2021/10/16(土) 10:40:42.04ID:Yt5Fp2tM 悔しそう
877デフォルトの名無しさん
2021/10/16(土) 10:48:25.13ID:PMQb3sBw 質問者より先に回答者に対してあーだこーだ言ってくる奴にロクな奴はいない
と同時に質問者の自演の可能性もある
>>872-873みたいなのは分かってて聞いてるからそういうレスこそ不要なのでは、という疑問です
と同時に質問者の自演の可能性もある
>>872-873みたいなのは分かってて聞いてるからそういうレスこそ不要なのでは、という疑問です
878デフォルトの名無しさん
2021/10/16(土) 11:02:19.42ID:+QyAV8Aw 悔しそう
879デフォルトの名無しさん
2021/10/16(土) 11:15:38.86ID:6ga3nra2 あまり偏屈な人は回答しないほうがいいと思うけど、現実世界で阻害されている偏屈な人ほどねじ曲がった回答に生きがいを見出してしまう
880デフォルトの名無しさん
2021/10/16(土) 11:24:47.28ID:PMQb3sBw 機械から見て無駄のない極力短い正規表現を作れる俺カッコイイみたいな自己満な人もいるからねえ
おれは、ぱっと見て分かりやすいとか修正しやすい書き方するなあ
そうすることでデメリットが多くなってしまうなら別だけどね
まぁケチ付けることが目的の人がいても仕方ないけど
おれは、ぱっと見て分かりやすいとか修正しやすい書き方するなあ
そうすることでデメリットが多くなってしまうなら別だけどね
まぁケチ付けることが目的の人がいても仕方ないけど
881デフォルトの名無しさん
2021/10/16(土) 11:25:33.22ID:xOMo/rXl けど...しまう
882デフォルトの名無しさん
2021/10/16(土) 11:27:32.20ID:PMQb3sBw 本当に知識がある人は知識マウント取らずに、
なぜそういう回答をしているのか推察できるからいちいち突っ込まない
どうしても回答したい場合は、他の回答者には触れず回答だけ書く
なぜそういう回答をしているのか推察できるからいちいち突っ込まない
どうしても回答したい場合は、他の回答者には触れず回答だけ書く
883デフォルトの名無しさん
2021/10/16(土) 11:42:35.80ID:y3W2HSwc 874だけで終わっとけば良かったのにw
884デフォルトの名無しさん
2021/10/16(土) 11:52:56.32ID:yYNJhuOF 自演バレバレでも「悔しそう」に反応せずにはいられなかったんだろ
長文が自己紹介過ぎて笑える
長文が自己紹介過ぎて笑える
885デフォルトの名無しさん
2021/10/16(土) 11:59:55.88ID:6ga3nra2 MUST、SHOULD、MAYの理解が不完全な人はなんでもMUST扱いしたがる
冗長性を理解できない着物警察の思考様式
冗長性を理解できない着物警察の思考様式
886デフォルトの名無しさん
2021/10/16(土) 12:03:18.95ID:qP61rC0r おれも-はエスケープするな
つか+もエスケープする
エスケープ可能なのはエスケープしとく
つか+もエスケープする
エスケープ可能なのはエスケープしとく
887デフォルトの名無しさん
2021/10/16(土) 12:30:42.49ID:9AQLH6H/ 俺は極力しない
888デフォルトの名無しさん
2021/10/16(土) 12:33:05.07ID:FxLIumwg しないんじゃないかな
889デフォルトの名無しさん
2021/10/16(土) 12:39:14.15ID:igFsF4z+ ま ちょっと覚悟はしておけ
890デフォルトの名無しさん
2021/10/16(土) 12:41:17.72ID:BzHPp6pT なんとなくプラスマイナスの順にしたいから ^[+\-]?[0-9]+ って書くかな
891デフォルトの名無しさん
2021/10/16(土) 12:47:32.25ID:akCvqHZs 質問者です
pythonなのでエスケープはr文字列頼りです
ところで871のだと
12+3 は 12,+3で取れますが
正規表現を使った、文字列の判定がしたいのです
例挙げたように、頭は-+0-9 以降0-9のみで構成された文字列のみTrue、それ以外はFalseしたい
一応 if len(re.findall(pat, s)) == 1 かどうかで判定できてる気がするけど
方法としてはこれでいいんですよね?
すいません正規表現関係なくて
pythonなのでエスケープはr文字列頼りです
ところで871のだと
12+3 は 12,+3で取れますが
正規表現を使った、文字列の判定がしたいのです
例挙げたように、頭は-+0-9 以降0-9のみで構成された文字列のみTrue、それ以外はFalseしたい
一応 if len(re.findall(pat, s)) == 1 かどうかで判定できてる気がするけど
方法としてはこれでいいんですよね?
すいません正規表現関係なくて
892デフォルトの名無しさん
2021/10/16(土) 12:53:25.01ID:akCvqHZs しかもハット忘れて偶然できてただけだっった(笑)
うーむ
うーむ
893デフォルトの名無しさん
2021/10/16(土) 12:59:33.37ID:akCvqHZs ^[-+]?[0-9]+$
こうか
こうか
894デフォルトの名無しさん
2021/10/16(土) 13:52:27.11ID:wy7RR+Lb >>891
re.fullmatchで
re.fullmatchで
895デフォルトの名無しさん
2021/10/16(土) 14:12:10.41ID:UbsVp7JO fullmatchってあったのか
そりゃそうか
そりゃそうか
896デフォルトの名無しさん
2021/10/16(土) 14:38:49.46ID:6SnREp4P 正規表現スレで、円マークという誤解を招く表現はやめてほしい
バックスラッシュと表現すれば誤解を招かない
バックスラッシュと表現すれば誤解を招かない
897デフォルトの名無しさん
2021/10/16(土) 15:20:00.23ID:1kPG7eLG 回答で円記号を使われるのは気になる
わざわざ置き換え指示するくらいなら最初から正しく書けばいいのに
わざわざ置き換え指示するくらいなら最初から正しく書けばいいのに
898デフォルトの名無しさん
2021/10/16(土) 15:25:19.02ID:CFrnAbxP 承認欲求を満たせないと見るや他人を下げて自分を上げようとする人は
自己評価は高いんだけど周りからの評価は低く不満を溜め込んでるタイプ
5chあるあるだけど中には粘着する人もいるので気をつけようね
自己評価は高いんだけど周りからの評価は低く不満を溜め込んでるタイプ
5chあるあるだけど中には粘着する人もいるので気をつけようね
899デフォルトの名無しさん
2021/10/16(土) 16:28:23.09ID:q69AYoXR ID:6ga3nra2のことか
900デフォルトの名無しさん
2021/10/16(土) 16:51:02.62ID:UUKQ6Z7Y >>899
おしい!
おしい!
901デフォルトの名無しさん
2021/10/16(土) 17:35:12.23ID:VO4IgATZ "質問者"や"回答者"という立場を異常に強調するのは
"質問者"の承認が欲しくて堪らないから
承認が得られない場合や承認を得ることを邪魔された(と感じた)ら
自己防衛のために他者を攻撃する
攻撃の度合いが強い人ほど病んでる度合いも強い
"質問者"の承認が欲しくて堪らないから
承認が得られない場合や承認を得ることを邪魔された(と感じた)ら
自己防衛のために他者を攻撃する
攻撃の度合いが強い人ほど病んでる度合いも強い
902デフォルトの名無しさん
2021/10/16(土) 17:49:26.91ID:hNeyEW9L 「俺は\でエスケープしてるけど気になるなら取ってくれ」
で済ませられなかったのかねえ
で済ませられなかったのかねえ
903デフォルトの名無しさん
2021/10/16(土) 18:00:14.65ID:QrnrtPBD >○○してもいい」が「○○しなければならない」に置き換わってしまう人
これ自分の紹介かよ
エスケープしなければならない病に罹ってるな
これ自分の紹介かよ
エスケープしなければならない病に罹ってるな
904デフォルトの名無しさん
2021/10/16(土) 18:03:05.28ID:a3RnthCp 香ばしい奴にイチイチ構うな
そうやって相手するからそこに価値を見出してレス乞食へと変質して行くんだ
スルー出来ないおまえらも似たようなガイジ予備軍
そうやって相手するからそこに価値を見出してレス乞食へと変質して行くんだ
スルー出来ないおまえらも似たようなガイジ予備軍
905デフォルトの名無しさん
2021/10/16(土) 18:03:38.95ID:r+1DV466 >>883 に一票
まあそういう所にしか突っ込めない人がいるって思ってりゃいいかと
まあそういう所にしか突っ込めない人がいるって思ってりゃいいかと
906デフォルトの名無しさん
2021/10/16(土) 18:21:20.67ID:6ga3nra2 なにか勘違いしている人多いみたいなんで説明しとく
そもそもcharactter rangeでの先頭または末尾での-を明確に定義しているのはPerlとPythonぐらいしかなく、
正規表現ライブラリのpcre, re2, boost, Onigmo いずれの文書にも記述はない。
よってpcre, re2, boost, Onigmoで"[-az]", "[az-]", "[a\-z]" が同じ動作をする保証はない。
以下に示したOnigmoの文法説明では182行目で明確に'-'の使用を求めている。
https://github.com/k-takata/Onigmo/blob/master/doc/RE.ja
そもそもcharactter rangeでの先頭または末尾での-を明確に定義しているのはPerlとPythonぐらいしかなく、
正規表現ライブラリのpcre, re2, boost, Onigmo いずれの文書にも記述はない。
よってpcre, re2, boost, Onigmoで"[-az]", "[az-]", "[a\-z]" が同じ動作をする保証はない。
以下に示したOnigmoの文法説明では182行目で明確に'-'の使用を求めている。
https://github.com/k-takata/Onigmo/blob/master/doc/RE.ja
907デフォルトの名無しさん
2021/10/16(土) 18:26:32.71ID:6ga3nra2 誤:以下に示したOnigmoの文法説明では182行目で明確に'-'の使用を求めている。
正:以下に示したOnigmoの文法説明では182行目で明確に'-\'の使用を求めている。
https://github.com/k-takata/Onigmo/blob/master/doc/RE.ja
grepコマンドの組み込み正規表現の場合、文字集合で'-'を指定できるのは末尾のみ。以下にURLを添えとく。
https://linuxjm.osdn.jp/html/GNU_grep/man1/grep.1.html
正:以下に示したOnigmoの文法説明では182行目で明確に'-\'の使用を求めている。
https://github.com/k-takata/Onigmo/blob/master/doc/RE.ja
grepコマンドの組み込み正規表現の場合、文字集合で'-'を指定できるのは末尾のみ。以下にURLを添えとく。
https://linuxjm.osdn.jp/html/GNU_grep/man1/grep.1.html
908デフォルトの名無しさん
2021/10/16(土) 18:37:49.95ID:6ga3nra2 ちなみに、仕様書に先頭末尾の'-'に関する記述がないpcreやOnigmoでも"[-az]", "[az-]", "[a\-z]" が同じ動作をするのでひとまず安心していい
909デフォルトの名無しさん
2021/10/16(土) 18:50:30.23ID:hNeyEW9L C#等、javascript,Powershell,WSH、Rubyなど全部同じ動作する
エスケープを強要するものがあるのなら実例を出してみろよ
エスケープを強要するものがあるのなら実例を出してみろよ
910デフォルトの名無しさん
2021/10/16(土) 18:58:45.87ID:6ga3nra2 念のため書いとくが、Java正規表現にも.NET正規表現にも文字集合の先頭末尾エスケープなしハイフンに関する記述は見当たらない
Javaの正規表現
https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/regex/Pattern.html
.NET の正規表現
https://docs.microsoft.com/ja-jp/dotnet/standard/base-types/regular-expression-language-quick-reference
Javaの正規表現
https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/regex/Pattern.html
.NET の正規表現
https://docs.microsoft.com/ja-jp/dotnet/standard/base-types/regular-expression-language-quick-reference
911デフォルトの名無しさん
2021/10/16(土) 19:02:53.95ID:6ga3nra2912デフォルトの名無しさん
2021/10/16(土) 19:03:26.64ID:hNeyEW9L913デフォルトの名無しさん
2021/10/16(土) 19:12:04.98ID:nVB+19gH >>910
> .NET正規表現にも文字集合の先頭末尾エスケープなしハイフンに関する記述は見当たらない
明示はしてないけど
a hyphen character (-) is always interpreted as the range separator unless it is the first or last character of the group.
って書いてあるから最初か最後なら範囲文字として解釈はされないだろうね
で最初の文字のケースはないけど最後の文字のケースは例示されてる
[\s-] ⇒ Match a hyphen or a white-space character.
https://docs.microsoft.com/en-us/dotnet/standard/base-types/character-classes-in-regular-expressions
> .NET正規表現にも文字集合の先頭末尾エスケープなしハイフンに関する記述は見当たらない
明示はしてないけど
a hyphen character (-) is always interpreted as the range separator unless it is the first or last character of the group.
って書いてあるから最初か最後なら範囲文字として解釈はされないだろうね
で最初の文字のケースはないけど最後の文字のケースは例示されてる
[\s-] ⇒ Match a hyphen or a white-space character.
https://docs.microsoft.com/en-us/dotnet/standard/base-types/character-classes-in-regular-expressions
914デフォルトの名無しさん
2021/10/16(土) 19:12:23.95ID:6ga3nra2915デフォルトの名無しさん
2021/10/16(土) 19:17:00.69ID:6ga3nra2916デフォルトの名無しさん
2021/10/16(土) 19:23:50.02ID:6ga3nra2 Onigmoなにそれうまいの、という人のために説明しとくとサクラエディタの正規表現はOnigmoを採用してる
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか… [BFU★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… [BFU★]
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- バービー、 台湾有事の発言の波紋で「たまったもんじゃない」「高市さんに真意は聞きたい」「国民に向けて説明してほしい」 [muffin★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 中国高官と話す外務省局長の表情、やばい [175344491]
- 【高市速報】小野田キミ「中国依存はリスク」断交を示唆か [931948549]
- 日本政府「高市総理の発言は問題ないと伝え、中国総領事のSNS投稿は問題があると中国に伝えました😊」 [931948549]
- 【んな専🏡】なんG 姫森ルーナ(・o・🍬)総合スレ🏰【ホロライブ▶】
- 【速報】中国、高市の発言撤回を改めて要求 [834922174]
- 【悲報】高市早苗周辺「支持層が離れるので今更発言を撤回できない」 [935793931]
