Regular Expressionスレです。
質問する場合は必ず実装言語や処理系ソフトウェア名を示してください。
前スレ
Regular Expression(正規表現) Part13
http://echo.2ch.net/test/read.cgi/tech/1415149975/
次スレは>>980宜しく
天ぷら等2以降
Regular Expression(正規表現) Part14 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2017/03/15(水) 02:04:35.47ID:e01p03UP735デフォルトの名無しさん
2018/11/26(月) 06:49:56.12ID:OBhrl1nm736デフォルトの名無しさん
2018/11/27(火) 00:09:50.92ID:5gbDlA47 \Gを知らないのに正規表現を使いこなせるということはproxomitronのユーザーさんかな
737デフォルトの名無しさん
2018/11/28(水) 15:10:22.46ID:N4CCGDXj \Gの使い方を覚えたら>>714が面白く感じるかもね
知ってれば今更感しかないが
知ってれば今更感しかないが
738デフォルトの名無しさん
2018/11/29(木) 02:42:35.12ID:Fz25AUlj739デフォルトの名無しさん
2018/11/29(木) 02:52:05.30ID:rs9fzmaE740デフォルトの名無しさん
2018/11/29(木) 08:19:27.68ID:nDdllTwV 自分で立てればいいのになんで他人頼みなの?
741デフォルトの名無しさん
2018/12/02(日) 03:28:37.05ID:s0yCsMa3 >>738
じゃあ俺が立てるわ、テンプレの準備にちょっとかかるが
じゃあ俺が立てるわ、テンプレの準備にちょっとかかるが
742デフォルトの名無しさん
2018/12/08(土) 16:06:50.58ID:7G2k61ed twitter.com/munesuk
enya_go/status/1071188833515954176
先輩w
enya_go/status/1071188833515954176
先輩w
743デフォルトの名無しさん
2018/12/08(土) 20:04:57.14ID:RNQqcEtu アンド検索をしたいのですが、どう書けばいいでしょうか
^(?=.*あああ)(?=.*かかか).*$
このコードを見つけました
あああ と かかか の含まれる行がヒットします
ただ、ロジックがちょっとわかりません
先読みをつかっているのですが、先読み対象の語が指定されていません
これはどういうことでしょうか
分かりやすい解説サイトでもあれば教えてください
^(?=.*あああ)(?=.*かかか).*$
このコードを見つけました
あああ と かかか の含まれる行がヒットします
ただ、ロジックがちょっとわかりません
先読みをつかっているのですが、先読み対象の語が指定されていません
これはどういうことでしょうか
分かりやすい解説サイトでもあれば教えてください
744デフォルトの名無しさん
2018/12/08(土) 20:32:25.49ID:Dx33rAX6 このへんかな
>正規表現で論理積(AND)を実現する
>https://qiita.com/n4o847/items/dbcd0b8af3781d221424
自分流のちょっと乱暴な理解解釈だと
1. (?=検索対象) は、この条件が満たされないと後続のマッチを調べない
2. (?=検索対処) 自体は、この条件が満たされてた時点である意味消滅したかのようにふるまう
って動きを取るような感じ
ちなみにAND検索ができるgrepツール(TresGrep)がどんな正規表現を組み立てるか調べてみたら
「xxx&yyy&zzz」
↓
「xxx.*?(yyy.*?zzz|zzz.*?yyy)|yyy.*?(xxx.*?zzz|zzz.*?xxx)|zzz.*?(xxx.*?yyy|yyy.*?xxx)」
なんてのを吐き出した
安直だけどまあこれも間違ってはいない
>正規表現で論理積(AND)を実現する
>https://qiita.com/n4o847/items/dbcd0b8af3781d221424
自分流のちょっと乱暴な理解解釈だと
1. (?=検索対象) は、この条件が満たされないと後続のマッチを調べない
2. (?=検索対処) 自体は、この条件が満たされてた時点である意味消滅したかのようにふるまう
って動きを取るような感じ
ちなみにAND検索ができるgrepツール(TresGrep)がどんな正規表現を組み立てるか調べてみたら
「xxx&yyy&zzz」
↓
「xxx.*?(yyy.*?zzz|zzz.*?yyy)|yyy.*?(xxx.*?zzz|zzz.*?xxx)|zzz.*?(xxx.*?yyy|yyy.*?xxx)」
なんてのを吐き出した
安直だけどまあこれも間違ってはいない
745デフォルトの名無しさん
2018/12/08(土) 20:35:48.50ID:Dx33rAX6 あ、先読み対象の語は「^」だけで
「行頭から始まるという条件さえ満たせば何でもよい」と指定してる
「行頭から始まるという条件さえ満たせば何でもよい」と指定してる
746デフォルトの名無しさん
2018/12/08(土) 22:19:09.33ID:7G2k61ed 環境が分からない
何を検索したいのか分からない
>先読みをつかっているのですが、先読み対象の語が指定されていません
??? 指定されてないって何のことだろう、意味不明
正規表現うんぬんの前にまともな質問の仕方を学ぶべき
何を検索したいのか分からない
>先読みをつかっているのですが、先読み対象の語が指定されていません
??? 指定されてないって何のことだろう、意味不明
正規表現うんぬんの前にまともな質問の仕方を学ぶべき
747デフォルトの名無しさん
2018/12/08(土) 22:26:59.96ID:RNQqcEtu >>744
先読み対象は行頭ということですね
^(?=.*あああ)
これだと意味としては
「あああの前に行頭が存在すればヒット」
ということになると思います
これってもう少しかみ砕いた表現にできませんか?
まだ、理解が追い付いてないです
行頭が存在すればヒットということは、「行の中にあああがあればヒット」と同じことですか?
先読み対象は行頭ということですね
^(?=.*あああ)
これだと意味としては
「あああの前に行頭が存在すればヒット」
ということになると思います
これってもう少しかみ砕いた表現にできませんか?
まだ、理解が追い付いてないです
行頭が存在すればヒットということは、「行の中にあああがあればヒット」と同じことですか?
748デフォルトの名無しさん
2018/12/08(土) 23:05:31.04ID:hZepSGXS >>747
^は検索位置を示すもので、先頭を表す記号、
(?=)は先読みで検索開始位置を移動しないもの
つまり、
^(?=.*あああ)
は、先頭から(改行までの間に)文字列「あああ」がある場合
(先読みなのでマッチ後も次の検索開始位置はまだ先頭のまま)
よって
^(?=.*あああ)(?=.*かかか)
は、先頭から(改行までの間に)「あああ」があり、且つ先頭から「かかか」がある場合
.*$は不要だが、付けると、改行が存在すると絶対マッチしなくなる点が異なる
^は検索位置を示すもので、先頭を表す記号、
(?=)は先読みで検索開始位置を移動しないもの
つまり、
^(?=.*あああ)
は、先頭から(改行までの間に)文字列「あああ」がある場合
(先読みなのでマッチ後も次の検索開始位置はまだ先頭のまま)
よって
^(?=.*あああ)(?=.*かかか)
は、先頭から(改行までの間に)「あああ」があり、且つ先頭から「かかか」がある場合
.*$は不要だが、付けると、改行が存在すると絶対マッチしなくなる点が異なる
749デフォルトの名無しさん
2018/12/09(日) 06:54:41.50ID:C3Qast1U ↑かっこを二つならべると、()と()という感じで、アンドになるんでしょうか?
あと
(?=)は先読みで検索開始位置を移動しないもの
の部分なんですが、検索開始位置を移動しないというのはどういうことでしょうか
?=キーワード
で設定した場合、キーワードの相対位置から前を検索する、という認識でした
あと
(?=)は先読みで検索開始位置を移動しないもの
の部分なんですが、検索開始位置を移動しないというのはどういうことでしょうか
?=キーワード
で設定した場合、キーワードの相対位置から前を検索する、という認識でした
750デフォルトの名無しさん
2018/12/09(日) 08:43:46.17ID:UT294bNs 質問者は正規表現の基礎知識が足りてないと思われる
たとえるなら、(?=)の先読みは高校受験レベルで求められる英文法だとすると
質問者の場合は入門レベル(そもそもの基本ルールとか「.*」とか)の知識がごそっと抜けてる
なのでここまで出てきた説明を読んでもちんぷんかんぷんにしかならないのだろう
ちょっと遠回りになるけどちゃんと正規表現の基礎を理解したほうがいい
https://qiita.com/jnchito/items/893c887fbf19e17d3ff9
あたりを最終回(その4)まで読め
それでも理解できないなら、貴方には正規表現を扱うのは無理だからあきらめろ
たとえるなら、(?=)の先読みは高校受験レベルで求められる英文法だとすると
質問者の場合は入門レベル(そもそもの基本ルールとか「.*」とか)の知識がごそっと抜けてる
なのでここまで出てきた説明を読んでもちんぷんかんぷんにしかならないのだろう
ちょっと遠回りになるけどちゃんと正規表現の基礎を理解したほうがいい
https://qiita.com/jnchito/items/893c887fbf19e17d3ff9
あたりを最終回(その4)まで読め
それでも理解できないなら、貴方には正規表現を扱うのは無理だからあきらめろ
751デフォルトの名無しさん
2018/12/09(日) 09:50:40.98ID:vJutpfX/ >>749
()()でandになるわけではなく、()の次に()があるかどうかとなる(順序関係ができている)
^(a)(b)と書くと、abにはマッチするがaやbやbaにはマッチしない
これは、^(a)がマッチした時点で検索位置がaの次に移動しているためである
^(?=a)(b)と書くと、何もマッチしなくなる
これは先頭からaが見つかった場合、検索開始位置が移動しないため(?=a)を検索する前のまま(つまり先頭)になっている
次にbが先頭にあればいいわけだがそこにはaがあるからマッチしない
()()でandになるわけではなく、()の次に()があるかどうかとなる(順序関係ができている)
^(a)(b)と書くと、abにはマッチするがaやbやbaにはマッチしない
これは、^(a)がマッチした時点で検索位置がaの次に移動しているためである
^(?=a)(b)と書くと、何もマッチしなくなる
これは先頭からaが見つかった場合、検索開始位置が移動しないため(?=a)を検索する前のまま(つまり先頭)になっている
次にbが先頭にあればいいわけだがそこにはaがあるからマッチしない
752デフォルトの名無しさん
2018/12/09(日) 10:39:42.84ID:bsA2M6bZ ID:vJutpfX/
頭が良すぎて教えるのが下手なパターン
バカ語で話さないと通じないよ
頭が良すぎて教えるのが下手なパターン
バカ語で話さないと通じないよ
753デフォルトの名無しさん
2018/12/09(日) 10:51:59.84ID:bsA2M6bZ こんな最低限のこともググらず、自分で努力せずに人に聞くようなのに
教えてはいけないと思う、居ついてしまうからエサを与えないで欲しい
教えてはいけないと思う、居ついてしまうからエサを与えないで欲しい
754デフォルトの名無しさん
2018/12/09(日) 11:55:43.32ID:C3Qast1U755デフォルトの名無しさん
2018/12/09(日) 12:38:27.41ID:H3JhKeet756744
2018/12/09(日) 19:23:00.27ID:i2SuH64K757デフォルトの名無しさん
2018/12/09(日) 19:57:20.13ID:sTKdTIE5 位置の理解は言うほど易しくはないとおもわれ
正規表現検索とはテキストエディタでカーソルを1つずつ進めながら
合致する文字を1文字ずつ探っていくようなものだというイメージが必要だけど
そこをちゃんと説明してるものはあまり見かけない
正規表現検索とはテキストエディタでカーソルを1つずつ進めながら
合致する文字を1文字ずつ探っていくようなものだというイメージが必要だけど
そこをちゃんと説明してるものはあまり見かけない
758デフォルトの名無しさん
2018/12/09(日) 20:00:27.58ID:bzQOhihu759デフォルトの名無しさん
2018/12/09(日) 21:49:11.61ID:bsA2M6bZ 回答した人は親切丁寧に回答出来ていたよ、お疲れ様
上にも書いたように頭のいい人にしか理解出来ない回答になっていた
俗にいう分かってる人にしか分からない説明ってやつ
俺はこういうバカに教えるのは得意だから俺が回答を付ければ理解されたと
思うけど注意をスルーされたのでスルーした
上にも書いたように頭のいい人にしか理解出来ない回答になっていた
俗にいう分かってる人にしか分からない説明ってやつ
俺はこういうバカに教えるのは得意だから俺が回答を付ければ理解されたと
思うけど注意をスルーされたのでスルーした
760デフォルトの名無しさん
2018/12/10(月) 14:42:13.07ID:RU/iAdEK 知恵袋で質問を4000件以上やりとりしてる人だったのか
それなのに質問の仕方がまったくダメって
それなのに質問の仕方がまったくダメって
761デフォルトの名無しさん
2018/12/10(月) 17:07:38.24ID:RU/iAdEK 質問のペースがおかしい、1日に質問6つしてる
ググるより先に質問してんのか?
ググるより先に質問してんのか?
762デフォルトの名無しさん
2018/12/10(月) 17:25:29.04ID:RU/iAdEK https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10200202400
おまえらはこんなの相手に一生懸命教えてたのか
自分を安売りしすぎ、もってけ泥棒状態
おまえらはこんなの相手に一生懸命教えてたのか
自分を安売りしすぎ、もってけ泥棒状態
763デフォルトの名無しさん
2018/12/10(月) 17:25:37.52ID:RTUhzLAF そして回答はアダルトカテゴリのみという…
764デフォルトの名無しさん
2018/12/10(月) 17:29:58.71ID:RU/iAdEK やっぱ質問スレと本スレは分けるべきだな
この流れになると賢い人が来なくなってしまう
この流れになると賢い人が来なくなってしまう
765729
2018/12/10(月) 18:14:05.41ID:PtRqcV9k なんで馬鹿が一匹きただけでそういう話になるんだよ
過剰対応の典型やろ
過剰対応の典型やろ
766デフォルトの名無しさん
2018/12/10(月) 21:59:56.06ID:RU/iAdEK 入門サイトすら読んでないような人の質問とその回答にうんざりして
来なくなった人は大勢いると思うんだがそういう人達が集まれるスレが
あったらひょっとしたらすごいスレになるんじゃないかという期待がある
実際はただ過疎るだけなんだろうけどね
来なくなった人は大勢いると思うんだがそういう人達が集まれるスレが
あったらひょっとしたらすごいスレになるんじゃないかという期待がある
実際はただ過疎るだけなんだろうけどね
767デフォルトの名無しさん
2018/12/11(火) 02:31:31.29ID:oKdEGQIj 隔離スレなんて作るだけ無駄だろ
機能してるところなんて見たこと無い
機能してるところなんて見たこと無い
768デフォルトの名無しさん
2018/12/11(火) 02:44:05.34ID:4gYtUlOJ PCサロン板なら迷惑にならなそうなので立ててみた
【PCサロン】正則表現 part1
http://mao.5ch.net/test/read.cgi/pc2nanmin/1544462745/l50
基本過疎進行ですが正規表現を使いこなせる人同士で語りたい方はこちらで
【PCサロン】正則表現 part1
http://mao.5ch.net/test/read.cgi/pc2nanmin/1544462745/l50
基本過疎進行ですが正規表現を使いこなせる人同士で語りたい方はこちらで
769デフォルトの名無しさん
2018/12/13(木) 17:01:35.11ID:IMhQiOyS 回答が付いた。でも微妙におかしい。つっこんであげるべきか?
770デフォルトの名無しさん
2018/12/14(金) 20:59:53.53ID:DlmPms4F ^
(?:
(?!あああ|かかか).
)*+
(?>
(あああ)
|
かかか
)
(?:
(?!あああ|かかか).
)*+
(?(1)かかか|あああ)
.*+$
(?:
(?!あああ|かかか).
)*+
(?>
(あああ)
|
かかか
)
(?:
(?!あああ|かかか).
)*+
(?(1)かかか|あああ)
.*+$
771デフォルトの名無しさん
2018/12/14(金) 21:11:35.41ID:DlmPms4F ^
(?~あああ|かかか)
(?>
(あああ)
|
かかか
)
(?~あああ|かかか)
(?(1)かかか|あああ)
.*$
(?~あああ|かかか)
(?>
(あああ)
|
かかか
)
(?~あああ|かかか)
(?(1)かかか|あああ)
.*$
772デフォルトの名無しさん
2019/01/10(木) 03:02:56.41ID:mY602DpM FirefoxやChromeのブックマークにこれ登録して
https://i.imgur.com/68VCDRV.jpg
ブラウザのアドレスバーに
re foo|bar|baz
と入れると
https://regexper.com/#foo%7Cbar%7Cbaz
に飛べるようになる
簡易チェッカーとして便利
https://i.imgur.com/68VCDRV.jpg
ブラウザのアドレスバーに
re foo|bar|baz
と入れると
https://regexper.com/#foo%7Cbar%7Cbaz
に飛べるようになる
簡易チェッカーとして便利
773デフォルトの名無しさん
2019/01/10(木) 14:50:11.25ID:Q3mhk3sM >>772
いいねw まったく思い付きもしなかったアイデアwww
いいねw まったく思い付きもしなかったアイデアwww
774デフォルトの名無しさん
2019/01/10(木) 15:21:01.00ID:Q3mhk3sM >>772
chrome on mac だけどブックマークではダメで、設定→検索エンジン→検索エンジンの管理→追加 から登録しないといけなかったわ。
chrome on mac だけどブックマークではダメで、設定→検索エンジン→検索エンジンの管理→追加 から登録しないといけなかったわ。
775デフォルトの名無しさん
2019/01/13(日) 18:46:07.60ID:vFHHKg45776デフォルトの名無しさん
2019/01/26(土) 10:17:12.64ID:rNPVIr5d 否定先読み
と言うのがなかなか理解出来ないのですが、
サンプルを動かすと確かに動作するのですが、
今一つ仕組みが分かりません。
どんなふうに理解すれば良いのでしょうか?
と言うのがなかなか理解出来ないのですが、
サンプルを動かすと確かに動作するのですが、
今一つ仕組みが分かりません。
どんなふうに理解すれば良いのでしょうか?
777729
2019/01/26(土) 10:42:36.00ID:K4a4emwR 文字じゃなくて位置(文字と文字の間)に一致すると考えればいい
たとえば
abcdef
が対象の場合
肯定先読み(?=def)は直後にdefがある位置(cとdの間の位置)に一致する
abc[ここ]def
否定先読み(?!def)は直後にdefがない位置に一致する
[ここ]a[ここ]b[ここ]cd[ここ]e[ここ]f[ここ]
行頭の^や行末の$も文字じゃなくて位置に一致する
たとえば
abcdef
が対象の場合
肯定先読み(?=def)は直後にdefがある位置(cとdの間の位置)に一致する
abc[ここ]def
否定先読み(?!def)は直後にdefがない位置に一致する
[ここ]a[ここ]b[ここ]cd[ここ]e[ここ]f[ここ]
行頭の^や行末の$も文字じゃなくて位置に一致する
778デフォルトの名無しさん
2019/01/26(土) 11:13:09.45ID:yVAkGzul なるほどthx
779デフォルトの名無しさん
2019/01/26(土) 11:53:37.94ID:mL4if6wW780デフォルトの名無しさん
2019/01/26(土) 15:19:07.07ID:exLOU4gz 先読みはマッチさせたら、マッチ開始位置に戻るから、
単なる位置指定で、幅を持たない。
単なる条件を追加した、フィルター
否定先読みはマッチしない場合に、マッチ開始位置に戻る
先読みは、マッチ位置の直後の条件を指定するが、
戻り読みは、マッチ位置の直前の条件を指定する
単なる位置指定で、幅を持たない。
単なる条件を追加した、フィルター
否定先読みはマッチしない場合に、マッチ開始位置に戻る
先読みは、マッチ位置の直後の条件を指定するが、
戻り読みは、マッチ位置の直前の条件を指定する
781デフォルトの名無しさん
2019/01/27(日) 10:46:10.47ID:Th+zYLMn782デフォルトの名無しさん
2019/01/28(月) 10:47:47.80ID:wg8XKdax .netでの正規表現に迷ってます。
次の文字列のとき、"efgh/1"以降に"/"が含まれないときマッチするような正規表現を書きたいのです。
http://192.168.1.100/abcd/efgh/1 →True
http://192.168.1.100/abcd/efgh/1/ →False
http://192.168.1.100/abcd/efgh/12 →True
http://192.168.1.100/abcd/efgh/123/ →False
http://192.168.1.100/abcd/efgh/1?p=1 →True
次のような正規表現を試してみましたが、数値1文字しか対応できませんでした。
\/efgh\/[0-9]+(?!\/)
次の文字列のとき、"efgh/1"以降に"/"が含まれないときマッチするような正規表現を書きたいのです。
http://192.168.1.100/abcd/efgh/1 →True
http://192.168.1.100/abcd/efgh/1/ →False
http://192.168.1.100/abcd/efgh/12 →True
http://192.168.1.100/abcd/efgh/123/ →False
http://192.168.1.100/abcd/efgh/1?p=1 →True
次のような正規表現を試してみましたが、数値1文字しか対応できませんでした。
\/efgh\/[0-9]+(?!\/)
783デフォルトの名無しさん
2019/01/28(月) 10:57:25.94ID:DdBbxYrt \/efgh\/1[^/]*$
ではダメかな
ではダメかな
784デフォルトの名無しさん
2019/01/28(月) 12:18:39.25ID:c4Y7c3OH >>783でいいと思う
あとスラッシュにエスケープは不要だから/efgh/1[^/]*$
否定先読みが使いたいなら /efgh/[0-9]+(?!.*/)
(?!.*/)はそれ以降/が含まれない位置という意味
(?!/)だと直後に/がない位置という意味だから数字が2文字以上続いたらマッチしてしまう
あとスラッシュにエスケープは不要だから/efgh/1[^/]*$
否定先読みが使いたいなら /efgh/[0-9]+(?!.*/)
(?!.*/)はそれ以降/が含まれない位置という意味
(?!/)だと直後に/がない位置という意味だから数字が2文字以上続いたらマッチしてしまう
785デフォルトの名無しさん
2019/01/28(月) 12:21:15.63ID:c4Y7c3OH ごめん1って決まってるならこれでいいな
/efgh/1(?!.*/)
/efgh/1(?!.*/)
786782
2019/01/28(月) 15:51:48.42ID:wg8XKdax787デフォルトの名無しさん
2019/01/29(火) 06:11:22.47ID:mzqJgDrY $1
Windows PowerShell Cookbook
Regular Expressions Cookbook
Perl Cookbook
PHP Cookbook
Android Cookbook
Humble Book Bundle: Programming Cookbooks by O'Reilly (pay what you want and help charity)
https://www.humblebundle.com/books/programming-cookbooks
Windows PowerShell Cookbook
Regular Expressions Cookbook
Perl Cookbook
PHP Cookbook
Android Cookbook
Humble Book Bundle: Programming Cookbooks by O'Reilly (pay what you want and help charity)
https://www.humblebundle.com/books/programming-cookbooks
788デフォルトの名無しさん
2019/01/29(火) 06:32:49.85ID:mzqJgDrY Tools for Working with Regular Expressions
RegexBuddy
RegexPal
RegexMagic
More Online Regex Testers
RegexPlanet
regex.larsolavtorvik.com
Nregex
Rubular
myregexp.com
More Desktop Regular Expression Testers
Expresso
The Regulator
SDL Regex Fuzzer
PowerGREP
Windows Grep
RegexRenamer
RegexBuddy
RegexPal
RegexMagic
More Online Regex Testers
RegexPlanet
regex.larsolavtorvik.com
Nregex
Rubular
myregexp.com
More Desktop Regular Expression Testers
Expresso
The Regulator
SDL Regex Fuzzer
PowerGREP
Windows Grep
RegexRenamer
789デフォルトの名無しさん
2019/01/31(木) 16:07:48.62ID:Sc+6fvIO790デフォルトの名無しさん
2019/01/31(木) 16:08:40.61ID:Sc+6fvIO https://github.com/k-takata/Onigmo/issues/106
(?(n) (?: X | Y ) ) and (?(n) X | Y ) behavior is same.
(?: ) is left out.
(?(n) (?: X | Y ) | ) is nomal behavior.
This is a solution to a this bug problem.
ruby 2.5.3p105 (2018-10-18 revision 65156) [x64-mingw32]
bregonig.dll Ver.4.12 with Onigmo 6.1.2
(?(n) (?: X | Y ) ) and (?(n) X | Y ) behavior is same.
(?: ) is left out.
(?(n) (?: X | Y ) | ) is nomal behavior.
This is a solution to a this bug problem.
ruby 2.5.3p105 (2018-10-18 revision 65156) [x64-mingw32]
bregonig.dll Ver.4.12 with Onigmo 6.1.2
791デフォルトの名無しさん
2019/02/13(水) 00:35:05.11ID:HRhgNpoV 鬼雲には鬼雲を知ろうとすればするほど謎のテキストエディタの
情報が集まってくるという不思議な不具合があるがこのフィックスは不可能 :-)
情報が集まってくるという不思議な不具合があるがこのフィックスは不可能 :-)
792デフォルトの名無しさん
2019/03/07(木) 20:57:23.09ID:sEA+6w2y 今日元号の改正の準備で日付関連のコード書いてきたんだけど
>>695の置換が出来ると便利だったなという所があった
再帰が使えるのにこれが使えないのはバランス感覚に欠ける気がします
どうしてこうなった?
>>695の置換が出来ると便利だったなという所があった
再帰が使えるのにこれが使えないのはバランス感覚に欠ける気がします
どうしてこうなった?
793デフォルトの名無しさん
2019/03/12(火) 13:14:07.01ID:vSZ9R6NM 先読みの(?=huge)をつけると、後方がキャプチャーされません
そもそも前方に文字のない?=って使い方あってるでしょうか?
ちなみに言語はVB6です
そもそも前方に文字のない?=って使い方あってるでしょうか?
ちなみに言語はVB6です
794デフォルトの名無しさん
2019/03/13(水) 00:19:48.81ID:heD+eXgL Are you japanese?
Your japan language is strange.
Please show me sample codes.
Your japan language is strange.
Please show me sample codes.
795デフォルトの名無しさん
2019/03/13(水) 01:39:37.63ID:bUFEpZHr あなたの英語も変ですよ。
日本人はJapaneseとキャピタライズしてください。
日本語もjapan languageではなくJapanese languageです。
Japaneseだけで日本語という意味になりますが、前の文で日本人という意味で使っているのでlanguageを付けるのはいい判断でした。
また最後の文は、どうしても複数の例を見たいことを強調するのでない限りcodesではなくのcodeがふつうです。
不定冠詞のaも付けません。(絶対にただひとつの例だけ欲しいのでない限り)
日本人はJapaneseとキャピタライズしてください。
日本語もjapan languageではなくJapanese languageです。
Japaneseだけで日本語という意味になりますが、前の文で日本人という意味で使っているのでlanguageを付けるのはいい判断でした。
また最後の文は、どうしても複数の例を見たいことを強調するのでない限りcodesではなくのcodeがふつうです。
不定冠詞のaも付けません。(絶対にただひとつの例だけ欲しいのでない限り)
796デフォルトの名無しさん
2019/03/13(水) 02:16:45.79ID:heD+eXgL 自分の英語力は小学生相当なのでこんなもんです
教えてくれてありがとね
教えてくれてありがとね
797デフォルトの名無しさん
2019/03/13(水) 02:29:04.73ID:Z/ka/TFK irregular expression, exactly.
798デフォルトの名無しさん
2019/03/13(水) 08:53:04.20ID:heD+eXgL I am good at irregular expression.
799デフォルトの名無しさん
2019/03/13(水) 14:12:32.68ID:ZUOT1OTB nativeのひとに「あなた英語上手ですね」って言われても誉め言葉じゃないからな
その時点で下に観られてる
その時点で下に観られてる
800デフォルトの名無しさん
2019/03/14(木) 17:54:44.14ID:k53fNhgw 上手ですねと言われる可能性が0なので大丈夫です
801デフォルトの名無しさん
2019/04/22(月) 20:21:53.32ID:GQt1LKrG sed
置換
1に挟まれたN個以下の0または-で構成された文字列を、同数の1で置き換える
10001→11111
100-1→11111
1---1→11111
10-0-0001→111111111
置換対象と同数の文字列で置換するというところをどう正規表現で表すかわからず、、、
よろしくお願いします
置換
1に挟まれたN個以下の0または-で構成された文字列を、同数の1で置き換える
10001→11111
100-1→11111
1---1→11111
10-0-0001→111111111
置換対象と同数の文字列で置換するというところをどう正規表現で表すかわからず、、、
よろしくお願いします
802デフォルトの名無しさん
2019/04/23(火) 05:37:05.12ID:TbAsj7lM 正規表現で数を数えるのは無理
マッチさせて自力で文字を数えるコード書いて入れ替えて
ちなみに\Gが使える正規表現環境なら正規表現単独で可能
マッチさせて自力で文字を数えるコード書いて入れ替えて
ちなみに\Gが使える正規表現環境なら正規表現単独で可能
803デフォルトの名無しさん
2019/04/23(火) 07:05:11.04ID:k/th3sVe >>801
sed ':r; s/1[0-]\([0-]*1\)/11\1/; tr'
前方に 1 のある 10 を 11 に置換する
置換に成功したら tラベル で :ラベル の位置に戻って繰り返す
sed ':r; s/1[0-]\([0-]*1\)/11\1/; tr'
前方に 1 のある 10 を 11 に置換する
置換に成功したら tラベル で :ラベル の位置に戻って繰り返す
804デフォルトの名無しさん
2019/04/23(火) 08:49:46.57ID:ef59e0DS805デフォルトの名無しさん
2019/04/23(火) 10:21:33.54ID:yIB0exXp806デフォルトの名無しさん
2019/04/23(火) 11:46:04.64ID:ef59e0DS807デフォルトの名無しさん
2019/04/23(火) 12:07:17.02ID:yIB0exXp >>806
()で囲うとなってれば入れ子のケースは当然問題になるんだから
入れ子を考慮する必要があるかを明確に定義してないのは駄目な仕様。
10-以外が現れた場合の扱いも明記されていない
→現れることはないとみなしている
んだから
100010は現れないと想定して書く選択肢もある。
いずれにしろ、不明瞭な仕様を書く奴は無能だし、
勝手に解釈するのも実際の仕事じゃトラブルの元。
()で囲うとなってれば入れ子のケースは当然問題になるんだから
入れ子を考慮する必要があるかを明確に定義してないのは駄目な仕様。
10-以外が現れた場合の扱いも明記されていない
→現れることはないとみなしている
んだから
100010は現れないと想定して書く選択肢もある。
いずれにしろ、不明瞭な仕様を書く奴は無能だし、
勝手に解釈するのも実際の仕事じゃトラブルの元。
808デフォルトの名無しさん
2019/04/23(火) 12:23:27.03ID:ZY45SR7V Ruby なら、
re = /1([^1]+)1/ # 1〜1 で、はさまれた部分
str = "x10-0y0-1x"
# $1 は、capture 部分で、0-0y0-。この部分を置換する。
# 結果は、x1 (111y11) 1x
p str.sub( re ) { |s| "1" + $1.gsub( /[0-]/, "1" ) + "1" }
re = /1([^1]+)1/ # 1〜1 で、はさまれた部分
str = "x10-0y0-1x"
# $1 は、capture 部分で、0-0y0-。この部分を置換する。
# 結果は、x1 (111y11) 1x
p str.sub( re ) { |s| "1" + $1.gsub( /[0-]/, "1" ) + "1" }
809デフォルトの名無しさん
2019/04/23(火) 12:38:52.51ID:ef59e0DS >>807
反論と取られたのかな
反論でも賛意でもないよ
個人的には>>801が「よい定義や仕様」とは欠片も思わない一方で「ダメダメ」とも思わない
組んでいく中で詳細を詰めていくことも現実としてある
あなたが求めているようながっちり仕様が決まっていたらむしろやることなんてほぼないかも
単に日本語を翻訳する作業になるのでむしろ苦痛かな…
そこまで詰められるなら日本語で指示しないで自分で書けよと思ってしまうかも
スレ的に読み替えればがっちり仕様を出した上で「これは正規表現で可能か?」という命題に繋がるのでスレでがっちり仕様を出すなと言う意味ではないです(念為)
仕事でもなし頭の体操的にてきとーに答えてるだけなんでこれくらいなら気にしない派
反論と取られたのかな
反論でも賛意でもないよ
個人的には>>801が「よい定義や仕様」とは欠片も思わない一方で「ダメダメ」とも思わない
組んでいく中で詳細を詰めていくことも現実としてある
あなたが求めているようながっちり仕様が決まっていたらむしろやることなんてほぼないかも
単に日本語を翻訳する作業になるのでむしろ苦痛かな…
そこまで詰められるなら日本語で指示しないで自分で書けよと思ってしまうかも
スレ的に読み替えればがっちり仕様を出した上で「これは正規表現で可能か?」という命題に繋がるのでスレでがっちり仕様を出すなと言う意味ではないです(念為)
仕事でもなし頭の体操的にてきとーに答えてるだけなんでこれくらいなら気にしない派
810デフォルトの名無しさん
2019/04/23(火) 13:02:53.90ID:k/th3sVe % printf '100010\n1000101\n' | sed ':r; s/1[0-]\([0-]*1\)/11\1\n/; tr; s/\n//g'
111110
1111101
%
111110
1111101
%
811801
2019/04/23(火) 13:49:39.47ID:CFFnqXFD 問題が曖昧であったため議論を紛糾させてしまいました。すみません。
たしかに入れ子のことや、一致する最初の文字列か、最長か、01-以外の文字の存在などを明確に記載できていませんでした。
今回の問題で聞きたかったことをシンプルに表現すると、検索文字列の文字数(1〜N個)に依存した置換が可能なのか、になります。
そこについては先の人が回答してくださった通り、文字数を記憶しておくような処理は不可能であるから正規表現の範疇ではないと思いました。
これまでの意見から当初目的ではないものの多くのヒントをもらいました。ありがとうございました。
問題提示者としていたらないながら、この話はクローズさせていただきます。
たしかに入れ子のことや、一致する最初の文字列か、最長か、01-以外の文字の存在などを明確に記載できていませんでした。
今回の問題で聞きたかったことをシンプルに表現すると、検索文字列の文字数(1〜N個)に依存した置換が可能なのか、になります。
そこについては先の人が回答してくださった通り、文字数を記憶しておくような処理は不可能であるから正規表現の範疇ではないと思いました。
これまでの意見から当初目的ではないものの多くのヒントをもらいました。ありがとうございました。
問題提示者としていたらないながら、この話はクローズさせていただきます。
812デフォルトの名無しさん
2019/04/23(火) 13:52:46.13ID:yIB0exXp >>809
反論だなんて受取ってないから妄想やめて。
定義が曖昧過ぎてねえ…
としか言ってないから。
01-以外でいいのか、1.*1でいいのか
などなど要件がこんな不明瞭じゃねえ
と言う話しかしてないのであしからず。
反論だなんて受取ってないから妄想やめて。
定義が曖昧過ぎてねえ…
としか言ってないから。
01-以外でいいのか、1.*1でいいのか
などなど要件がこんな不明瞭じゃねえ
と言う話しかしてないのであしからず。
813デフォルトの名無しさん
2019/04/23(火) 13:54:41.14ID:yIB0exXp814デフォルトの名無しさん
2019/04/23(火) 15:45:58.43ID:ef59e0DS816デフォルトの名無しさん
2019/04/23(火) 19:20:56.30ID:GneiHx9I まーまー、ここはわしの顔を立てて双方おとなしくしてくれまいか。
817デフォルトの名無しさん
2019/04/23(火) 19:41:58.96ID:ef59e0DS818デフォルトの名無しさん
2019/04/23(火) 19:46:57.33ID:yIB0exXp819デフォルトの名無しさん
2019/04/24(水) 19:37:45.85ID:kN2xWSes 質問者の例題は数に応じた置換の簡単なサンプルが欲しくて書いたものだと思う
再帰的に無理やり導くクソコードなんて書かれても迷惑なだけでしょ
再帰的に無理やり導くクソコードなんて書かれても迷惑なだけでしょ
820デフォルトの名無しさん
2019/04/24(水) 21:35:46.86ID:SVxlletW 端からは大人と子供
ご愁傷様
ご愁傷様
821デフォルトの名無しさん
2019/04/25(木) 02:00:13.99ID:nkf4NYVZ pythonスレで似たテーマ観たからマルチ認定
822デフォルトの名無しさん
2019/04/26(金) 22:15:29.45ID:pXwlHtT3 sedとpythonじゃまるで違うから別件だろうな
>>817
勘違いして迷惑かけた分際で「ぐちぐち」って言葉を使うか普通..
というかこの文体、昔セガBBSにいた南瓜さんという人にそっくりだな
別人だろうけど思い出してワロタ
>>817
勘違いして迷惑かけた分際で「ぐちぐち」って言葉を使うか普通..
というかこの文体、昔セガBBSにいた南瓜さんという人にそっくりだな
別人だろうけど思い出してワロタ
823デフォルトの名無しさん
2019/04/26(金) 22:34:09.92ID:7hEPz6dq しばらくぶりにノゾいたらワロタ
ID:yIB0exXp
http://hissi.org/read.php/tech/20190423/eUlCMGV4WHA.html
平日の朝から晩まで
内容がとっても抽象的
ネット弁慶クンってホントにいるんだな!w
ID:yIB0exXp
http://hissi.org/read.php/tech/20190423/eUlCMGV4WHA.html
平日の朝から晩まで
内容がとっても抽象的
ネット弁慶クンってホントにいるんだな!w
824デフォルトの名無しさん
2019/04/26(金) 23:09:55.86ID:DINb0EDe マ板恒例、湿度高めの展開になってきましたー
825デフォルトの名無しさん
2019/04/27(土) 13:12:59.58ID:W9D3URJl オブジェクト指向最高さんは今回まったく落ち度が無い
迷惑かけといて素直に謝ることも出来ないくそコード製造機はもう来なくていい
迷惑かけといて素直に謝ることも出来ないくそコード製造機はもう来なくていい
826デフォルトの名無しさん
2019/04/27(土) 21:25:24.59ID:CxhHumup 翌日以降もこんな感じですよ
ttp://hissi.org/read.php/tech/20190424/M1dYN3QzOXA.html
ttp://hissi.org/read.php/tech/20190425/VThrOUNyV3U.html
ttp://hissi.org/read.php/tech/20190426/NGZaS2JZWkg.html
ttp://hissi.org/read.php/tech/20190427/QzZmMHJVWmE.html
こちらで引き取ってもらえませんか?
ttp://hissi.org/read.php/tech/20190424/M1dYN3QzOXA.html
ttp://hissi.org/read.php/tech/20190425/VThrOUNyV3U.html
ttp://hissi.org/read.php/tech/20190426/NGZaS2JZWkg.html
ttp://hissi.org/read.php/tech/20190427/QzZmMHJVWmE.html
こちらで引き取ってもらえませんか?
827デフォルトの名無しさん
2019/05/04(土) 22:49:23.33ID:Wy3P56AZ 引き取ってくれてありがとう〜(^。^)
828デフォルトの名無しさん
2019/05/29(水) 23:29:43.55ID:NoMeOMsF よろしくお願い致します。
●Regular Expressionの使用環境
Python 3.7
●検索か置換か?
検索
●説明
3つ目と4つ目のダブルクオートの間の文字列を探す
●対象データ
"文字列1":[1000:"文字列2"]
●希望する結果
文字列2
●Regular Expressionの使用環境
Python 3.7
●検索か置換か?
検索
●説明
3つ目と4つ目のダブルクオートの間の文字列を探す
●対象データ
"文字列1":[1000:"文字列2"]
●希望する結果
文字列2
829デフォルトの名無しさん
2019/05/30(木) 07:22:28.54ID:NTWA4E5y830デフォルトの名無しさん
2019/05/30(木) 08:48:50.22ID:ZbLZAkBS >>829
文字列1が空だと空振るのでいっそベタ書きするかな
それと対象の規模によっては計算量も30%少なくて済む
"[^"]*"[^"]*"([^"]*)"
くどいーと思ってまとめてみても
"(?:[^"]*"){2}([^"]*)"
若干悪化して15%offくらいに留まる
文字列1が空だと空振るのでいっそベタ書きするかな
それと対象の規模によっては計算量も30%少なくて済む
"[^"]*"[^"]*"([^"]*)"
くどいーと思ってまとめてみても
"(?:[^"]*"){2}([^"]*)"
若干悪化して15%offくらいに留まる
831デフォルトの名無しさん
2019/05/30(木) 09:14:01.64ID:js+SNbQS やっぱり可変長の戻り読み使えないなら後方参照で抜き出すしかないよね
というか正規表現以外で抜き出した方が処理軽いんじゃ
というか正規表現以外で抜き出した方が処理軽いんじゃ
832デフォルトの名無しさん
2019/05/30(木) 10:41:49.43ID:NTWA4E5y833デフォルトの名無しさん
2019/05/30(木) 16:00:31.98ID:0UuZnvit834デフォルトの名無しさん
2019/06/12(水) 18:51:34.75ID:8qMgnvIv 正規表現で全角記号だけ抜き出す事はできますか?
★ファイル名
みたいにして先頭に来るようにしてたんですが、全角記号はエラーおこすことがあるようです
★ファイル名
みたいにして先頭に来るようにしてたんですが、全角記号はエラーおこすことがあるようです
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- 【卓球】早田ひな、「総額100万スられた」「ずっと憧れていたスペインとイタリア…」ヨーロッパ旅行で悲劇 スリ被害を告白 [muffin★]
- 万引きJC「すいません許してください!何でもしますから!」←どうする?
- Perfume・あ~ちゃんの結婚相手の一般男性、吉田カバンの社長と判明 [977261419]
- 自民党議員「高市は先人が築き上げた日中関係を壊した。外務省が謝罪に言ってるが自分で責任を取れ」 [834922174]
- 5時だから窓から5回ちんこ出した
- 「黙らせてやろうと思った」自宅マンション10階から高校テニスコート内の女子生徒目掛けて貯金箱を投擲した女の子、殺人未遂で逮捕 [399583221]
- 岡田克也「軽々しく存立危機事態とか言うべきじゃない」高市早苗「台湾で武力攻撃が発生したらどう考えても日本の存立危機事態」 [931948549]
