- 1 名前:デフォルトの名無しさん [2013/12/17(火) 14:19:52.00 ]
- Regular Expressionスレです。
質問する場合は必ず実装言語や処理系ソフトウェア名を示してください。 前スレ Regular Expression(正規表現) Part11 toro.2ch.net/test/read.cgi/tech/1362913813/ 天ぷら等2以降
- 116 名前:デフォルトの名無しさん [2013/12/25(水) 18:08:29.45 ]
- s/(\d\d\d(\.|$))/,$1/
- 117 名前:デフォルトの名無しさん mailto:sage [2013/12/25(水) 19:07:10.42 ]
- このスレにいる奴はこれどれくらいできる?
regex.alf.nu/
- 118 名前:デフォルトの名無しさん mailto:sage [2013/12/25(水) 22:14:50.89 ]
- >>117
プログラミングの役に立たない無意味な正規表現を作る能力で何の能力を測るのかが不明。
- 119 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 11:54:11.09 ]
- 正規表現を使ったただの遊びで、
何か測るとか 考えすぎっつーか余裕なさすぎ
- 120 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 12:16:44.97 ]
- >>117
ちゃんとマッチする物作って、点数が低いとかよくわからん。 マッチさせないギリギリを狙うゴルフなんだろか。
- 121 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 13:58:48.86 ]
- >>116
それじゃダメだろ
- 122 名前:デフォルトの名無しさん [2013/12/26(木) 15:39:20.51 ]
- じゃあお前書いてみろよ
- 123 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 15:48:59.72 ]
- >>120
パターンの文字数が少ない方が点数が上がる ドット使いまくり
- 124 名前:デフォルトの名無しさん [2013/12/26(木) 16:07:49.11 ]
- Plain strings (205)
Anchors (204) Ranges (202) Backrefs (197) Abba (183) A man, a plan (165) 素数の逆転がうまくいかねー
- 125 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 18:48:08.56 ]
- >>117
これ解析して正規表現を生成するプログラムは書くことできる?
- 126 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 18:48:35.02 ]
- >>125
当たり前だろ
- 127 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 20:13:22.44 ]
- >>123
なるほど、fooとか入れてくのね。 ありがd。
- 128 名前:デフォルトの名無しさん mailto:sage [2013/12/27(金) 06:30:50.86 ]
- >>126
Prime(0) を生成するプログラムお願いします。
- 129 名前:デフォルトの名無しさん mailto:sage [2013/12/27(金) 08:52:28.55 ]
- Plain strings (207) foo
- 130 名前:デフォルトの名無しさん mailto:sage [2013/12/27(金) 18:44:21.67 ]
- >>124
^(xx+?)\1+$ の逆だから素直に ^(?!(xx+)\1+$)
- 131 名前:デフォルトの名無しさん mailto:sage [2013/12/27(金) 23:49:58.74 ]
- すいません。VBScriptで
抽出した文字列にダブりがあります。 例: AAA BBB AAA CCC BBB CCC これを AAA BBB CCC のように抽出し直すにはどうすればいいでしょうか?
- 132 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 00:43:17.44 ]
- >>131
cat text.txt | sort | uniq
- 133 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 06:02:29.57 ]
- >>132
重複を削れといっているようだが、整列し直せとは言っていない。
- 134 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 09:24:51.01 ]
- >>133
Unixの勉強しましょうね
- 135 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 11:41:43.23 ]
- >>131
正規表現スレだぞ 根本的に勘違いしてる 死んで良いよ
- 136 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 12:25:00.00 ]
- >>134
?
- 137 名前:デフォルトの名無しさん [2013/12/28(土) 12:31:59.03 ]
- >>133
cat text.txt | sort | uniq uniqの部分をしっかり見ろよ
- 138 名前:137 ようわからん mailto:sage [2013/12/28(土) 12:38:28.75 ]
- AAA AAA AAA AAA
BBB BBB BBB BBB AAA CCC CCC CCC CCC BBB BBB CCC CCC CCC この方法だとuniqしたく無い場合に良い。
- 139 名前:デフォルトの名無しさん [2013/12/28(土) 12:43:27.01 ]
- 整列が要件に入っていないのに勝手に整列させるのはまずいって言いたいんじゃないの?
するとsortが使えない、ゆえにuniqが使えないとなって破綻する。 UNIXのコマンドって微妙に使えないのが多くて、微妙に違うだけの同じ目的の コマンドが多くて困る。 解決案として要件の変更が必ず提示されるのも困る。 それでUNIXは廃れたんじゃないかな?
- 140 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 12:49:05.40 ]
- KISSの精神を体現したのがMac。
- 141 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 12:55:41.87 ]
- >>139
要件に入ってない範囲なら整列するもしないも自由なのが常識。
- 142 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 12:58:58.73 ]
- 有るものを押し付けるのがUNIX、お客様の要望するものを用意するのが
Windows。
- 143 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 13:39:07.55 ]
- /imsxadlup の /d /l /u の使い方教えて。英語読めないの。
perldoc.jp/docs/perl/5.14.1/perlre.pod#47l
- 144 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 13:46:20.25 ]
- >>139
それは使いこなせてないんだろ。 Unixのコマンドは90%の解決を目指してる。その方が使いやすい。 自分の要件に合わせた、それにしか使えないコマンドが欲しいならプログラムすればいい。
- 145 名前:デフォルトの名無しさん [2013/12/28(土) 14:11:57.43 ]
- UNIXのコマンドは微妙に使えないのが使いやすい。
使わなくて済むからだ。 〜ジャーゴンニュースより抜粋〜
- 146 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 14:19:31.38 ]
- >>143
/d この修飾子は、パターンマッチングの際にプラットフォーム固有のロケール(ASCIIなど)を使用するように指示する。 ただし、Unicodeを使うべき理由がある場合はこの設定はそちらが優先される。 この修飾子が具体的にパターンマッチングにどのような変化をもたらすかを以下のサンプルで示した。 /l この修飾子は、パターンマッチングの際に現在のロケール設定を使用するように指示する。 このロケール設定はコンパイル時のロケールと同じであるとは限らず、 setlocale()を用いて任意のロケール設定を用いることができる。 /u この修飾子は、パターンマッチングの際にUnicodeのルールを使用するように指示する。
- 147 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 15:07:09.11 ]
- >>141
すでに抽出した行と同じ行は除外するというのが最も自然な アルゴリズムなので、それを期待している可能性が高いから 整列は避けるというのが一番自然。
- 148 名前:143 mailto:sage [2013/12/28(土) 15:17:11.45 ]
- >>146
おお、ありがとうございます。マジで助かりました。 おかげ様でperl 5.14.1の正規表現ルールを全部覚えられました、感謝〜。
- 149 名前:デフォルトの名無しさん [2013/12/28(土) 15:18:54.48 ]
- >>148
どういたしまして。
- 150 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 15:40:23.44 ]
- >>147 普通プログラムの問題だとsort()だけで重複が取れたりするから、 sortするのが当たり前だと思う。 ただ実務では300行に1行重複した行が紛れ込んでそれを削るという ケースがほとんどだから、絶対にsortを掛けたりしないもんだけど。
- 151 名前:デフォルトの名無しさん [2013/12/28(土) 18:44:49.26 ]
- Regular Expressionと関係ねえからよそでやれ
- 152 名前:デフォルトの名無しさん mailto:sage [2013/12/29(日) 01:12:47.99 ]
- そもそも要件に「VBScriptで」って入ってる段階でINIXコマンドは使えないって思うもんじゃね?
- 153 名前:デフォルトの名無しさん mailto:sage [2013/12/29(日) 04:51:41.49 ]
- >>152
そこはまぁCygwinとかMinGW+MSYSとかgnuwin32とかの各コマンド入れればいいって話になるんじゃね。 まぁどのみち正規表現じゃないからVBScriptの相談できる場所で聞けよて終わりなんだけど。
- 154 名前:デフォルトの名無しさん mailto:sage [2013/12/29(日) 09:03:40.37 ]
- >>152
「VBScriptで作ったデータの処理」であって「VBScript で処理しろ」とは書いてないけどな。 まあ、一回きりなら Excel でもいいかもしれないし、VBScript で完結させたいなら Dictionary 使うのが楽。
- 155 名前:デフォルトの名無しさん mailto:sage [2013/12/29(日) 09:15:59.40 ]
- ひとこと、
「正規表現ではできません」でいいのでは。
- 156 名前:デフォルトの名無しさん mailto:sage [2013/12/29(日) 13:27:09.27 ]
- perlならいろんなアクセスの仕方があって遊べる問題なんだけどなぁ。
VBSでやるとしたら正規表現の出番は ^.*$ くらいしか無いんじゃ・・これすら必要無いか・・
- 157 名前:デフォルトの名無しさん mailto:sage [2013/12/29(日) 13:34:16.38 ]
- 無理矢理正規表現でやるなら
1、最終行が1行目になるように順番を逆さまにする 2、s/^(.*)$(?=[\s\S]*^\1$)[\r\n]*//g; 3、1をする これで順番通りの結果になる。
- 158 名前:デフォルトの名無しさん [2014/01/03(金) 02:42:43.46 ]
- Twitterの自分のツイートをデータベースに入れていきたいんだが
公式から正規表現で解析できる?
- 159 名前:デフォルトの名無しさん mailto:sage [2014/01/03(金) 03:57:47.91 ]
- API叩けば?
- 160 名前:デフォルトの名無しさん [2014/01/03(金) 19:20:28.19 ]
- 英文の中から特定の単語を含むセンテンスを抽出する方法を教えてください
環境はPerlです
- 161 名前:デフォルトの名無しさん mailto:sage [2014/01/03(金) 20:03:17.54 ]
- >>160
センテンスごとに特定の単語を表す正規表現がマッチするか調べる。
- 162 名前:デフォルトの名無しさん mailto:sage [2014/01/03(金) 22:39:20.14 ]
- >>160
センテンスの前と後の改行を条件にする
- 163 名前:デフォルトの名無しさん mailto:sage [2014/01/04(土) 12:47:08.01 ]
- >>160
センテンスの開始と終了を正規表現で表し、「特定の単語」をその間に挟む
- 164 名前:デフォルトの名無しさん mailto:sage [2014/01/04(土) 13:10:19.31 ]
- >>160
$text = '英文'; $keyword = '特定の単語'; $regex = qr/(?:\G|[.?!;])\s*((?=[^.?!;]*\b$keyword\b)[^.?!;]+(?:[.?!;]|\z))/; while ($text =~ /$regex/g) { print "$1\n"; } () や "" などの中に文章が再帰的に書かれているようなものは考慮していない.
- 165 名前:デフォルトの名無しさん mailto:sage [2014/01/05(日) 13:52:40.26 ]
- 3.14
- 166 名前:デフォルトの名無しさん mailto:sage [2014/01/07(火) 08:56:16.73 ]
- 修正確認しました!ありがとうございました!
Perl正規表現雑技 www.din.or.jp/~ohzaki/regex.htm#WithoutXYZ
- 167 名前:デフォルトの名無しさん mailto:sage [2014/01/07(火) 19:47:23.30 ]
- >>166
こういう計算方法って初めて見た。なんて名前の学問?なんだろう。
- 168 名前:デフォルトの名無しさん mailto:sage [2014/01/07(火) 21:12:17.73 ]
- こういうのか〜、大学で学べるんだねぇ。
ttp://www.ccn.yamanashi.ac.jp/~ysuzuki/automaton/automaton2012_08.pdf
- 169 名前:デフォルトの名無しさん mailto:sage [2014/01/07(火) 22:41:51.17 ]
- PowerShellスクリプトで仮想ドライブイメージのファイルパスを入力した後に、
パス文字列として正しいかどうかのチェックをしたくて次のようなコードを使ってみました。 Write-Host "マウントする仮想ディスクイメージのパスを入力" Write-Host "例: X:\VHD Images\example01.vhdx" $ImagePath = Read-Host "場所" $ImagePath = $ImagePath -Replace "`"","" Write-Host "入力したパス: "$ImagePath If($ImagePath -inotmatch "[a-z]`:`\[^/:*?`"<>|]+`.vhdx?") { 【TAB】 Write-Host "正しい形式のパスではありません。" } Else { 【TAB】 Write-Host "OK" } しかし、いくら正しいパスを入力しても「正しい形式のパスではありません。」が返されてしまいます。 コード中の正規表現部分はご覧のとおり [a-z]`:`\[^/:*?`"<>|]+`.vhdx? で、 一応ウェブ上の「PHP正規表現チェッカー」とJane用の「ReplaceStr Tool」では問題ありませんでした。 エスケープ文字が\ではなく`という点にも気を付けてチェックしました。 ここまでやってみましたが、問題点の洗い出しができすに困っています。 「OK」を返されるにはどうしたらいいのでしょうか? 尚、Test-Pathコマンドレットの利用はここでは扱わないものしてお願いします。
- 170 名前:デフォルトの名無しさん mailto:sage [2014/01/08(水) 03:15:48.51 ]
- "[a-z]:\\[^/:*?`"<>|]+\.vhdx?"
- 171 名前:デフォルトの名無しさん mailto:sage [2014/01/08(水) 04:27:05.50 ]
- >>170
あれ?エスケープ文字は`だってあっちこっちに書いてあるからその通りにしてたけど、それで動くんですね。 どうもありがとうございます。
- 172 名前:デフォルトの名無しさん mailto:sage [2014/01/08(水) 16:38:03.89 ]
- 最後に $ 付けないと誤爆しそう。
"例: X:\VHD Images\example01.vhdx.damy" あと 「ReplaceStr Tool」 は対象テキストの改行が無視される仕様なので 改行を含むテキストにマッチさせたいときはご注意を。
- 173 名前:デフォルトの名無しさん mailto:sage [2014/01/09(木) 06:00:28.69 ]
- >>172
ありがとうございます。 自分用に使う分には誤爆の心配は一応無いのでいいのですが、きっちりやる時はそうですね。 おっしゃるとおり、ReplaceStr Toolは1行だけのテストにしか使えませんね。 まだ試してはないけど、ベクターにも何やらありますね。
- 174 名前:デフォルトの名無しさん [2014/01/11(土) 20:59:48.36 ]
- C言語のプログラムのソースから宣言されてる全変数を抜き出す正規表現を教えてください
- 175 名前:デフォルトの名無しさん mailto:sage [2014/01/11(土) 23:17:13.53 ]
- 正規表現じゃ無理
- 176 名前:デフォルトの名無しさん mailto:sage [2014/01/12(日) 00:02:13.49 ]
- >>174
変数宣言に関する言語の文法とあなたのコーディングルールを全て列挙できたら考えないこともない。 あとプリプロセッサとコメントは禁止で。 どぞっ。
- 177 名前:デフォルトの名無しさん mailto:sage [2014/01/12(日) 04:23:26.19 ]
- int foo, *bar, baz[8];
char *tai_pei64, honkon32[32]; とりあえずこれだけで考えると int、charで始まる行で、a〜z、A〜Z、0〜9、_、*を含む部分か? 関数を除外するには"("を含んだ行なら無視するか。
- 178 名前:デフォルトの名無しさん mailto:sage [2014/01/12(日) 20:29:15.96 ]
- 目的が分からんけど ctagsとか使ったほうが現実的なんじゃないの
- 179 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 00:11:59.89 ]
- ideone.com/3wrY6i
俺にはムリだな
- 180 名前:デフォルトの名無しさん [2014/01/16(木) 13:18:43.71 ]
- age
- 181 名前:デフォルトの名無しさん [2014/01/16(木) 19:04:22.39 ]
- htmlファイルから、画像リンクの画像のディレクトリだけ取得する方法を教えてください
- 182 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 20:22:08.30 ]
- ターゲットのhtmlのソースを読む
- 183 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 22:02:42.42 ]
- >>181
>>2
- 184 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 22:12:38.67 ]
- >>181
basedir使えよ。環境知らんが。
- 185 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 23:37:49.09 ]
- 定期的にHTMLのパースに関して質問してくる奴が居るが同一人物か?
- 186 名前:デフォルトの名無しさん mailto:sage [2014/01/17(金) 05:59:24.78 ]
- ・文字列を含まない正規表現 (先読みはNG)
・再起を使った正規表現 (??{code})はNG これ作って面白い正規表現のベスト1、2なんだけど使える人が少なすぎる。 もっと普及させようよ。というかまず使えるようになってくれよ。
- 187 名前:デフォルトの名無しさん mailto:sage [2014/01/17(金) 09:27:36.46 ]
- 上は機械的にやるだけだし、作成するのあるのでそれ使えばいいが、なんか本末転倒な気持ちがする。
再*帰* は、すべての正規表現環境で使えないし。
- 188 名前:デフォルトの名無しさん mailto:sage [2014/01/17(金) 14:12:23.47 ]
- まぁ面白いと思う人がいれば..だね。ある種のゲームだと思うんだが。
- 189 名前:デフォルトの名無しさん mailto:sage [2014/01/17(金) 23:28:17.63 ]
- ●Regular Expressionの使用環境
ruby ●検索か置換か? 置換 ●説明 行中の改行を削除したい 以下でやると改行だけでなく改行の前の一文字も何故か消えてうまくいきません 対象データの場合は「元」が消えてしまいます ruby -e 'puts open("input.txt").read.gsub(/[^。¥n]¥n/,"")' > output.txt ●対象データ こんにちはお元 気ですか。 私は元気です。 ●希望する結果 こんにちはお元気ですか。 私は元気です。
- 190 名前:デフォルトの名無しさん [2014/01/18(土) 03:14:41.62 ]
- 何故か消えてじゃねえよ池沼かよ
[^。\n]の意味考えてから投稿しろカス
- 191 名前:デフォルトの名無しさん mailto:sage [2014/01/18(土) 08:28:14.05 ]
- >>189
「行中の改行を削除したい」は矛盾した表現。 「文字列中の改行を削除したい」か「行末の改行を削除してひとつの文字列にしたい」 だと思う。
- 192 名前:デフォルトの名無しさん mailto:sage [2014/01/18(土) 09:04:51.25 ]
- 「句点の直後にない改行を削除」だろうな
(?<!。)\n
- 193 名前:189 mailto:sage [2014/01/18(土) 10:19:24.32 ]
- [^。¥n]は句点のある改行以外の文字と一致することをようやく理解できました
勘違いしていました 192様のやり方でできました みなさまありがとうございました
- 194 名前:デフォルトの名無しさん [2014/01/18(土) 10:42:29.07 ]
- 理解できてねえな
これはガチ池沼に見える
- 195 名前:デフォルトの名無しさん mailto:sage [2014/01/18(土) 11:17:22.59 ]
- どう考えても、素人に対して、回答もせず難癖つけてるアホの方がそう呼ばれると思うがな。
- 196 名前:デフォルトの名無しさん [2014/01/18(土) 11:25:24.11 ]
- 池沼がそう思って自己満足していればいいんじゃね
誰も困らないしね
- 197 名前:デフォルトの名無しさん [2014/01/18(土) 11:38:53.05 ]
- 難癖に見える次元じゃセンス0なのは明らかだから至急他のお仕事探した方がいいと思うよ
次からは↓でどうぞ 正規表現道場 Part2 kohada.2ch.net/test/read.cgi/php/1348048723/
- 198 名前:デフォルトの名無しさん mailto:sage [2014/01/18(土) 13:10:02.66 ]
- くやしいのう
- 199 名前:デフォルトの名無しさん [2014/01/18(土) 14:10:17.09 ]
- 煽れば教えて貰えると思うようじゃ死ぬまで無理だぞ(笑)
- 200 名前:デフォルトの名無しさん mailto:sage [2014/01/18(土) 15:52:02.57 ]
- またオライリーの本が理解出来るほど頭良くない人が暴れてるのか。
- 201 名前:デフォルトの名無しさん mailto:sage [2014/01/18(土) 16:56:55.68 ]
- >>195
難癖っつかツンデレだろ 190「[^。\n]がどういう意味を調べれがそうなった理由がわかるよ」 194「[^。\n]の意味を誤解している。もう一回ちゃんと理解してみよう」 実際[]の意味を適当な解説から丸写しするくらいしか説明する事ない。
- 202 名前:デフォルトの名無しさん mailto:sage [2014/01/18(土) 18:10:45.52 ]
- 俺はもうオートマトンの勉強始めたというのにおまえらは・・
低レベルのダンジョンをいつまでもウロウロしてもしょうがなかろう。
- 203 名前:デフォルトの名無しさん mailto:sage [2014/01/18(土) 18:18:08.51 ]
- 俺の次のステージはこっち。じゃあなおまえら。
生真面目で賢いオートマトンたんに萌える toro.2ch.net/test/read.cgi/shar/1232872347/
- 204 名前:デフォルトの名無しさん [2014/01/18(土) 18:30:16.63 ]
- オートマトン厨か
- 205 名前:デフォルトの名無しさん mailto:sage [2014/01/18(土) 22:24:36.17 ]
- オートマトンを学ぶと↓この問題の答えを表す正規表現が作れるようになるぞ。
news.livedoor.com/article/detail/8239104/
- 206 名前:デフォルトの名無しさん mailto:sage [2014/01/18(土) 22:35:15.56 ]
- 見なくていいように、>>205のタイトルはこれ
【クイズ】狼とヤギと野菜を川の向こうに無事に運ぶ方法を求めよ
- 207 名前:デフォルトの名無しさん mailto:sage [2014/01/19(日) 02:21:57.46 ]
- 今まで知らなかったってとこでお察し
- 208 名前:デフォルトの名無しさん mailto:sage [2014/01/19(日) 04:51:14.32 ]
- 俺が興味あるのは正規表現だけでそれ以外の技術にはまったく興味無いから。
perlの正規表現は誰も使わないようなメタ文字類まで使いこなせるがperlそのものはまるで知らない。
- 209 名前:デフォルトの名無しさん mailto:sage [2014/01/19(日) 05:02:05.90 ]
- >>208
なら机上でやってろよ。
- 210 名前:デフォルトの名無しさん mailto:sage [2014/01/19(日) 05:09:31.17 ]
- >>209
じゃあおまえが上で俺が下な。
- 211 名前:デフォルトの名無しさん [2014/01/19(日) 07:33:31.67 ]
- アッー
- 212 名前:デフォルトの名無しさん mailto:sage [2014/01/19(日) 11:10:20.35 ]
- 俺はもうポケモン卒業したというのにおまえらは・・
- 213 名前:デフォルトの名無しさん mailto:sage [2014/01/19(日) 13:47:41.62 ]
- >>208
厨学生はお気楽でいいな まあその餌では誰も釣れんが
- 214 名前:デフォルトの名無しさん mailto:sage [2014/01/20(月) 00:35:22.22 ]
- ・文字列を含まない正規表現
・Ardenの規則 ネットには正しい解説が見当たらなかった2つ。どうやらこの辺がネット独学(笑)の限界らしい。 大学レベルの内容すら出てこないとはな、ネットのレベル低すぎる・・。
- 215 名前:デフォルトの名無しさん mailto:sage [2014/01/20(月) 00:36:44.71 ]
- まあ、ネット使ってる大学生はないから仕方ないよw
- 216 名前:デフォルトの名無しさん mailto:sage [2014/01/20(月) 00:51:42.18 ]
- んだね、さて、寝る。
|

|