[過去ログ]
Regular Expression(正規表現) Part15 (1002レス)
Regular Expression(正規表現) Part15 http://mevius.5ch.net/test/read.cgi/tech/1568640311/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
953: デフォルトの名無しさん [sage] 2021/10/18(月) 00:56:20.45 ID:fcbr/1wh 昔reで書いたコードを書き直さずに使えるのが最大のメリットだと思うけど http://mevius.5ch.net/test/read.cgi/tech/1568640311/953
954: デフォルトの名無しさん [sage] 2021/10/18(月) 01:10:10.73 ID:IgDyba7Y 「後方互換を破壊するに足る理由」が無いので、そのまま残されている http://mevius.5ch.net/test/read.cgi/tech/1568640311/954
955: デフォルトの名無しさん [sage] 2021/10/18(月) 07:31:05.25 ID:XtnzC8HY >>934 だってエスケープしてるなんて おともだちに知られたら恥ずかしいし http://mevius.5ch.net/test/read.cgi/tech/1568640311/955
956: デフォルトの名無しさん [] 2021/10/18(月) 08:28:55.87 ID:CI2UP6iO エスケープは恥だが役に立つ http://mevius.5ch.net/test/read.cgi/tech/1568640311/956
957: デフォルトの名無しさん [sage] 2021/10/18(月) 08:46:32.68 ID:PPwA/bGd python2からpython3への後方互換の捨てっぷりを思えば、 さっさとreを捨ててregexが標準になってもおかしくないはずだが、そうなっていないのはなにか事情があるのかな? http://mevius.5ch.net/test/read.cgi/tech/1568640311/957
958: デフォルトの名無しさん [] 2021/10/18(月) 08:55:29.74 ID:K+CpcSgx reで不便したことないけどregexにしかない有用機能ってなにがあるの? http://mevius.5ch.net/test/read.cgi/tech/1568640311/958
959: デフォルトの名無しさん [sage] 2021/10/18(月) 14:36:27.24 ID:TKHV76Qy 日本語などの処理とか http://mevius.5ch.net/test/read.cgi/tech/1568640311/959
960: デフォルトの名無しさん [sage] 2021/10/19(火) 11:49:02.44 ID:q6QnFAh4 pythonistaでregexインストールしようとしたら、c言語使ってるんで無理だよ的メッセージが出ました。 そうなると、re使うしかないわけで、そういう意味では存在価値ありますね。 http://mevius.5ch.net/test/read.cgi/tech/1568640311/960
961: デフォルトの名無しさん [sage] 2021/10/19(火) 13:36:44.32 ID:WfNe98xT reがregexを取り込めばいいってだけなのでは? 少なくともreが対応してる範囲でregexも同様に使えるということだし あまり大きいと組み込み用途とかでは難しいのかもしれないけど urllibはそんな感じで後発を取り込んでるよね http://mevius.5ch.net/test/read.cgi/tech/1568640311/961
962: デフォルトの名無しさん [sage] 2021/10/19(火) 14:38:55.63 ID:4nkSMT7f 取込みして欲しい http://mevius.5ch.net/test/read.cgi/tech/1568640311/962
963: デフォルトの名無しさん [] 2021/10/23(土) 08:19:13.63 ID:eRVGYV8c AHKで、文字列中の単語の間にスラッシュがある場合はその単語の後ろ(区切り文字やピリオドの前)に閉じ括弧を付けたいのだけど、例えばRegExReplaceを使って実現する方法を誰か教えていただけないでしょうか。 こんな、感じにしたいと思ってます。 変換前: aaa bbb/ccc ddd 変換後: aaa bbb/ccc) ddd http://mevius.5ch.net/test/read.cgi/tech/1568640311/963
964: デフォルトの名無しさん [sage] 2021/10/23(土) 11:35:17.68 ID:0zN24xO8 (\w+\/\w+) $1) 文字列に日本語が入るなら\wを適切なやつに変えて http://mevius.5ch.net/test/read.cgi/tech/1568640311/964
965: デフォルトの名無しさん [] 2021/10/23(土) 15:13:21.57 ID:eRVGYV8c >>964 グループ化って、こうやって使うんでうね。すごく勉強になりましたし、非常に助かりました。ありがとうございます。 http://mevius.5ch.net/test/read.cgi/tech/1568640311/965
966: デフォルトの名無しさん [] 2021/10/27(水) 20:23:03.98 ID:TntzyF5u ●Regular Expressionの使用環境 javascript ●検索か置換か? 検索 ●説明 abcとdefというキーワードが最大1回順不同で出現するのに一致したい ●対象データ abc def→一致 def abc→一致 abc→一致 def→一致 →空白のみでも一致 →何もなくても一致 abc def g→異なる単語が入っていると不一致 簡単な書き方はありますか? http://mevius.5ch.net/test/read.cgi/tech/1568640311/966
967: デフォルトの名無しさん [sage] 2021/10/27(水) 20:44:43.49 ID:dNMmh9m9 >>966 var str = 'なんか'; str.replace(/abc|def/g, ''); if (str.trim() === '') console.log('一致'); else console.log('不一致'); http://mevius.5ch.net/test/read.cgi/tech/1568640311/967
968: デフォルトの名無しさん [sage] 2021/10/27(水) 21:13:34.52 ID:dNMmh9m9 str = str.replace(/abc|def/g, ''); だった http://mevius.5ch.net/test/read.cgi/tech/1568640311/968
969: デフォルトの名無しさん [] 2021/10/27(水) 21:45:36.38 ID:TntzyF5u ありがとうございます。 ちなみに正規表現だけで上記は可能ですか? http://mevius.5ch.net/test/read.cgi/tech/1568640311/969
970: デフォルトの名無しさん [sage] 2021/10/27(水) 22:06:08.57 ID:BM1dPtJu javascript使うんだろ 何で他の式を使ったらダメなの? まあorに空白を入れとけばtrimは不要かもね あと最大1回とは2回出るとダメってことなのか? abcabc→不一致? http://mevius.5ch.net/test/read.cgi/tech/1568640311/970
971: デフォルトの名無しさん [sage] 2021/10/27(水) 22:38:09.67 ID:FvdEROp3 >>966 素直に ^ *(?:(?:abc)? *(?:def)?|(?:def)? *(?:abc)?) *$ じゃだめなの? http://mevius.5ch.net/test/read.cgi/tech/1568640311/971
972: デフォルトの名無しさん [] 2021/10/27(水) 22:44:32.89 ID:TntzyF5u abcabcはabcが2回でるので不一致です。 javascriptの場合教えてもらったコードで問題ないですね。 正規表現だけで表現できると便利だなーとおもったまでです。 >>971 ありだと思います。 http://mevius.5ch.net/test/read.cgi/tech/1568640311/972
973: デフォルトの名無しさん [sage] 2021/10/27(水) 23:05:28.48 ID:h1zi3AMh 967はabcabcに一致するんじゃないかなあ ^(?: |(abc|def)(?!.*\1))*$ http://mevius.5ch.net/test/read.cgi/tech/1568640311/973
974: デフォルトの名無しさん [sage] 2021/10/28(木) 09:10:36.00 ID:Fr3tDLQH >>973 こんな書き方できたんだ。知らんかった。 http://mevius.5ch.net/test/read.cgi/tech/1568640311/974
975: デフォルトの名無しさん [sage] 2021/10/29(金) 00:41:45.01 ID:p2ooNE+J こんなスレがあったんですね 今後お世話になろうと思います^^ http://mevius.5ch.net/test/read.cgi/tech/1568640311/975
976: デフォルトの名無しさん [sage] 2021/10/30(土) 19:56:09.69 ID:y9dUwbDd Pythonの正規表現を変数などに入れておき、他の正規表現の一部として再利用する方法ってあるのでしょうか。 第一の正規表現を hoge =[abcd] としてhogeに格納しておいて、 別の正規表現で (【hoge】|[efg]) のように、【】の部分で変数を引用するイメージです。 http://mevius.5ch.net/test/read.cgi/tech/1568640311/976
977: デフォルトの名無しさん [sage] 2021/10/30(土) 20:12:23.79 ID:FdnrrKGs >>976 普通に文字列で持っておいて結合するだけじゃダメなの? hoge = r'[abcd]' ... r'(' + hoge + r'|[efg])' http://mevius.5ch.net/test/read.cgi/tech/1568640311/977
978: デフォルトの名無しさん [sage] 2021/10/30(土) 20:13:14.90 ID:y9dUwbDd >>966 試しに考えてみました。 問題あればご指摘ください。 abc defのときに、間の空白がどの程度許容されるのかがわかりませんが、とりあえず1文字の空白があってもなくても良い\s?、ということで考えます。 場合分けすると、 abcが冒頭に来るもの(defはあってもなくても可) defが冒頭にくるもの(abcはあってもなくても可) どちらもなく、空白はあってもなくても可 の3種類にわけられますから、 ^abc\s?(def)? ^def\s?(abc)? ^\s? であり、このどれかがあてはまればいいので、 (^abc\s?(def)?| ^def\s?(abc)?|^\s?) となります。 ^は3つに共通しているので、カッコの外に括り出してもいいですね。すると ^ (abc\s?(def)?| def\s?(abc)?|\s?) となります。 http://mevius.5ch.net/test/read.cgi/tech/1568640311/978
979: デフォルトの名無しさん [sage] 2021/10/30(土) 20:19:09.28 ID:y9dUwbDd 3つを合成する時に間に変なスペースが入ってしまっていて、マッチを妨げていました。 ^(abc\s?(def)?|def\s?(abc)?|\s?) ですね。 http://mevius.5ch.net/test/read.cgi/tech/1568640311/979
980: デフォルトの名無しさん [sage] 2021/10/30(土) 20:27:08.27 ID:y9dUwbDd >>977 それは盲点でした! 正規表現オブジェクトの再利用ということばかり考えていましたが、複数の正規表現に同じ文字列を代入すれば同一の効果が得られますね。 ありがとうございます。 http://mevius.5ch.net/test/read.cgi/tech/1568640311/980
981: デフォルトの名無しさん [sage] 2021/10/30(土) 22:28:52.36 ID:lg5lGqAB >>978もですが色々アイデアありがとうございます。 空白の条件は書き忘れですね。 abcとdefの間は空白一つ以上、先頭、末尾は空白あっても無くてもOKでした。 http://mevius.5ch.net/test/read.cgi/tech/1568640311/981
982: デフォルトの名無しさん [sage] 2021/10/30(土) 23:11:57.73 ID:y9dUwbDd >>981 そうであれば ^(abc\s+(def)?|def\s+(abc)?|\s?)\s?$ で良いと思います。 間の空白を1以上とし、 忘れていた行末$を補い、 パターンの後に空白があっても大丈夫なようにしました。 http://mevius.5ch.net/test/read.cgi/tech/1568640311/982
983: デフォルトの名無しさん [sage] 2021/10/30(土) 23:35:05.65 ID:4m+F11LP >>982 それ ' ABC DEF' みたいに先頭に空白があるケースにマッチしなくね? http://mevius.5ch.net/test/read.cgi/tech/1568640311/983
984: デフォルトの名無しさん [sage] 2021/10/30(土) 23:56:32.32 ID:OkX3vbx3 >>982 それ 'ABC' みたいに末尾に空白がないケースにマッチしなくね? http://mevius.5ch.net/test/read.cgi/tech/1568640311/984
985: デフォルトの名無しさん [sage] 2021/10/31(日) 00:22:50.48 ID:Os0N65jy >>984 ご指摘ありがとうございます。 大変勉強になりました ^\\s?(abc(\s+def)?|def(\s+abc)?|\s?)\s?$ のように直しました。 abc のあとにdefが来るとき、 defのあとにabcが来るとき、 これらの場合のみ空白が必須なので、 空白と後に続くものを、まとめて括弧に入れるべきでした。 http://mevius.5ch.net/test/read.cgi/tech/1568640311/985
986: デフォルトの名無しさん [sage] 2021/10/31(日) 00:32:18.65 ID:Os0N65jy ^\s?(abc(\s+def)?|def(\s+abc)?|\s?)\s?$ 冒頭のドルマークが1つ多かったです。 すいません。 あとは、冒頭に\s?を置くのであれば、選択肢の3つ目は不要ですね。 仮に空白文字しかない場合、冒頭の\s?が行末までマッチしてしまいますから、選択肢3つ目で空白がマッチすることはない。 というわけで、3つ目の選択肢を消した別解を考えました。 ^\s?(abc(\s+def)?|def(\s+abc)?)?\s?$ http://mevius.5ch.net/test/read.cgi/tech/1568640311/986
987: デフォルトの名無しさん [sage] 2021/10/31(日) 00:49:08.05 ID:Os0N65jy 何度もすいません。 行頭と行末は、*を使うつもりが、?を使ってたから変なコメントになってました。 ^\s*(abc(\s+def)?|def(\s+abc)?)?\s*$ これで決定校です! http://mevius.5ch.net/test/read.cgi/tech/1568640311/987
988: デフォルトの名無しさん [sage] 2021/11/03(水) 09:32:14.31 ID:u//4ywbB 「正規表現一覧表がパクられた」――DeNAのRPAサービスで個人ブログからの無断転載が発覚 取り下げに https://www.itmedia.co.jp/news/articles/2111/02/news174.html http://mevius.5ch.net/test/read.cgi/tech/1568640311/988
989: デフォルトの名無しさん [sage] 2021/11/03(水) 10:19:24.89 ID:3o+9eeb8 それ見たけど大昔から結構どこにでもある様な表だよね 自意識過剰じゃね? http://mevius.5ch.net/test/read.cgi/tech/1568640311/989
990: デフォルトの名無しさん [] 2021/11/03(水) 11:54:53.38 ID:K+2zXBgv https://murashun.jp/article/programming/regular-expression.html http://mevius.5ch.net/test/read.cgi/tech/1568640311/990
991: デフォルトの名無しさん [] 2021/11/03(水) 13:01:45.68 ID:6fv+OhcH 客観的に観てもコピられた可能性は高いと思うが 裁判で勝てるかどうかは微妙 http://mevius.5ch.net/test/read.cgi/tech/1568640311/991
992: デフォルトの名無しさん [sage] 2021/11/03(水) 13:24:24.94 ID:U7i9huA/ そんなことより改変もまともにできないのはヤバい 正規表現の例 マッチする例 Coo+el Coopel https://pbs.twimg.com/media/FC7n-5zaUAETKej.jpg http://mevius.5ch.net/test/read.cgi/tech/1568640311/992
993: デフォルトの名無しさん [sage] 2021/11/03(水) 14:52:06.73 ID:2qQw+lMw パクられ元にパクられだ疑惑(はてブ情報) http://web.archive.org/web/20210302113534/https://troutlurefishing.jp/regex.htm パクられ元 http://web.archive.org/web/20210118220247/https://murashun.jp/article/programming/regular-expression.html パクリ元 http://web.archive.org/web/20211030075247/https://coopel.ai/help-center/191 http://mevius.5ch.net/test/read.cgi/tech/1568640311/993
994: デフォルトの名無しさん [sage] 2021/11/03(水) 14:56:33.55 ID:V2aH3YMI 態と元・先の使い方がおかしい パクられ先では? http://mevius.5ch.net/test/read.cgi/tech/1568640311/994
995: デフォルトの名無しさん [sage] 2021/11/03(水) 16:19:18.89 ID:epFspok0 そもそもgooooooogleにしておかないでgo...gleにしてる時点で 元パクリサイト(今回の騒動の主)のパクリ確定だな http://mevius.5ch.net/test/read.cgi/tech/1568640311/995
996: デフォルトの名無しさん [sage] 2021/11/03(水) 16:22:38.72 ID:epFspok0 ん? 上の2つどっちが先なんだ? http://mevius.5ch.net/test/read.cgi/tech/1568640311/996
997: デフォルトの名無しさん [sage] 2021/11/03(水) 16:31:21.33 ID:epFspok0 アーカイブされた時間は真ん中が先だな 先後がよくわからんので、>>995の結論については取り消しておく 正規表現を使わない場合、同じ文字の繰り返しって、...以外ではどう表現する? gogle, google, gooogle ... という例ならある程度わかるんだが http://mevius.5ch.net/test/read.cgi/tech/1568640311/997
998: デフォルトの名無しさん [sage] 2021/11/03(水) 16:55:49.57 ID:X6BWa2vR >>997 アーカイヴではそうなる はてブ論調では後述のように解されてるけど、根拠不明 https://b.hatena.ne.jp/entry/s/www.itmedia.co.jp/news/articles/2111/02/news174.html > オリジナルも別のサイト https://troutlurefishing.jp/regex.htm の改変に見えるけど、仮の図表として入れてたのをそのまま出しちゃったんだろうなぁ。。 https://b.hatena.ne.jp/entry/4710603849468972162/comment/roshi http://mevius.5ch.net/test/read.cgi/tech/1568640311/998
999: デフォルトの名無しさん [sage] 2021/11/03(水) 19:48:21.44 ID:ebAE+z9+ ◆関連サイト 正規表現メモ http://www.kt.rim.or.jp/~kbk/regex/regex.html Perl正規表現雑技 http://www.din.or.jp/~ohzaki/regex.htm 詳説 正規表現 http://www.oreilly.co.jp/books/9784873113593/ 正規表現クックブック http://www.oreilly.co.jp/books/9784873114507/ 正規表現プログラミングFAQ http://capslockabcjp.kitunebi.com/faq.html .NET Framework の正規表現 | Microsoft Docs https://docs.microsoft.com/ja-jp/dotnet/standard/base-types/regular-expressions 正規表現 - JavaScript | MDN https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Regular_Expressions 鬼車 https://github.com/kkos/oniguruma 鬼雲 https://github.com/k-takata/Onigmo bregonig.dll(鬼雲の正規表現をサクラエディタ等で使用するためのライブラリ) http://k-takata.o.oo7.jp/mysoft/bregonig.html Boost.Regex 1.45.0 (日本語訳) http://alpha.sourceforge.jp/devel/boost.regex_ja_1_45_0.pdf 秀丸: 複数行にまたがる検索について http://homepage2.nifty.com/jr-kun/hidemaru_qa/4_regulr.html#RETURNS サクラエディタ: 改行 http://d.hatena.ne.jp/myokoym/20101219/1292779058 ※ サクラエディタでは複数行に渡る検索・置換は出来ません。 http://mevius.5ch.net/test/read.cgi/tech/1568640311/999
1000: デフォルトの名無しさん [] 2021/11/03(水) 20:02:22.42 ID:ebAE+z9+ 次スレ Regular Expression(正規表現) Part16 https://mevius.5ch.net/test/read.cgi/tech/1635936601/ http://mevius.5ch.net/test/read.cgi/tech/1568640311/1000
1001: 1001 [] ID:Thread このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 778日 21時間 37分 11秒 http://mevius.5ch.net/test/read.cgi/tech/1568640311/1001
1002: 1002 [] ID:Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。 運営にご協力お願いいたします。 ─────────────────── 《プレミアム会員の主な特典》 ★ 5ちゃんねる専用ブラウザからの広告除去 ★ 5ちゃんねるの過去ログを取得 ★ 書き込み規制の緩和 ─────────────────── 会員登録には個人情報は一切必要ありません。 月300円から匿名でご購入いただけます。 ▼ プレミアム会員登録はこちら ▼ https://premium.5ch.net/ ▼ 浪人ログインはこちら ▼ https://login.5ch.net/login.php http://mevius.5ch.net/test/read.cgi/tech/1568640311/1002
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.354s*