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:e01p03UP157デフォルトの名無しさん
2017/06/01(木) 12:16:30.24ID:o/dQD8LP >>154
特殊な例を一般化するのはよくない
特殊な例を一般化するのはよくない
158デフォルトの名無しさん
2017/06/01(木) 12:52:26.55ID:YbQp1MN1159デフォルトの名無しさん
2017/06/01(木) 12:55:42.58ID:uSxzswpP 検索じゃろ
grep然りsed然りエディタの検索然り
grep然りsed然りエディタの検索然り
160デフォルトの名無しさん
2017/06/01(木) 20:45:19.78ID:YbQp1MN1 >>159
その辺りもエンドユーザー(多くは開発者だと思うけど)に近いところじゃね?
その辺りもエンドユーザー(多くは開発者だと思うけど)に近いところじゃね?
161デフォルトの名無しさん
2017/06/01(木) 21:36:20.85ID:z/dTvzRJ 一般に正規表現自体をどこで使うかの話と違うんか?
プログラマがどこで使うかって文脈に限定してるのんか?
プログラマがどこで使うかって文脈に限定してるのんか?
162デフォルトの名無しさん
2017/06/02(金) 00:26:45.39ID:ixZw1vso perlがそうであったようにログ読んだり整形したりするときにも良く使う。システム管理者。
プログラマによっては無理に正規表現使わないで正規表現を引数に取らないcontainとか複数行で書くって人もいるんじゃないか。入力チェックもそんな考えるような正規表現の出番少ないような。
perlくらい言語に組み込まれてるならともかく。
プログラマによっては無理に正規表現使わないで正規表現を引数に取らないcontainとか複数行で書くって人もいるんじゃないか。入力チェックもそんな考えるような正規表現の出番少ないような。
perlくらい言語に組み込まれてるならともかく。
163デフォルトの名無しさん
2017/06/02(金) 01:15:51.17ID:ZbzhojDH >>156
ヘンケン艦長〜!
ヘンケン艦長〜!
164デフォルトの名無しさん
2017/06/02(金) 14:02:59.19ID:s9L+1vWi 正規表現、難しいですね…全然わかりません
お知恵をおかし下さい
例えば
test = "//abc"; // コメント "です"
という一行があった場合、後半の
// コメント "です"
にだけマッチする正規表現はどのように書いたらいいんでしょうか?
最初は
/(?!.*(\"|\'))\/\/(.*)/
こんなカンジで否定的先読みを利用していたのですが、
コメント部にも、 シングル及びダブルクォーテーションが入る可能性が出てきたので、
この書き方では ?! で否定しているためなのかマッチ出来ません。
何か良い書き方はありますでしょうか?
やりたい事は、PHPなどで、javascriptのソースから単一行のコメントを削除したいです。
よろしくお願い致します。
お知恵をおかし下さい
例えば
test = "//abc"; // コメント "です"
という一行があった場合、後半の
// コメント "です"
にだけマッチする正規表現はどのように書いたらいいんでしょうか?
最初は
/(?!.*(\"|\'))\/\/(.*)/
こんなカンジで否定的先読みを利用していたのですが、
コメント部にも、 シングル及びダブルクォーテーションが入る可能性が出てきたので、
この書き方では ?! で否定しているためなのかマッチ出来ません。
何か良い書き方はありますでしょうか?
やりたい事は、PHPなどで、javascriptのソースから単一行のコメントを削除したいです。
よろしくお願い致します。
165デフォルトの名無しさん
2017/06/02(金) 14:24:22.46ID:zHTMhHhl //((?!//).)*?$
166デフォルトの名無しさん
2017/06/02(金) 20:31:58.40ID:KFrvDlYH PHP は知らん
$perl -ne 'm%((?:\".*?\"|/(?!/)|[^/])*)(.*)% ; printf("<$1> <$2>\n");'
test = "//abc"; // コメント "です"
<test = "//abc"; > <// コメント "です">
// コメント "です"
<> <// コメント "です">
$
$perl -ne 'm%((?:\".*?\"|/(?!/)|[^/])*)(.*)% ; printf("<$1> <$2>\n");'
test = "//abc"; // コメント "です"
<test = "//abc"; > <// コメント "です">
// コメント "です"
<> <// コメント "です">
$
167デフォルトの名無しさん
2017/06/02(金) 21:10:46.42ID:yyLeCvfJ 末尾方向から、// を探して、もしあれば、その行を選択する。
^.*\/\/(ここに、2連続以上の、/ が存在しない)$
/// 例えば、3連続でも、コメント扱いするよな?
test = "///abc"; /// コメント "です"
シングルクォーテーションは、どうするんだ?
test = '///abc'; /// コメント "です"
^.*\/\/(ここに、2連続以上の、/ が存在しない)$
/// 例えば、3連続でも、コメント扱いするよな?
test = "///abc"; /// コメント "です"
シングルクォーテーションは、どうするんだ?
test = '///abc'; /// コメント "です"
168デフォルトの名無しさん
2017/06/02(金) 23:18:34.61ID:cODXM6Ca javascriptだから、シングルダブルは同等機能
"'"とか'"'とか有だし
"\""とかのエスケープもある
"//abc"は文字列だし、"\""//abc"はコメント
"'"とか'"'とか有だし
"\""とかのエスケープもある
"//abc"は文字列だし、"\""//abc"はコメント
169デフォルトの名無しさん
2017/06/03(土) 00:22:48.22ID:02UJhjHA みなさん、ありがとう御座います!
165さんの短いのでサクっと出来ました!
なるほど、末尾から検索をかけるとう考えなんですね。
本当に奥が深くて、使いこなすのは難しいです…
いろんなパターンを作りだし、自由にマッチ出来るよう精進します
>165-167さん、ありがとう御座いました!
165さんの短いのでサクっと出来ました!
なるほど、末尾から検索をかけるとう考えなんですね。
本当に奥が深くて、使いこなすのは難しいです…
いろんなパターンを作りだし、自由にマッチ出来るよう精進します
>165-167さん、ありがとう御座いました!
170デフォルトの名無しさん
2017/06/03(土) 00:23:37.51ID:02UJhjHA >168さん抜けちゃいました(汗
ありがとう御座いました!
ありがとう御座いました!
171165
2017/06/03(土) 01:16:11.91ID:janVI+9u >>169
ツッコミか逆ギレ待ちだったんだが…
165ではコメントが無くてコード中に//がある場合にそのコードの部分にマッチする
削除だとコードを削ってしまうよ
コード中に//が無い場合、またはコード中に//がある場合にその後ろにコメント行がある場合、限定
マトモなのは「JS コメント 正規表現」とかのワードでggr
ツッコミか逆ギレ待ちだったんだが…
165ではコメントが無くてコード中に//がある場合にそのコードの部分にマッチする
削除だとコードを削ってしまうよ
コード中に//が無い場合、またはコード中に//がある場合にその後ろにコメント行がある場合、限定
マトモなのは「JS コメント 正規表現」とかのワードでggr
172デフォルトの名無しさん
2017/06/03(土) 01:49:01.34ID:VDeCcObx s#((?:"(?:\\\\|\\"|[^"])*+"|'(?:\\\\|\\'|[^'])*+'|/(?!/)|[^/])*+)(.*)#<$1>\t<$2>#
173デフォルトの名無しさん
2017/06/03(土) 02:57:17.44ID:02UJhjHA >>171
え!?
限定的なテストで、思ったとおりの動きをしたので、おお!すげー!って思ってました…
実際のスクリプトには、まだ組み込んでないので気付きませんでした
他の方が書かれてた方法も試したり、ググってみますね
え!?
限定的なテストで、思ったとおりの動きをしたので、おお!すげー!って思ってました…
実際のスクリプトには、まだ組み込んでないので気付きませんでした
他の方が書かれてた方法も試したり、ググってみますね
174デフォルトの名無しさん
2017/06/03(土) 04:51:38.86ID:ZUxfcpWv 区切り記号 ; や閉じ括弧 } のあとにスペースかタブいくつかの後に来る // から行末をコメントと見なすのが簡単?
175デフォルトの名無しさん
2017/06/03(土) 12:52:21.44ID:7vig672V コメント化は、プログラムデバッグ中にも命令を無効にするために使うこともあるし、ことはそう簡単じゃないよ
//if(hoge=="http://hoge.net") {//コメント
//if(hoge=="http://hoge.net") {//コメント
176デフォルトの名無しさん
2017/06/03(土) 14:13:52.35ID:ep62Y9tf これは、無限の組み合わせがあるから、正規表現じゃ無理
AST変換とか、LLVMでコンパイル後の命令木をもらって、
コメント部分を削除するとかしないと、自力じゃ無理なレベル
AST変換とか、LLVMでコンパイル後の命令木をもらって、
コメント部分を削除するとかしないと、自力じゃ無理なレベル
177デフォルトの名無しさん
2017/06/03(土) 14:17:50.88ID:sCohk93m うむ
178デフォルトの名無しさん
2017/06/03(土) 14:32:23.81ID:7vig672V こんな場合もあるからね
/* 一行コメントを外す
//*/hoge="abc";
/* 一行コメントを外す
//*/hoge="abc";
179デフォルトの名無しさん
2017/06/03(土) 14:42:13.81ID:mWYP1opd 文脈自由言語の領域か
180デフォルトの名無しさん
2017/06/03(土) 16:26:56.85ID:kz1iKZuq テキストから
06/03(
を抽出する場合、どんな表現になりますか?
06/03(
を抽出する場合、どんな表現になりますか?
181デフォルトの名無しさん
2017/06/03(土) 16:32:48.16ID:7vig672V 何それ限定なの?
06\/03\(
(スラッシュにエスケープが要らない場合もあるけど付けといてダメなことはない)
06\/03\(
(スラッシュにエスケープが要らない場合もあるけど付けといてダメなことはない)
182デフォルトの名無しさん
2017/06/03(土) 20:14:19.78ID:4NkabvDw >>181
sedのsなんかは(をエスケープすると特別な意味を持つんじゃ
sedのsなんかは(をエスケープすると特別な意味を持つんじゃ
183デフォルトの名無しさん
2017/06/03(土) 22:49:00.44ID:yEDWU2+/ 正規表現って本当に色々なパターンでテストしないと抜けがあったりするから怖いね
184デフォルトの名無しさん
2017/06/03(土) 23:15:22.50ID:eiMrU4PF185デフォルトの名無しさん
2017/06/04(日) 00:01:51.87ID:caz8ZVsN 理解してないのに使う方が怖い
186デフォルトの名無しさん
2017/06/04(日) 10:21:55.88ID:ty2rLUEJ >>184
仕様を理解してたらバグがないって? w
仕様を理解してたらバグがないって? w
187デフォルトの名無しさん
2017/06/05(月) 17:11:30.09ID:oWlVC1QB 非欲張り、欲張り、強欲の違いが分からなかったんだけど
ttp://d.hatena.ne.jp/atzy/20110309/p1
これ読んでやっと分かった
こりゃエディタの検索で試してるだけじゃ理解出来なくて当然だね
誰か同じように例を交えて先読みと戻り読みのロジックを解説して欲しい
それか解説してるwebページがあるならリンク貼って下さい
ttp://d.hatena.ne.jp/atzy/20110309/p1
これ読んでやっと分かった
こりゃエディタの検索で試してるだけじゃ理解出来なくて当然だね
誰か同じように例を交えて先読みと戻り読みのロジックを解説して欲しい
それか解説してるwebページがあるならリンク貼って下さい
188デフォルトの名無しさん
2017/06/09(金) 23:50:59.51ID:fJoQB/gQ ●Regular Expressionの使用環境
秀丸 HMJRE.DLL V5.00
●検索か置換か?
置換
●説明
文章最後の文字からEOFまでの 空白(全角半角両方) タブ 改行 を消したい。
●対象データ
AAAAA
BBBBB
CCCCC
[EOF]
●希望する結果
AAAAA
BBBBB
CCCCC[EOF]
秀丸 HMJRE.DLL V5.00
●検索か置換か?
置換
●説明
文章最後の文字からEOFまでの 空白(全角半角両方) タブ 改行 を消したい。
●対象データ
AAAAA
BBBBB
CCCCC
[EOF]
●希望する結果
AAAAA
BBBBB
CCCCC[EOF]
189デフォルトの名無しさん
2017/06/10(土) 10:49:19.67ID:qGbgn0XY190デフォルトの名無しさん
2017/06/10(土) 12:37:04.98ID:6tXlKKLu [ \s]*(?!\n)$(?#maxlines:99999999)
191デフォルトの名無しさん
2017/06/12(月) 04:37:37.47ID:40WtKqR9 >>187
Qiitaなのでコメントまで必ず読むこと
正規表現の先読み/後読みを「絞り込み」と理解してみる - Qiita
http://qiita.com/blackenedgold/items/382704cc54c8e42819d0
[コラム] 正規表現の先読み/後読みは、どう考えても名前が悪いので、呼称禁止令を出してルックと気軽に呼んでみませんか。 - Qiita
http://qiita.com/mochizukikotaro/items/84f3ab2740b8efbe0dc6
後者は日本語表現のネタモノなので理解にはあまり役に立ちませんが
Qiitaなのでコメントまで必ず読むこと
正規表現の先読み/後読みを「絞り込み」と理解してみる - Qiita
http://qiita.com/blackenedgold/items/382704cc54c8e42819d0
[コラム] 正規表現の先読み/後読みは、どう考えても名前が悪いので、呼称禁止令を出してルックと気軽に呼んでみませんか。 - Qiita
http://qiita.com/mochizukikotaro/items/84f3ab2740b8efbe0dc6
後者は日本語表現のネタモノなので理解にはあまり役に立ちませんが
192デフォルトの名無しさん
2017/06/12(月) 04:43:04.94ID:3uouTe/z >>191
ありがとう。読んでみます
ありがとう。読んでみます
193デフォルトの名無しさん
2017/06/15(木) 14:44:28.61ID:p0Tdw73d そもそも「正規表現」が誤訳だし
「先読み/後読み」がどうだって驚かない
「先読み/後読み」がどうだって驚かない
194デフォルトの名無しさん
2017/06/15(木) 17:11:52.26ID:vJds0eqB 名前なのに誤訳ってなんだよ
195デフォルトの名無しさん
2017/06/15(木) 20:46:27.61ID:am9DsefU 「正規表現」が誤訳!!www
196デフォルトの名無しさん
2017/06/15(木) 21:53:29.88ID:5Ry9SVFq 前厄,翻訳,後厄
197デフォルトの名無しさん
2017/06/15(木) 23:55:29.06ID:kDv/IOKj 非正規労働者に謝れ
198デフォルトの名無しさん
2017/06/16(金) 00:00:22.35ID:AvJwaQP1199デフォルトの名無しさん
2017/06/16(金) 00:03:22.93ID:ugmLNmLC まさのりって誰よ?
200デフォルトの名無しさん
2017/06/16(金) 00:09:53.04ID:7387anCt >>198
数学用語で考えると、「正則式」
数学用語で考えると、「正則式」
201デフォルトの名無しさん
2017/06/16(金) 00:28:35.35ID:CHM/yJyC 誤訳にしたくて必死過ぎw
202デフォルトの名無しさん
2017/06/16(金) 00:34:50.74ID:PEuGYK32 確かに数学的にはregularは正則でnormalが正規だけども
正規表現が正則式だの正則表現になったからといって何が分かりやすくなるでもなし
正規表現が正則式だの正則表現になったからといって何が分かりやすくなるでもなし
203デフォルトの名無しさん
2017/06/16(金) 01:26:14.32ID:1cZCMNBu ID変わった時間に擁護
204デフォルトの名無しさん
2017/06/16(金) 03:20:09.01ID:cmFh/xD2 英語圏の人たちにとってもRegular Expressionと言われて
[ \s]* みたいなことか〜て思い浮かぶわけでもなかろ
単に「それを何と呼ぶか」つまり名前付けをどうするってだけのことだよ
ただ日本では(2chだけかもしれないけど)性器表現とか茶々入れる奴がいるのが面倒くさい
[ \s]* みたいなことか〜て思い浮かぶわけでもなかろ
単に「それを何と呼ぶか」つまり名前付けをどうするってだけのことだよ
ただ日本では(2chだけかもしれないけど)性器表現とか茶々入れる奴がいるのが面倒くさい
205デフォルトの名無しさん
2017/06/16(金) 06:44:35.89ID:HukDnr5k 2chに限らずゲスな一般大衆の猿共は真っ先に性器と捉える
正規よりかは正則の方が良かっただろうけど
若い女の子へのセクハラに使えるから正規も捨て難い
まあ今時「せいき」の言葉にモジモジする女子なんて希少だが居なくは無い
正規よりかは正則の方が良かっただろうけど
若い女の子へのセクハラに使えるから正規も捨て難い
まあ今時「せいき」の言葉にモジモジする女子なんて希少だが居なくは無い
206デフォルトの名無しさん
2017/06/16(金) 12:48:55.14ID:dHQ1DtF8 くっさ
207デフォルトの名無しさん
2017/06/16(金) 13:01:55.39ID:KyUpje1a 正規表現で置換
208デフォルトの名無しさん
2017/06/16(金) 16:51:35.05ID:ugmLNmLC >>207
通報した
通報した
209デフォルトの名無しさん
2017/06/16(金) 17:21:44.35ID:HukDnr5k 痴漢の際に性器表現を用いた
210デフォルトの名無しさん
2017/06/16(金) 18:35:19.21ID:1eQLQexT 成基学園ってまだあるんかね
211デフォルトの名無しさん
2017/06/19(月) 22:55:10.17ID:HM1jnBNt システム関係の仕事してるけど正規表現知ってるとホント仕事がはかどるわ
知らん奴いたら教えたくないレベルw
知らん奴いたら教えたくないレベルw
212デフォルトの名無しさん
2017/06/20(火) 00:30:35.64ID:qgvPAN/M システム関係の仕事って自宅警備員のこと?
213デフォルトの名無しさん
2017/06/20(火) 08:43:02.71ID:bMt5HDL+214デフォルトの名無しさん
2017/06/20(火) 12:36:20.94ID:5s5M5H6z 痴漢と挿入
215デフォルトの名無しさん
2017/06/20(火) 16:59:32.57ID:V+xxZfop 表現を抜いてれば完璧
216デフォルトの名無しさん
2017/06/22(木) 00:33:36.51ID:WTVST2HN 痴漢って挿入する前にするものなのか?
217デフォルトの名無しさん
2017/06/25(日) 14:01:32.44ID:cBKwT0iz 挿入したら痴漢じゃなくなるからそういうことだな
218デフォルトの名無しさん
2017/06/25(日) 14:08:45.87ID:cBKwT0iz 質問です。
ttp://hayabusa3.2ch・sc/test/read.cgi/news/1498009569/
↑ここに、「それは文科省にとってリスクか&#12441;あるわけて&#12441;すね。」っていう文章があります。
これをエディタで置換したいです。
秀丸エディタには半角化、全角化があるので、
「&#12441;」を「゛」に、「゛」とその前を半角に、「゙」とその前を全角にと言う手順で全角濁音化することができます。
しかし、段階的に置換すると、[ニダ]と言う文字が[ニダ]となります。
専ブラでなく普通のエディタでメール欄に限定せず「&#12441;」だけをちゃんと全角濁音化するにはどうしたらいいでしょうか。
ttp://hayabusa3.2ch・sc/test/read.cgi/news/1498009569/
↑ここに、「それは文科省にとってリスクか&#12441;あるわけて&#12441;すね。」っていう文章があります。
これをエディタで置換したいです。
秀丸エディタには半角化、全角化があるので、
「&#12441;」を「゛」に、「゛」とその前を半角に、「゙」とその前を全角にと言う手順で全角濁音化することができます。
しかし、段階的に置換すると、[ニダ]と言う文字が[ニダ]となります。
専ブラでなく普通のエディタでメール欄に限定せず「&#12441;」だけをちゃんと全角濁音化するにはどうしたらいいでしょうか。
219デフォルトの名無しさん
2017/06/25(日) 14:14:01.85ID:cBKwT0iz 変換関数をネストして、全角から直接全角に置換すれば大丈夫っぽいです。
スレ汚し失礼しました。
スレ汚し失礼しました。
220デフォルトの名無しさん
2017/06/25(日) 14:17:59.69ID:lrjpj5rj マクロ
221デフォルトの名無しさん
2017/06/25(日) 14:24:13.60ID:cBKwT0iz マクロを覚えるほど気力ないので。
せいぜいキーボードマクロまでですね。
メモ:
1回目「゙」→「゛」
2回目「[か-こさ-そた-と][゛]」→「\((0,ToHankaku),ToZenkakuHira)」
せいぜいキーボードマクロまでですね。
メモ:
1回目「゙」→「゛」
2回目「[か-こさ-そた-と][゛]」→「\((0,ToHankaku),ToZenkakuHira)」
222デフォルトの名無しさん
2017/06/25(日) 14:40:18.89ID:gOEYQ1GV Unicode正規化
223デフォルトの名無しさん
2017/06/25(日) 15:09:28.12ID:cBKwT0iz ID:fr6XvX0v3
DOSコマンドでいけるよ
【.cmd】 バッチファイルスクリプト %12 【.bat】
http://mevius.2ch.net/test/read.cgi/tech/1489207631/
なんかscに書けなくなった。
認証が延々と出てくる。
DOSコマンドでいけるよ
【.cmd】 バッチファイルスクリプト %12 【.bat】
http://mevius.2ch.net/test/read.cgi/tech/1489207631/
なんかscに書けなくなった。
認証が延々と出てくる。
224デフォルトの名無しさん
2017/06/25(日) 15:19:25.37ID:cBKwT0iz >>222
なるほど。
http://hide.maruo.co.jp/lib/hmconv/normalize101.html
> Unicode正規化を行ないます。
> パラメータとしてNFC、NFD、NFKC、NFKDが指定可能です。
Googlエ
> 合成形に正規化する方法を NFC(Normalization Form Composition)
なるほど。
http://hide.maruo.co.jp/lib/hmconv/normalize101.html
> Unicode正規化を行ないます。
> パラメータとしてNFC、NFD、NFKC、NFKDが指定可能です。
Googlエ
> 合成形に正規化する方法を NFC(Normalization Form Composition)
225デフォルトの名無しさん
2017/06/29(木) 16:59:45.11ID:02bfNUCV 質問します
●Meryで置換
●対象データ
wwwwwwwa,AAAAA,gawgagaw,fwaf awfaf
n,BBB,gawgagaw,fwaf awfa,fwaaw,fwaaw
rea,CCCC
ae,DD,gawgagaw,fwaf awfaf ,fwaaw
●希望する結果
カンマ2番目の
AAAAA
BBB
CCCC
DD
を
******
******
******
******
に置換
●
(?<=,).*?(?=[,\n])
までは考えましたがこれ以上力不足でわかりません よろしくお願いします
●Meryで置換
●対象データ
wwwwwwwa,AAAAA,gawgagaw,fwaf awfaf
n,BBB,gawgagaw,fwaf awfa,fwaaw,fwaaw
rea,CCCC
ae,DD,gawgagaw,fwaf awfaf ,fwaaw
●希望する結果
カンマ2番目の
AAAAA
BBB
CCCC
DD
を
******
******
******
******
に置換
●
(?<=,).*?(?=[,\n])
までは考えましたがこれ以上力不足でわかりません よろしくお願いします
226デフォルトの名無しさん
2017/06/29(木) 18:40:30.46ID:poRQnsAj (^.*?,).*?(?=[,¥n])
rea,CCCCのパターンが行末だとできないんだよなー。
rea,CCCCのパターンが行末だとできないんだよなー。
227デフォルトの名無しさん
2017/06/29(木) 18:57:06.54ID:WmvxL1Sm ^([^,]*,)[^,\r\n]+
を
$1******
に置換
"a,b",defのようなものはダメだが
を
$1******
に置換
"a,b",defのようなものはダメだが
228デフォルトの名無しさん
2017/06/30(金) 03:23:16.33ID:9+Qy2E7i229デフォルトの名無しさん
2017/07/06(木) 20:38:45.39ID:zX6kiHLz 質問です。
●Regular Expressionの使用環境
Java Script
●検索か置換か?
置換
●対象データ
abc:ABCDEFG
def:123456789
ghi:くぁwせdr
●希望する結果
上記のような複数行の文字列があったとして、
"123456789"を取り出すにはどのようにしたら良いでしょうか?
条件としては、行頭の"def"をキーにして、
「defで始まる行の、def:の次の文字から行末まで」を取り出したいです。
よろしくお願い致します。
●Regular Expressionの使用環境
Java Script
●検索か置換か?
置換
●対象データ
abc:ABCDEFG
def:123456789
ghi:くぁwせdr
●希望する結果
上記のような複数行の文字列があったとして、
"123456789"を取り出すにはどのようにしたら良いでしょうか?
条件としては、行頭の"def"をキーにして、
「defで始まる行の、def:の次の文字から行末まで」を取り出したいです。
よろしくお願い致します。
230デフォルトの名無しさん
2017/07/07(金) 08:13:19.50ID:QFC9teR0 後読みが使えないJSなら/def:(.*?$)/m
使えるなら/(?<=def:).*?$/m
使えるなら/(?<=def:).*?$/m
231デフォルトの名無しさん
2017/07/08(土) 02:10:34.01ID:OqNCkVph BBCの正規表現クイズ。たまにはこういうのも面白いね
ttp://www.bbc.co.uk/programmes/articles/5LCB3rN2dWLqsmGMy5KYtBf/puzzle-for-today
ttp://www.bbc.co.uk/programmes/articles/5LCB3rN2dWLqsmGMy5KYtBf/puzzle-for-today
232デフォルトの名無しさん
2017/07/08(土) 06:16:34.80ID:b/20QJ7+233デフォルトの名無しさん
2017/07/08(土) 06:17:08.46ID:b/20QJ7+ 訂正
後読みでした。
後読みでした。
234デフォルトの名無しさん
2017/07/08(土) 09:10:13.00ID:NOOXEVdu235デフォルトの名無しさん
2017/07/08(土) 19:51:13.74ID:utlt5XjQ236デフォルトの名無しさん
2017/07/10(月) 01:20:40.78ID:8zNQYoZi237デフォルトの名無しさん
2017/07/15(土) 10:24:03.66ID:/mu01QmD >>231
新しいなコレ!
面白いんでエクセルで入力できるフォーマットを作ってみた
http://www.dotup.org/uploda/www.dotup.org1307951.xls
(拡張子でうちのエクセルが激古なのがバレる…)
新しいなコレ!
面白いんでエクセルで入力できるフォーマットを作ってみた
http://www.dotup.org/uploda/www.dotup.org1307951.xls
(拡張子でうちのエクセルが激古なのがバレる…)
238デフォルトの名無しさん
2017/07/15(土) 12:03:12.72ID:6mzqXSAQ 少しやって時間の問題だなと思って途中で切り上げて答見たけど
数文字しか合ってなかった
最後までやらなくてよかった
数文字しか合ってなかった
最後までやらなくてよかった
239デフォルトの名無しさん
2017/07/25(火) 08:57:23.04ID:QW1aVSBc ●Regular Expressionの使用環境
VBA7.1
●検索か置換か?
検索
●説明
期待する数値の桁数かどうか。拡張子はあっても無くても良い。
●対象データ
AA17-0001.xlsm
AA17-0002
●希望する結果
ifで合致しているかどうかを判定しています。
.Pattern = "^AA\d{2}-\d{4}(\.xlsm$)?"
○AA17-0001.xlsm
○AA17-0002
×AA17-00023
×AA17-00024.xlsm
最後の?を削れば、拡張仕込みであれば上手くいきますが良い方法は
ないでしょうか。
VBA7.1
●検索か置換か?
検索
●説明
期待する数値の桁数かどうか。拡張子はあっても無くても良い。
●対象データ
AA17-0001.xlsm
AA17-0002
●希望する結果
ifで合致しているかどうかを判定しています。
.Pattern = "^AA\d{2}-\d{4}(\.xlsm$)?"
○AA17-0001.xlsm
○AA17-0002
×AA17-00023
×AA17-00024.xlsm
最後の?を削れば、拡張仕込みであれば上手くいきますが良い方法は
ないでしょうか。
240デフォルトの名無しさん
2017/07/25(火) 09:09:17.24ID:jjK7Ecmt241デフォルトの名無しさん
2017/07/25(火) 12:00:47.38ID:QW1aVSBc242デフォルトの名無しさん
2017/07/25(火) 12:23:12.14ID:QW1aVSBc 差し支え無ければ、 ^AA\d{2}-\d{4}(\.xlsm)? だと
ND17-00001
ND17-00001.xlsm2
等々にもマッチしてしまう理由を教えていただけないでしょうか。
ND17-00001
ND17-00001.xlsm2
等々にもマッチしてしまう理由を教えていただけないでしょうか。
243デフォルトの名無しさん
2017/07/25(火) 12:24:08.99ID:QW1aVSBc ミス。AAでした。
AA17-00001
AA17-00001.xlsm2
AA17-00001
AA17-00001.xlsm2
244デフォルトの名無しさん
2017/07/25(火) 12:38:31.42ID:0gI9u146245デフォルトの名無しさん
2017/07/25(火) 13:05:32.38ID:BGzbzmfB ^AA\d{2}-\d{4}(\.xlsm$)?
は
"^AA\d{2}-\d{4}" と "^AA\d{2}-\d{4}\.xlsm$" という意味
AA17-00001
AA17-00001.xlsm2
の "AA17-0000" の部分に前者がマッチする
"^AA\d{2}-\d{4}$" であればマッチしない
は
"^AA\d{2}-\d{4}" と "^AA\d{2}-\d{4}\.xlsm$" という意味
AA17-00001
AA17-00001.xlsm2
の "AA17-0000" の部分に前者がマッチする
"^AA\d{2}-\d{4}$" であればマッチしない
246デフォルトの名無しさん
2017/07/25(火) 13:22:18.59ID:QW1aVSBc247デフォルトの名無しさん
2017/07/25(火) 13:29:36.02ID:oWvKCPb4 ?は「直前のパターンが 0回または 1回登場する事」なので、そのパターン中に、$「行末」を含めてしまうと、(0回登場側で)効果が消えてしまう。
1人で書いてるとよくやるミスだと思う。
1人で書いてるとよくやるミスだと思う。
248デフォルトの名無しさん
2017/07/25(火) 21:26:32.07ID:lTcbRvTI ^AA\d{2}-\d{4}
は実は
^AA\d{2}-\d{4}.*$
だと考えれば理解の助けになるかも。ならないかも。
は実は
^AA\d{2}-\d{4}.*$
だと考えれば理解の助けになるかも。ならないかも。
249デフォルトの名無しさん
2017/07/26(水) 01:05:33.15ID:3rtPYRQF ^AA\d{2}-\d{4}(\.xlsm$)?
$?
行末の後ろに、? か。
この式は、見た瞬間に、おかしいとわかる
$?
行末の後ろに、? か。
この式は、見た瞬間に、おかしいとわかる
250デフォルトの名無しさん
2017/07/26(水) 11:10:37.56ID:Vp/yahqk >>249
文法的にも間違いでは無いだろ
文法的にも間違いでは無いだろ
251デフォルトの名無しさん
2017/07/26(水) 13:08:28.96ID:9H6h7u80 >>250
文法的には正しいけれど、式としておかしい「と感じる事ができる」と言いたいんだと思う。
文法的には正しいけれど、式としておかしい「と感じる事ができる」と言いたいんだと思う。
252デフォルトの名無しさん
2017/07/26(水) 14:48:10.36ID:Vp/yahqk >>251
式としても正しい
式としても正しい
253デフォルトの名無しさん
2017/07/26(水) 14:55:46.30ID:aH2YwDtv 250,252みたいなのをアスペっていうんだろうな
論点は式や文法として正しいか正しくないかではないって事ぐらい一目見れば分かりそうなもんだが
論点は式や文法として正しいか正しくないかではないって事ぐらい一目見れば分かりそうなもんだが
254デフォルトの名無しさん
2017/07/26(水) 16:41:49.04ID:NnPMbS6q きちんと整理すると目的に合わない正規表現が直感的に分かるエスパー能力
としか言いようがないし>>249がその能力者だとしても特に羨ましくもない
としか言いようがないし>>249がその能力者だとしても特に羨ましくもない
255デフォルトの名無しさん
2017/07/26(水) 17:37:15.75ID:UlpW8N7A 例えば、エディタの検索等で強調表示する際の式としてなら何も不思議は無いが
プログラム中での判定式ならば後者は必ず前者にマッチするので意味を成さない
つまり無駄に冗長であったり何かミスをしている可能性が高い。そういう事でしょ
プログラム中での判定式ならば後者は必ず前者にマッチするので意味を成さない
つまり無駄に冗長であったり何かミスをしている可能性が高い。そういう事でしょ
256デフォルトの名無しさん
2017/07/26(水) 17:37:56.28ID:Sop8S35W >>253
プログラマに多いタイプではある
プログラマに多いタイプではある
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【高市朗報】 日本政府「一昨年は1300億円。去年も防衛費が1100億円余ったw」 日本の防衛費は充分足りてる事が判明。増やす必要無し [485983549]
- 高市早苗「支持者の理解を得られないので台湾発言を撤回できない」 [931948549]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 【速報】51歳まで自衛隊になれるように法改正ww [347751896]
