[過去ログ] Regular Expression(正規表現) Part15 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1
(2): 2019/09/16(月)22:25 ID:enU8we0d(1/2) AAS
Regular Expressionスレです。

質問する場合は必ず実装言語や処理系ソフトウェア名を示してください。

前スレ
Regular Expression(正規表現) Part14
2chスレ:tech

次スレは>>980宜しく
天ぷら等>>2以降
973
(1): 2021/10/27(水)23:05 ID:h1zi3AMh(1) AAS
967はabcabcに一致するんじゃないかなあ

^(?: |(abc|def)(?!.*\1))*$
974: 2021/10/28(木)09:10 ID:Fr3tDLQH(1) AAS
>>973
こんな書き方できたんだ。知らんかった。
975: 2021/10/29(金)00:41 ID:p2ooNE+J(1) AAS
こんなスレがあったんですね
今後お世話になろうと思います^^
976
(1): 2021/10/30(土)19:56 ID:y9dUwbDd(1/5) AAS
Pythonの正規表現を変数などに入れておき、他の正規表現の一部として再利用する方法ってあるのでしょうか。

第一の正規表現を
hoge =[abcd]
としてhogeに格納しておいて、

別の正規表現で
(【hoge】|[efg])

のように、【】の部分で変数を引用するイメージです。
977
(1): 2021/10/30(土)20:12 ID:FdnrrKGs(1) AAS
>>976
普通に文字列で持っておいて結合するだけじゃダメなの?
hoge = r'[abcd]'
...
r'(' + hoge + r'|[efg])'
978
(1): 2021/10/30(土)20:13 ID:y9dUwbDd(2/5) AAS
>>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?)
となります。
979: 2021/10/30(土)20:19 ID:y9dUwbDd(3/5) AAS
3つを合成する時に間に変なスペースが入ってしまっていて、マッチを妨げていました。

^(abc\s?(def)?|def\s?(abc)?|\s?)
ですね。
980
(1): 2021/10/30(土)20:27 ID:y9dUwbDd(4/5) AAS
>>977
それは盲点でした!
正規表現オブジェクトの再利用ということばかり考えていましたが、複数の正規表現に同じ文字列を代入すれば同一の効果が得られますね。

ありがとうございます。
981
(1): 2021/10/30(土)22:28 ID:lg5lGqAB(1) AAS
>>978もですが色々アイデアありがとうございます。

空白の条件は書き忘れですね。

abcとdefの間は空白一つ以上、先頭、末尾は空白あっても無くてもOKでした。
982
(2): 2021/10/30(土)23:11 ID:y9dUwbDd(5/5) AAS
>>981
そうであれば

^(abc\s+(def)?|def\s+(abc)?|\s?)\s?$
で良いと思います。

間の空白を1以上とし、
忘れていた行末$を補い、
パターンの後に空白があっても大丈夫なようにしました。
983: 2021/10/30(土)23:35 ID:4m+F11LP(1) AAS
>>982
それ ' ABC DEF' みたいに先頭に空白があるケースにマッチしなくね?
984
(1): 2021/10/30(土)23:56 ID:OkX3vbx3(1) AAS
>>982
それ 'ABC' みたいに末尾に空白がないケースにマッチしなくね?
985: 2021/10/31(日)00:22 ID:Os0N65jy(1/3) AAS
>>984
ご指摘ありがとうございます。
大変勉強になりました

^\\s?(abc(\s+def)?|def(\s+abc)?|\s?)\s?$

のように直しました。
abc のあとにdefが来るとき、
defのあとにabcが来るとき、
これらの場合のみ空白が必須なので、
空白と後に続くものを、まとめて括弧に入れるべきでした。
986: 2021/10/31(日)00:32 ID:Os0N65jy(2/3) AAS
^\s?(abc(\s+def)?|def(\s+abc)?|\s?)\s?$

冒頭のドルマークが1つ多かったです。
すいません。

あとは、冒頭に\s?を置くのであれば、選択肢の3つ目は不要ですね。
仮に空白文字しかない場合、冒頭の\s?が行末までマッチしてしまいますから、選択肢3つ目で空白がマッチすることはない。
というわけで、3つ目の選択肢を消した別解を考えました。

^\s?(abc(\s+def)?|def(\s+abc)?)?\s?$
987: 2021/10/31(日)00:49 ID:Os0N65jy(3/3) AAS
何度もすいません。
行頭と行末は、*を使うつもりが、?を使ってたから変なコメントになってました。

