[過去ログ] Regular Expression(正規表現) Part15 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
1(2): 2019/09/16(月)22:25 ID:enU8we0d(1/2) AAS
Regular Expressionスレです。
質問する場合は必ず実装言語や処理系ソフトウェア名を示してください。
前スレ
Regular Expression(正規表現) Part14
2chスレ:tech
次スレは>>980宜しく
天ぷら等>>2以降
876: 2021/10/16(土)10:40 ID:Yt5Fp2tM(1) AAS
悔しそう
877: 2021/10/16(土)10:48 ID:PMQb3sBw(1/5) AAS
質問者より先に回答者に対してあーだこーだ言ってくる奴にロクな奴はいない
と同時に質問者の自演の可能性もある
>>872-873みたいなのは分かってて聞いてるからそういうレスこそ不要なのでは、という疑問です
878: 2021/10/16(土)11:02 ID:+QyAV8Aw(1) AAS
悔しそう
879: 2021/10/16(土)11:15 ID:6ga3nra2(4/21) AAS
あまり偏屈な人は回答しないほうがいいと思うけど、現実世界で阻害されている偏屈な人ほどねじ曲がった回答に生きがいを見出してしまう
880: 2021/10/16(土)11:24 ID:PMQb3sBw(2/5) AAS
機械から見て無駄のない極力短い正規表現を作れる俺カッコイイみたいな自己満な人もいるからねえ
おれは、ぱっと見て分かりやすいとか修正しやすい書き方するなあ
そうすることでデメリットが多くなってしまうなら別だけどね
まぁケチ付けることが目的の人がいても仕方ないけど
881: 2021/10/16(土)11:25 ID:xOMo/rXl(1) AAS
けど...しまう
882: 2021/10/16(土)11:27 ID:PMQb3sBw(3/5) AAS
本当に知識がある人は知識マウント取らずに、
なぜそういう回答をしているのか推察できるからいちいち突っ込まない
どうしても回答したい場合は、他の回答者には触れず回答だけ書く
883(1): 2021/10/16(土)11:42 ID:y3W2HSwc(1) AAS
874だけで終わっとけば良かったのにw
884(1): 2021/10/16(土)11:52 ID:yYNJhuOF(1) AAS
自演バレバレでも「悔しそう」に反応せずにはいられなかったんだろ
長文が自己紹介過ぎて笑える
885: 2021/10/16(土)11:59 ID:6ga3nra2(5/21) AAS
MUST、SHOULD、MAYの理解が不完全な人はなんでもMUST扱いしたがる
冗長性を理解できない着物警察の思考様式
886(1): 2021/10/16(土)12:03 ID:qP61rC0r(1) AAS
おれも-はエスケープするな
つか+もエスケープする
エスケープ可能なのはエスケープしとく
887: 2021/10/16(土)12:30 ID:9AQLH6H/(1) AAS
俺は極力しない
888: 2021/10/16(土)12:33 ID:FxLIumwg(1) AAS
しないんじゃないかな
889: 2021/10/16(土)12:39 ID:igFsF4z+(1) AAS
ま ちょっと覚悟はしておけ
890: 2021/10/16(土)12:41 ID:BzHPp6pT(1) AAS
なんとなくプラスマイナスの順にしたいから ^[+\-]?[0-9]+ って書くかな
891(2): 2021/10/16(土)12:47 ID:akCvqHZs(2/4) AAS
質問者です
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 ID:akCvqHZs(3/4) AAS
しかもハット忘れて偶然できてただけだっった(笑)
うーむ
893: 2021/10/16(土)12:59 ID:akCvqHZs(4/4) AAS
^[-+]?[0-9]+$
こうか
894: 2021/10/16(土)13:52 ID:wy7RR+Lb(1/2) AAS
>>891
re.fullmatchで
895: 2021/10/16(土)14:12 ID:UbsVp7JO(1) AAS
fullmatchってあったのか
そりゃそうか
896: 2021/10/16(土)14:38 ID:6SnREp4P(1) AAS
正規表現スレで、円マークという誤解を招く表現はやめてほしい
バックスラッシュと表現すれば誤解を招かない
897: 2021/10/16(土)15:20 ID:1kPG7eLG(1) AAS
回答で円記号を使われるのは気になる
わざわざ置き換え指示するくらいなら最初から正しく書けばいいのに
898: 2021/10/16(土)15:25 ID:CFrnAbxP(1) AAS
承認欲求を満たせないと見るや他人を下げて自分を上げようとする人は
自己評価は高いんだけど周りからの評価は低く不満を溜め込んでるタイプ
5chあるあるだけど中には粘着する人もいるので気をつけようね
899(1): 2021/10/16(土)16:28 ID:q69AYoXR(1) AAS
ID:6ga3nra2のことか
900: 2021/10/16(土)16:51 ID:UUKQ6Z7Y(1) AAS
>>899
おしい!
901: 2021/10/16(土)17:35 ID:VO4IgATZ(1) AAS
"質問者"や"回答者"という立場を異常に強調するのは
"質問者"の承認が欲しくて堪らないから
承認が得られない場合や承認を得ることを邪魔された(と感じた)ら
自己防衛のために他者を攻撃する
攻撃の度合いが強い人ほど病んでる度合いも強い
902: 2021/10/16(土)17:49 ID:hNeyEW9L(1/8) AAS
「俺は\でエスケープしてるけど気になるなら取ってくれ」
で済ませられなかったのかねえ
903: 2021/10/16(土)18:00 ID:QrnrtPBD(1) AAS
>○○してもいい」が「○○しなければならない」に置き換わってしまう人
これ自分の紹介かよ
エスケープしなければならない病に罹ってるな
904: 2021/10/16(土)18:03 ID:a3RnthCp(1) AAS
香ばしい奴にイチイチ構うな
そうやって相手するからそこに価値を見出してレス乞食へと変質して行くんだ
スルー出来ないおまえらも似たようなガイジ予備軍
905: 2021/10/16(土)18:03 ID:r+1DV466(1) AAS
>>883 に一票
まあそういう所にしか突っ込めない人がいるって思ってりゃいいかと
906: 2021/10/16(土)18:21 ID:6ga3nra2(6/21) AAS
なにか勘違いしている人多いみたいなんで説明しとく
そもそもcharactter rangeでの先頭または末尾での-を明確に定義しているのはPerlとPythonぐらいしかなく、
正規表現ライブラリのpcre, re2, boost, Onigmo いずれの文書にも記述はない。
よってpcre, re2, boost, Onigmoで"[-az]", "[az-]", "[a\-z]" が同じ動作をする保証はない。
以下に示したOnigmoの文法説明では182行目で明確に'-'の使用を求めている。
外部リンク[ja]:github.com
907: 2021/10/16(土)18:26 ID:6ga3nra2(7/21) AAS
誤:以下に示したOnigmoの文法説明では182行目で明確に'-'の使用を求めている。
正:以下に示したOnigmoの文法説明では182行目で明確に'-\'の使用を求めている。
外部リンク[ja]:github.com
grepコマンドの組み込み正規表現の場合、文字集合で'-'を指定できるのは末尾のみ。以下にURLを添えとく。
外部リンク[html]:linuxjm.osdn.jp
908: 2021/10/16(土)18:37 ID:6ga3nra2(8/21) AAS
ちなみに、仕様書に先頭末尾の'-'に関する記述がないpcreやOnigmoでも"[-az]", "[az-]", "[a\-z]" が同じ動作をするのでひとまず安心していい
909(2): 2021/10/16(土)18:50 ID:hNeyEW9L(2/8) AAS
C#等、javascript,Powershell,WSH、Rubyなど全部同じ動作する
エスケープを強要するものがあるのなら実例を出してみろよ
910(2): 2021/10/16(土)18:58 ID:6ga3nra2(9/21) AAS
念のため書いとくが、Java正規表現にも.NET正規表現にも文字集合の先頭末尾エスケープなしハイフンに関する記述は見当たらない
Javaの正規表現
外部リンク[html]:docs.oracle.com
.NET の正規表現
外部リンク:docs.microsoft.com
911: 2021/10/16(土)19:02 ID:6ga3nra2(10/21) AAS
>>909
実際のプログラムがどう動くかはあまり重要じゃないね
仕様書がすべてだよ
912(1): 2021/10/16(土)19:03 ID:hNeyEW9L(3/8) AAS
>>910
引っ込みがつかなくなったのかよ
後付の理論だってことは、>>874-875を見ればよく分かるぞ
913(1): 2021/10/16(土)19:12 ID:nVB+19gH(1) AAS
>>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.
外部リンク:docs.microsoft.com
914(1): 2021/10/16(土)19:12 ID:6ga3nra2(11/21) AAS
>>912
何度も書くが、MUST、SHOULD、MAYはまったく違うものだよ
混同しないことだ
915: 2021/10/16(土)19:17 ID:6ga3nra2(12/21) AAS
>>909
.NETを列挙せず、C#・PowerShell・WSHを別々に列挙した時点で ID:hNeyEW9L が素人さんなのはよくわかった
>>913
訂正ありがとう
916: 2021/10/16(土)19:23 ID:6ga3nra2(13/21) AAS
Onigmoなにそれうまいの、という人のために説明しとくとサクラエディタの正規表現はOnigmoを採用してる
917: 2021/10/16(土)19:27 ID:BO6yK2Ly(1/2) AAS
C++の正規表現クラスは引数でJavascriptの正規表現を選べます。
これは良いかもしれない。
918: 2021/10/16(土)19:30 ID:ciQBbSHj(1) AAS
(規格確認してないけど)そもそもC++のstd::regexってECMA-262の規格を参照, になってなかったっけ
Boost::RegexはPCRE2とかの表現力があったけど標準入りの時点で文書化された規格参照になってた記憶
919: 2021/10/16(土)19:35 ID:BO6yK2Ly(2/2) AAS
std::regexはgrepとかawkとかあまりうれしい人が居無さそうなオプションもあるんだけど、ECMAScriptは多くの人がうれしくなるのでは?
920(1): 2021/10/16(土)19:47 ID:1zNIFcv9(1/2) AAS
WSHの正規表現って言語エンジン(VBScript、JScript等)それぞれで実装されてるのかと思ってたけど、俺の勘違い?
.NETの正規表現エンジンが使われることがあったりする?
921: 2021/10/16(土)20:29 ID:Kqq2n1Gw(1) AAS
マジキモいっすね
エスケープするしないの問題じゃないのに「なにか勘違いしてる人多いみたいなんで説明しとく」てwww
922(2): 2021/10/16(土)20:37 ID:wy7RR+Lb(2/2) AAS
PCREに明記されてるからね
外部リンク[html]:www.pcre.org
The minus (hyphen) character can be used to specify a range of characters in a character class. For example, [d-m] matches any letter between d and m, inclusive. If a minus character is required in a class, it must be escaped with a backslash or appear in a position where it cannot be interpreted as indicating a range, typically as the first or last character in the class, or immediately after a range.
923(2): 2021/10/16(土)20:39 ID:I2E7AJLT(1) AAS
>>920
スクリプトエンジンの指定(jscript9等)はできるけど、正規表現エンジンの指定はできないはず
少なくとも自分は知らない
924: 2021/10/16(土)20:43 ID:75KO56vr(1/2) AAS
論理的に反論できなくなると人格攻撃するしかなくなっちゃうんだろうね
925: 2021/10/16(土)20:50 ID:hNeyEW9L(4/8) AAS
>>922
さすがに[b-d-z]は気持ち悪いな
926(1): 2021/10/16(土)20:56 ID:kPRtjNBv(1) AAS
質問した人は気を悪くしたかもしれないけど
>>873の質問はいい質問だったね
いろんな意味で
927: 2021/10/16(土)20:56 ID:6ga3nra2(14/21) AAS
>>922
訂正ありがとう
それはさておき、先頭または末尾でハイフンを指定する場合はエスケープしてはならないみたいな仕様はあるんだろうか?
928(1): 2021/10/16(土)21:00 ID:hNeyEW9L(5/8) AAS
>>914
どこを読めばそうなる?
俺は最初からそういう哲学を持っているのなら、絶対に>>874-875のような回答にはなってないだろって言ったんだぞ
929: 2021/10/16(土)21:00 ID:6ga3nra2(15/21) AAS
>>926
仕様外動作に備えてエスケープは必要、というのが回答になると思いますけどね
930(1): 2021/10/16(土)21:02 ID:6ga3nra2(16/21) AAS
>>928
理由をひとつだけに絞ってるのはなぜ?
人間側の理由、仕様側の理由、それぞれあるでしょ
931(1): 2021/10/16(土)21:05 ID:hNeyEW9L(6/8) AAS
>>930
レス内容と時間経過で、最初はそんなことを露ほども思ってなかったのが
理由を探してそっちのほうに話を持っていったのが分かるからさ
932(1): 2021/10/16(土)21:12 ID:6ga3nra2(17/21) AAS
>>931
全然違う。>>874-875は人間側の理由として完結しているけど追加で、仕様側の理由も書いただけだよ
書いた本人が言ってるのに推理小説みたいに無駄に裏読みしても意味ないよ
あなた、ひょっとしてモリカケ問題にのめりこんでるタイプ?
933: 2021/10/16(土)21:12 ID:PMQb3sBw(4/5) AAS
>>884
>>891でお礼の一言もないから自演なのかやっぱ
934(1): 886 2021/10/16(土)21:15 ID:75KO56vr(2/2) AAS
思ってたよりエスケープ可能なのはエスケープする人はいないもんなんだな
オレは機械的にエスケープしてるのも少なくないのでより多めではあるんだろうけど
935(1): 2021/10/16(土)21:17 ID:hNeyEW9L(7/8) AAS
>>932
>>875で、してもいい、しなければいけないに拘ってるところが
仕様に明記されてないから書くべきとの哲学を持ってる人がするレスではない
ということ
936: 2021/10/16(土)21:24 ID:6ga3nra2(18/21) AAS
>>935
仕様に明記されてないということは「仕様外」という意味にしかならないよ
書くべきと思い込んでいるのはあなたのほうだし、技術板で哲学とかなにを言いたいのかわからないし
精神病んで休職してるのが伝わってくるから、そのくらいにしとけば?
937(1): 2021/10/16(土)21:31 ID:iYaW2gC3(1) AAS
>>923
指定したスクリプトエンジンの中で .NET の正規表現エンジン使う奴はあるのか?
ってことだと思う
俺の知る限り多分ない
938(1): 2021/10/16(土)21:33 ID:hNeyEW9L(8/8) AAS
>>875は、書かなくてもいいというのを肯定してて、けれども書いたほうがより良い
という考えでないと出てこない
最初から書くべきだと思ってる人なら書いてない文章だ
939: 2021/10/16(土)21:36 ID:PMQb3sBw(5/5) AAS
質問者と回答者(ID:6ga3nra2)が同一人物で自演って事?
940: 2021/10/16(土)21:43 ID:6ga3nra2(19/21) AAS
>>938
マジで病んでるな
好きなだけ赤木ファイルの謎を追いかけたらいい
941: 2021/10/16(土)21:54 ID:6ga3nra2(20/21) AAS
Microsoft Beefs Up VBScript with Regular Expressions
外部リンク:docs.microsoft.com
Regular Expression Syntax (JavaScript)
外部リンク:docs.microsoft.com
942: 2021/10/16(土)21:57 ID:kP7MiIn1(1) AAS
色々な意味や方面でガチの人は理解しないし理解されないよなあ
943: 2021/10/16(土)22:11 ID:caYv+2Nn(1) AAS
ホモ以外は帰れ
944: 2021/10/16(土)22:24 ID:6ga3nra2(21/21) AAS
むしろホモが帰れ
945: 2021/10/16(土)23:17 ID:senq7Tfg(1) AAS
あやふやだったら全部エスケープすればまぁ動く
同僚やlinterに文句言われるくらい
946: 2021/10/16(土)23:39 ID:1zNIFcv9(2/2) AAS
>>923
>>937
ありがとう
WSH共通のオプション的なものにしろスクリプトエンジン側にしろ、.NETの正規表現エンジンが使われるケースが思いつかなかったんだけど、一般的な認識みたいで安心したよ
947: 2021/10/17(日)07:56 ID:mIAwyFSs(1/2) AAS
esc幾つも入れるより、\Q\Eの方がスマートな気がしてるんだけどあんまり使われないのは何で?
948: 2021/10/17(日)08:28 ID:N+Nl+RmC(1) AAS
Perl以外じゃ使えないから
まぁ、他でもメタ文字をそのまま使えるオプションが有るのがほとんどだけどね
949: 2021/10/17(日)10:24 ID:mIAwyFSs(2/2) AAS
そうなのか、ありがとう
950: 2021/10/17(日)18:01 ID:p8oc8mfi(1) AAS
Pythonお使いの方、正規表現は、reとregexのどっち使っていますか?
regexがアトミックグループをサポートしている、などという話は知識として知ってはいるのですが、
reが残っているということはreにも実用上の優位点があるということですよね。それは何なのでしょうか
951: 2021/10/17(日)21:30 ID:E1qJZsEj(1) AAS
ないよ。regex使えるなら使うべき
952: 2021/10/17(日)23:24 ID:rEReGylo(1) AAS
コアに入れてしまった以上、気楽になくせないだけじゃないの
953: 2021/10/18(月)00:56 ID:fcbr/1wh(1) AAS
昔reで書いたコードを書き直さずに使えるのが最大のメリットだと思うけど
954: 2021/10/18(月)01:10 ID:IgDyba7Y(1) AAS
「後方互換を破壊するに足る理由」が無いので、そのまま残されている
955: 2021/10/18(月)07:31 ID:XtnzC8HY(1) AAS
>>934
だってエスケープしてるなんて
おともだちに知られたら恥ずかしいし
956: 2021/10/18(月)08:28 ID:CI2UP6iO(1) AAS
エスケープは恥だが役に立つ
957: 2021/10/18(月)08:46 ID:PPwA/bGd(1) AAS
python2からpython3への後方互換の捨てっぷりを思えば、
さっさとreを捨ててregexが標準になってもおかしくないはずだが、そうなっていないのはなにか事情があるのかな?
958: 2021/10/18(月)08:55 ID:K+CpcSgx(1) AAS
reで不便したことないけどregexにしかない有用機能ってなにがあるの?
959: 2021/10/18(月)14:36 ID:TKHV76Qy(1) AAS
日本語などの処理とか
960: 2021/10/19(火)11:49 ID:q6QnFAh4(1) AAS
pythonistaでregexインストールしようとしたら、c言語使ってるんで無理だよ的メッセージが出ました。
そうなると、re使うしかないわけで、そういう意味では存在価値ありますね。
961: 2021/10/19(火)13:36 ID:WfNe98xT(1) AAS
reがregexを取り込めばいいってだけなのでは?
少なくともreが対応してる範囲でregexも同様に使えるということだし
あまり大きいと組み込み用途とかでは難しいのかもしれないけど
urllibはそんな感じで後発を取り込んでるよね
962: 2021/10/19(火)14:38 ID:4nkSMT7f(1) AAS
取込みして欲しい
963: 2021/10/23(土)08:19 ID:eRVGYV8c(1/2) AAS
AHKで、文字列中の単語の間にスラッシュがある場合はその単語の後ろ(区切り文字やピリオドの前)に閉じ括弧を付けたいのだけど、例えばRegExReplaceを使って実現する方法を誰か教えていただけないでしょうか。
こんな、感じにしたいと思ってます。
変換前: aaa bbb/ccc ddd
変換後: aaa bbb/ccc) ddd
964(1): 2021/10/23(土)11:35 ID:0zN24xO8(1) AAS
(\w+\/\w+)
$1)
文字列に日本語が入るなら\wを適切なやつに変えて
965: 2021/10/23(土)15:13 ID:eRVGYV8c(2/2) AAS
>>964
グループ化って、こうやって使うんでうね。すごく勉強になりましたし、非常に助かりました。ありがとうございます。
966(3): 2021/10/27(水)20:23 ID:TntzyF5u(1/3) AAS
●Regular Expressionの使用環境
javascript
●検索か置換か?
検索
●説明
abcとdefというキーワードが最大1回順不同で出現するのに一致したい
●対象データ
abc def→一致
def abc→一致
abc→一致
def→一致
→空白のみでも一致
→何もなくても一致
abc def g→異なる単語が入っていると不一致
簡単な書き方はありますか?
967: 2021/10/27(水)20:44 ID:dNMmh9m9(1/2) AAS
>>966
var str = 'なんか';
str.replace(/abc|def/g, '');
if (str.trim() === '') console.log('一致');
else console.log('不一致');
968: 2021/10/27(水)21:13 ID:dNMmh9m9(2/2) AAS
str = str.replace(/abc|def/g, '');
だった
969: 2021/10/27(水)21:45 ID:TntzyF5u(2/3) AAS
ありがとうございます。
ちなみに正規表現だけで上記は可能ですか?
970: 2021/10/27(水)22:06 ID:BM1dPtJu(1) AAS
javascript使うんだろ
何で他の式を使ったらダメなの?
まあorに空白を入れとけばtrimは不要かもね
あと最大1回とは2回出るとダメってことなのか?
abcabc→不一致?
971(1): 2021/10/27(水)22:38 ID:FvdEROp3(1) AAS
>>966
素直に
^ *(?:(?:abc)? *(?:def)?|(?:def)? *(?:abc)?) *$
じゃだめなの?
972: 2021/10/27(水)22:44 ID:TntzyF5u(3/3) AAS
abcabcはabcが2回でるので不一致です。
javascriptの場合教えてもらったコードで問題ないですね。
正規表現だけで表現できると便利だなーとおもったまでです。
>>971 ありだと思います。
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
画像リンク[jpg]:pbs.twimg.com
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-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.041s