^\s*(abc(\s+def)?|def(\s+abc)?)?\s*$

これで決定校です!
988: 2021/11/03(水)09:32 ID:u//4ywbB(1) AAS
「正規表現一覧表がパクられた」――DeNAのRPAサービスで個人ブログからの無断転載が発覚 取り下げに
外部リンク[html]:www.itmedia.co.jp
989: 2021/11/03(水)10:19 ID:3o+9eeb8(1) AAS
それ見たけど大昔から結構どこにでもある様な表だよね
自意識過剰じゃね?
990: 2021/11/03(水)11:54 ID:K+2zXBgv(1) AAS
外部リンク[html]:murashun.jp
991: 2021/11/03(水)13:01 ID:6fv+OhcH(1) AAS
客観的に観てもコピられた可能性は高いと思うが
裁判で勝てるかどうかは微妙
992: 2021/11/03(水)13:24 ID:U7i9huA/(1) AAS
そんなことより改変もまともにできないのはヤバい

正規表現の例 マッチする例
Coo+el    Coopel

画像リンク

993: 2021/11/03(水)14:52 ID:2qQw+lMw(1) AAS
パクられ元にパクられだ疑惑(はてブ情報)
 外部リンク[htm]:web.archive.org

パクられ元
 外部リンク[html]:web.archive.org

パクリ元
 外部リンク:web.archive.org
994: 2021/11/03(水)14:56 ID:V2aH3YMI(1) AAS
態と元・先の使い方がおかしい
パクられ先では?
995
(1): 2021/11/03(水)16:19 ID:epFspok0(1/3) AAS
そもそもgooooooogleにしておかないでgo...gleにしてる時点で
元パクリサイト(今回の騒動の主)のパクリ確定だな
996: 2021/11/03(水)16:22 ID:epFspok0(2/3) AAS
ん? 上の2つどっちが先なんだ?
997
(1): 2021/11/03(水)16:31 ID:epFspok0(3/3) AAS
アーカイブされた時間は真ん中が先だな
先後がよくわからんので、>>995の結論については取り消しておく

正規表現を使わない場合、同じ文字の繰り返しって、...以外ではどう表現する?
gogle, google, gooogle ... という例ならある程度わかるんだが
998: 2021/11/03(水)16:55 ID:X6BWa2vR(1) AAS
>>997
アーカイヴではそうなる
はてブ論調では後述のように解されてるけど、根拠不明
外部リンク[html]:b.hatena.ne.jp

> オリジナルも別のサイト 外部リンク[htm]:troutlurefishing.jp の改変に見えるけど、仮の図表として入れてたのをそのまま出しちゃったんだろうなぁ。。
外部リンク:b.hatena.ne.jp
999: 2021/11/03(水)19:48 ID:ebAE+z9+(1/2) AAS
◆関連サイト
正規表現メモ
外部リンク[html]:www.kt.rim.or.jp
Perl正規表現雑技
外部リンク[htm]:www.din.or.jp

詳説 正規表現
外部リンク:www.oreilly.co.jp
正規表現クックブック
外部リンク:www.oreilly.co.jp

正規表現プログラミングFAQ
外部リンク[html]:capslockabcjp.kitunebi.com
.NET Framework の正規表現 | Microsoft Docs
外部リンク:docs.microsoft.com
正規表現 - JavaScript | MDN
外部リンク:developer.mozilla.org
鬼車
外部リンク:github.com
鬼雲
外部リンク:github.com
bregonig.dll(鬼雲の正規表現をサクラエディタ等で使用するためのライブラリ)
外部リンク[html]:k-takata.o.oo7.jp
Boost.Regex 1.45.0 (日本語訳)
外部リンク[pdf]:alpha.sourceforge.jp

秀丸: 複数行にまたがる検索について
外部リンク[html]:homepage2.nifty.com

サクラエディタ: 改行
外部リンク:d.hatena.ne.jp
※ サクラエディタでは複数行に渡る検索・置換は出来ません。
1000: 2021/11/03(水)20:02 ID:ebAE+z9+(2/2) AAS
次スレ
Regular Expression(正規表現) Part16
2chスレ:tech
1001
(1): 1001 ID:Thread(1/2) AAS
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 778日 21時間 37分 11秒
1002
(1): 1002 ID:Thread(2/2) AAS
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。

───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
外部リンク:premium.5ch.net

▼ 浪人ログインはこちら ▼
外部リンク[php]:login.5ch.net
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 1.546s*