正規表現 Part9
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2011/12/11(日) 10:19:30.25質問する場合は必ず実装言語や処理系ソフトウェア名を示してください。
正規表現 Part8
http://hibari.2ch.net/test/read.cgi/tech/1301067486/
0002デフォルトの名無しさん
2011/12/11(日) 10:19:38.70犬猫子供を出せば、馬鹿は見るだろ?
某テレビ局在日社員
0003デフォルトの名無しさん
2011/12/11(日) 10:19:56.63正規表現メモ
http://www.kt.rim.or.jp/~kbk/regex/regex.html
Perl正規表現雑技
http://www.din.or.jp/~ohzaki/regex.htm
Regular Expression(Riue ちゃんの正規表現講座)
http://www.sixnine.net/regexp/
正規表現パズル
http://www.geocities.jp/oraclesqlpuzzle/regex/
詳説 正規表現
http://www.oreilly.co.jp/books/4873111307/
正規表現プログラミングFAQ
http://capslockabcjp.kitunebi.com/faq.html
JScript 正規表現の概説
http://msdn.microsoft.com/library/ja/script56/html/js56reconIntroductionToRegularExpressions.asp
.NET Framework 正規表現言語要素
http://msdn.microsoft.com/library/ja/cpgenref/html/cpconregularexpressionslanguageelements.asp
【 初心者 】 正規表現 【 入門 】
http://funcchan.blog16.fc2.com/
0004デフォルトの名無しさん
2011/12/11(日) 10:20:14.78[UNIX板] 正規表現
http://pc12.2ch.net/test/read.cgi/unix/1039165754/
[WebProg] 正規表現道場
http://pc11.2ch.net/test/read.cgi/php/1168450843/
◆前スレ
[1] http://pc8.2ch.net/test/read.cgi/tech/1062152374/
[2] http://pc8.2ch.net/test/read.cgi/tech/1131028296/
[3] http://pc11.2ch.net/test/read.cgi/tech/1156413899/
[4] http://pc11.2ch.net/test/read.cgi/tech/1186030400/
[5] http://pc12.2ch.net/test/read.cgi/tech/1212498448/
[6] http://pc12.2ch.net/test/read.cgi/tech/1241537764/
[7] http://hibari.2ch.net/test/read.cgi/tech/1268979408/
[8] http://hibari.2ch.net/test/read.cgi/tech/1301067486/
0005デフォルトの名無しさん
2011/12/11(日) 10:20:30.40●正規表現の使用環境
Java1.5
●検索か置換か?
検索
●説明
各行の1番目のAまでを検索したい
●対象データ
ABCA
BCAA
CABA
●希望する結果
ABCA
^
BCAA
^^^
CABA
^^
0006デフォルトの名無しさん
2011/12/11(日) 17:26:51.350007デフォルトの名無しさん
2011/12/11(日) 20:38:47.00どうした?
0008デフォルトの名無しさん
2011/12/11(日) 20:47:52.130009デフォルトの名無しさん
2011/12/11(日) 21:33:05.40●希望する結果
ABCA
^
BCAA
^^^
CABA
^^
これわかりにくいだろ
アンダーラインのつもりだったのかよ
0010デフォルトの名無しさん
2011/12/11(日) 21:41:11.540011デフォルトの名無しさん
2011/12/11(日) 22:20:26.340012851
2011/12/11(日) 23:27:56.52perlのオプションが2種類あることを知らないで適当書いてしまいました、申し訳ない..
>>998
ご指摘ありがとうございました
0013デフォルトの名無しさん
2011/12/12(月) 16:43:32.38http://jp2.php.net/manual/ja/function.preg-match.php
>flags には以下のフラグを指定できます。
>PREG_OFFSET_CAPTURE
>このフラグを設定した場合、各マッチに対応する文字列のオフセットも返されます。 これにより matches の値は配列となり、 配列の要素 0 はマッチした文字列、 要素 1は対象文字列中におけるマッチした文字列のオフセット値 となることに注意してください。
PHPの話です。
この、PREG_OFFSET_CAPTUREという機能がすごく有り難いのですが、、
この機能は、preg_match関数だけにしかないのでしょうか?
PHPで他にもこの機能を持った関数はあるのでしょうか?
マルチバイトの関数でこの機能があれば有り難いのですが、なんかないですよね?
0014デフォルトの名無しさん
2011/12/12(月) 19:01:14.890015デフォルトの名無しさん
2011/12/14(水) 02:34:01.670016デフォルトの名無しさん
2011/12/14(水) 03:36:16.77このスレに常駐してる奴にそんなこと分かるわけないだろ。
0017デフォルトの名無しさん
2011/12/14(水) 11:36:40.540018デフォルトの名無しさん
2011/12/15(木) 03:38:33.31鬼車の再帰の作り方教えて
0019デフォルトの名無しさん
2011/12/15(木) 04:33:00.06鬼車のマニュアル: http://www.geocities.jp/kosako3/oniguruma/doc/RE.ja.txt
技評の記事(3ページ目): http://gihyo.jp/dev/serial/01/ruby/0006
0020デフォルトの名無しさん
2011/12/15(木) 10:03:14.980021デフォルトの名無しさん
2011/12/15(木) 10:10:23.05>19はどちらも日本語だと思うが。
0022デフォルトの名無しさん
2011/12/16(金) 05:45:43.65括弧の数を数えるコードを書くほうが効率悪いかも。
0023デフォルトの名無しさん
2011/12/16(金) 10:16:24.49ご意見を頂ければ幸いです。
/(-1)|^[\d]+/
●正規表現の使用環境
PHP Version 5.1.6
●検索か置換か?
検索
●説明
金額の数値チェックですが、
負の数である-1のみ入力を許可します。
0は許可します。
-1, 0, 1, 2, ..., 10, ..., 100,
●対象データ
数値(金額)
●希望する結果
× -10
…
× -2
○ -1
○ 0
…
○ 10
○ 11
0024デフォルトの名無しさん
2011/12/16(金) 10:32:32.30\A(?:-1|0|[1-9]\d*)\z
○0
×00
×000
0025デフォルトの名無しさん
2011/12/16(金) 20:06:59.35数値をなぜわざわざ正規表現でチェックするの?
0026デフォルトの名無しさん
2011/12/16(金) 21:21:23.51その方がif文より速い、と思い込んでるんだろうね
0027デフォルトの名無しさん
2011/12/17(土) 02:17:24.290028デフォルトの名無しさん
2011/12/17(土) 03:08:04.31●言語JavaScript
●置換
●説明
以前このスレで教えてもらった表現が仕様変更で使えなくなったので再び尋ねにきました
以下のようにURLを置換する正規表現を教えてください
http://*.bp.blogspot.com/*/*/*/*/s*/*
↓
http://*.bp.blogspot.com/*/*/*/*/s2048/*
.replace(/^(http:\/\/[^/]+\.bp\.blogspot\.com\/(?:[^/]+\/){4)[^/]+\/([^/]+)$/i,"$s2048")
0029デフォルトの名無しさん
2011/12/17(土) 03:15:29.42\sには\vが含まれてない。
ホワイトスペースは明示的に指定した方が良いな。
003029
2011/12/17(土) 03:30:16.80実際には\vが出てくる機会は無いんだろうけど。
万が一使われて不具合でる場合に、速度犠牲にしても明示的な指定が良いことはある。
0031デフォルトの名無しさん
2011/12/17(土) 03:38:09.840032デフォルトの名無しさん
2011/12/17(土) 09:11:00.48数値比較だろうがw
0033デフォルトの名無しさん
2011/12/17(土) 09:45:46.47要件でのチェック処理はjavascriptでした。
改修前のソースが正規表現で書かれていたので、そこに固執していました。
ありがとうございます。
var num; // 画面からの入力
if ( num >= -1) {
// 入力値OK
} else {
// 入力値NG
}
0034デフォルトの名無しさん
2011/12/17(土) 11:29:20.090035デフォルトの名無しさん
2011/12/17(土) 11:32:37.06>●対象データ
>数値(金額)
0036デフォルトの名無しさん
2011/12/17(土) 11:46:23.910037デフォルトの名無しさん
2011/12/17(土) 11:47:32.580038デフォルトの名無しさん
2011/12/17(土) 12:14:41.040039デフォルトの名無しさん
2011/12/17(土) 12:34:48.56変換(削除)してやれよ、それくらい。
0040デフォルトの名無しさん
2011/12/17(土) 14:52:29.170041デフォルトの名無しさん
2011/12/19(月) 22:11:17.71c#
●検索か置換か?
検索
●説明
一番長い数字の連続を検索したいです
●対象データ
hogehoge120_hoge001218hoge1
●希望する結果
001218
0042デフォルトの名無しさん
2011/12/19(月) 22:18:10.47正規表現だけじゃ無理
0043デフォルトの名無しさん
2011/12/19(月) 23:00:23.94string max = "";
foreach (Match m in Regex.Matches(s, "\\d+"))
if (m.Value.Length > max.Length)
max = m.Value;
Console.WriteLine(max);
0044デフォルトの名無しさん
2011/12/19(月) 23:10:12.46やってみます。
0045デフォルトの名無しさん
2011/12/20(火) 03:52:43.400046デフォルトの名無しさん
2011/12/22(木) 09:07:36.05^\sd{4}$
とはどういう意味を表しているのでしょうか?
0047デフォルトの名無しさん
2011/12/22(木) 09:10:41.340048デフォルトの名無しさん
2011/12/22(木) 09:14:41.46ありがとうございます。
ということは
[ 1234]
のような値でしょうか?
0049デフォルトの名無しさん
2011/12/22(木) 09:16:04.630050デフォルトの名無しさん
2011/12/22(木) 09:25:03.640-9のどれか1文字なら d じゃなくて \d
テンプレのリンクから一番やさしそうなの見つけて読んで
0051デフォルトの名無しさん
2011/12/22(木) 09:27:26.26そういうのを「思い込み」と言う
0052デフォルトの名無しさん
2011/12/22(木) 09:33:46.25ありがとうございます。
ということは
[ dddd]
なんですね。ということはこれはバグのような・・
0053デフォルトの名無しさん
2011/12/22(木) 10:22:43.300054デフォルトの名無しさん
2011/12/22(木) 10:29:57.87Dim oReg
Set oReg = New RegExp
oReg.IgnoreCase = False
oReg.Pattern = "^\sd{4}$"
If oReg.Test(" dddd") Then
msgbox "hit!"
Else
msgbox "ng"
End If
0055デフォルトの名無しさん
2011/12/22(木) 10:36:57.010056デフォルトの名無しさん
2011/12/22(木) 10:40:21.24print "hit!" if (" dddd" =~ /^\sd{4}$/);
で十分。
べーしっくは大変ですなw
0057デフォルトの名無しさん
2011/12/22(木) 14:46:34.310058デフォルトの名無しさん
2011/12/22(木) 15:04:10.770059デフォルトの名無しさん
2011/12/22(木) 15:21:10.19マッチしてるんだからヒットで良くね?
0060デフォルトの名無しさん
2011/12/22(木) 17:07:10.080061デフォルトの名無しさん
2011/12/22(木) 21:51:46.32呼んだ?
0062デフォルトの名無しさん
2011/12/22(木) 23:34:54.980063デフォルトの名無しさん
2011/12/24(土) 03:42:49.260064デフォルトの名無しさん
2011/12/28(水) 12:07:44.210001233C,ソレ・ナンテ・エロゲ<TAB>0001233C,Sore nante eroge
000123DD,買ってこい<TAB>000123DD,iyadesu
000123DD,なんだコノ・モノズキ<TAB>000123DD,Daisuki
<TAB>は実際にはタブに置き換え
こんな感じのタブと,で区切られたテキストがあるのですが
//ここから
0001233C,ソレ・ナンテ・エロゲ<TAB>0001233C,Sore nante eroge
,ソレ
,ナンテ
,エロゲ
000123DD,買ってこい<TAB>000123DD,iyadesu
000123DD,なんだコノ・モノズキ<TAB>000123DD,Daisuki
,なんだコノ
,モノズキ
//ここまで
<TAB>は実際にはタブに置き換え
と、したいのですがどのようにすれば正規表現で置換する出来ますか?
"・"の数がまちまちなのと、行全体は残しつつ次の行に分割することが出来ず悩んでいます
0065デフォルトの名無しさん
2011/12/28(水) 12:38:02.35行全体を同じ物で置換
0066デフォルトの名無しさん
2011/12/28(水) 12:45:21.06鬼車に置換機能はないというのはおいとくとして、
数が不定という点で正規表現だけではどうにもならんな。
$1とかで取り出す以上、上限を決めるとかしないと。
0067デフォルトの名無しさん
2011/12/28(水) 13:23:02.79()の中に()も出来るのか…なんでできないと思い込んでた。
行全体の方は解決できました。ありがとうございます。
>66
理解できてませんでした。サクラエディタ使ってます。
"・"の数は 無し,1個,2個 のいずれか。
現状でこんな感じのものを作ってみたのですが変な所で切れたり"・"が残ったりします
空白行は消すのであっても構いませんのですが、良い方法は在りませんか?
([0-9]{2}[a-zA-Z0-9]{6},(.+)・(.+)・?(.+)\t.+)
\1\r\n,\2\r\n,\3\r\n,\4\r\n
//ここから
0001233C,ソレ・ナンテ・エロゲ 0001233C,Sore nante eroge
,ソレ・ナンテ
,エロ
,ゲ
//ここまで
0068デフォルトの名無しさん
2011/12/28(水) 13:50:26.350069デフォルトの名無しさん
2011/12/28(水) 14:31:25.37希望通りの分割が出来ました
良く分からない所があるのですがもう一度解説している所を読んで理解したいと思います
有難うございました
0070デフォルトの名無しさん
2011/12/28(水) 23:11:31.85顔文字に見えた。
堅め開けた、しわくちゃの老人
0071デフォルトの名無しさん
2011/12/29(木) 22:53:43.17ex.) @12345
ただ、データの中に「<a href=”〜”>@12345</a>」のようにHTMLタグのリンクタグが付与している場合があり、その場合でもマッチするようにしたいです。
「<a href=”〜”>@〜</a>」でも「@〜」でもマッチするようにするにはどうすればいいのでしょうか?
0072デフォルトの名無しさん
2011/12/29(木) 23:27:18.01こういうことかな?
いまいち質問がわかりづらい
次に質問するときはテンプレつかってくれ
0073デフォルトの名無しさん
2011/12/29(木) 23:34:40.120074デフォルトの名無しさん
2011/12/30(金) 00:43:50.80@\d+ でいずれもマッチするが、簡単すぎてどこで躓いているのかよくわからん
0075デフォルトの名無しさん
2011/12/30(金) 01:01:46.87先頭じゃない場合もあるからじゃない?
0076デフォルトの名無しさん
2011/12/30(金) 01:02:54.620077デフォルトの名無しさん
2011/12/30(金) 06:36:35.31このスレにいてRuby 1.9に使われてる正規表現エンジンの名前を知らんとはな。
スレのテンプレに、主要な正規表現ライブラリの紹介があってもいいかもしれない。
0078デフォルトの名無しさん
2011/12/30(金) 10:08:17.68そんなのべたべた貼っても読まねぇ
0079デフォルトの名無しさん
2011/12/30(金) 20:39:29.00だからこそ環境書けと言われるワケで
逆に環境以上のことは蛇足じゃねーの
0080デフォルトの名無しさん
2011/12/30(金) 20:46:28.600081デフォルトの名無しさん
2011/12/30(金) 21:57:21.070082デフォルトの名無しさん
2011/12/30(金) 22:00:14.08無事希望通りなものができました。
また質問が出たときはテンプレ使って質問しようと思います。
ありがとうございました。
0083デフォルトの名無しさん
2011/12/30(金) 22:07:07.87置換
●説明
reverse関数のように、文字を逆順にする
対象は半角のみで、全角は使わないので考慮しないで構わない
●対象データ
114514
810snpi
go
●希望する結果
415411
ipns018
og
0084デフォルトの名無しさん
2011/12/30(金) 23:18:54.380085デフォルトの名無しさん
2011/12/31(土) 14:29:13.56The document has moved <a href="http://www.hoge.com/">here</a>.
Match m = Regex.Match(line, "href=\"(http://\S)\"", RegexOptions.IgnoreCase);
↑そこでそういうプログラムを組んでみたのですが正規表現の部分でエラーが発生してコンパイルエラーになってしまいます。
正しくプログラムするにはどうしたらいいでしょうか?
0086片山博文MZ ◆0lBZNi.Q7evd
2011/12/31(土) 14:31:08.49"href=\"(http://\\S)\""が正しい。
0087デフォルトの名無しさん
2011/12/31(土) 14:32:06.620089デフォルトの名無しさん
2011/12/31(土) 14:44:16.900090片山博文MZ ◆0lBZNi.Q7evd
2011/12/31(土) 14:47:23.37そこまで考えるなら、パーサのHTML Tidyを使う。
009185
2011/12/31(土) 14:57:57.85\をもう一つ付けることでコンパイルに無事成功しましたm(_ _)m
0092片山博文MZ ◆0lBZNi.Q7evd
2011/12/31(土) 15:23:43.320093デフォルトの名無しさん
2011/12/31(土) 16:03:03.630094デフォルトの名無しさん
2012/01/01(日) 01:25:06.560095デフォルトの名無しさん
2012/01/01(日) 03:21:35.010097デフォルトの名無しさん
2012/01/01(日) 09:38:04.030098デフォルトの名無しさん
2012/01/01(日) 15:31:57.270099デフォルトの名無しさん
2012/01/01(日) 15:41:01.14アマゾンに\4,000(送料別)の中古があったよ
0100デフォルトの名無しさん
2012/01/01(日) 16:58:17.25ありがとうです。でもまだ高いorz
0101デフォルトの名無しさん
2012/01/01(日) 17:24:17.39C#
●検索か置換か?
置換
●説明
文字列の先頭の部分のカッコを消したい
●対象データ
(hoge)あいうえお
●希望する結果
hogeあいうえお
よろしくお願いします
0102デフォルトの名無しさん
2012/01/01(日) 17:27:41.94\1\2
0103デフォルトの名無しさん
2012/01/01(日) 22:40:14.79●正規表現の使用環境
perl5
●検索か置換か?
置換
●説明
全角,句読点と半角の間を消したい
半角と半角は無視
●対象データ
みんなの憧れ Justin Drew Bieber が大好き
私だけの Justin が欲しい
やっぱ Bieber 、Bieber って響きがいいよね
●希望する結果
みんなの憧れJustin Drew Bieberが大好き
私だけのJustinが欲しい
やっぱBieber、Bieberって響きがいいよね
今までは([ぁ-煕]+)と([0-9A-Za-z]+)を組み合わせて何回もやっていたのですが
例題の1行目の様な物が煩わしいので一括に処理したいです
お願いします
0104デフォルトの名無しさん
2012/01/01(日) 22:58:24.51↓
\1
0105デフォルトの名無しさん
2012/01/01(日) 23:11:50.26ご回答ありがとうございます
しかし、それでは全角と半角の間以外のスペースも消えてしまうので
想定した動きと違います。ごめんなさい。
0106デフォルトの名無しさん
2012/01/01(日) 23:38:06.310107デフォルトの名無しさん
2012/01/02(月) 13:39:42.23(犬.*猫)|(猫.*犬)
と書けばいいですよね
では、文字列「犬」と「猫」と「鳥」と「牛」の全てを含む一行を検索する場合はどのように書けばいいのでしょうか?
0108デフォルトの名無しさん
2012/01/02(月) 13:56:54.73正規表現だけは諦めて。
0109デフォルトの名無しさん
2012/01/02(月) 14:02:57.11A=array("犬", "猫", "鳥", "牛");
function hantei(str) {
for(n=0; n<count(A); n++) if(str.find(A[n])==FALSE) return FALSE;
return TRUE; }
0110デフォルトの名無しさん
2012/01/02(月) 14:07:39.080111104
2012/01/02(月) 14:47:35.93たまに誤認識シてたのはそれだったのかも知れませんね
unicode対応らしい物を探してきました
・(英数字以外) (英数字)のパターン
([^([,?!-<>?….!々〇?\u3400-\u9FFF\uF900-\uFAFF]|[\uD840-\uD87F][\uDC00-\uDFFF])]) ([々〇?\u3400-\u9FFF\uF900-\uFAFF]|[\uD840-\uD87F][\uDC00-\uDFFF]+)
・(英数字) (英数字以外)のパターン
([々〇?\u3400-\u9FFF\uF900-\uFAFF]|[\uD840-\uD87F][\uDC00-\uDFFF]+) ([^([,?!-<>?….!々〇?\u3400-\u9FFF\uF900-\uFAFF]|[\uD840-\uD87F][\uDC00-\uDFFF])])
とりあえず個々には動作してるように見えるのですが、これをひとつに纏めつつ
「全 半 全」「全 半 半 全」「全 半全」「全半 全」を満たすように書き換えたいのですがそれがわかりません…
0112デフォルトの名無しさん
2012/01/02(月) 14:52:30.99検索対象の文字コードに依存する。
ASCIIだけの特徴を使って検索するのが、仕様変更などにも対応できる可能性。
0113112
2012/01/02(月) 15:03:03.29[ ]*(([0-9A-Za-z]+ ?){1,})[ ]*
\1
0114112
2012/01/02(月) 15:05:57.040115デフォルトの名無しさん
2012/01/02(月) 15:09:47.82(犬.*猫.*鳥.*牛)|(犬.*猫.*牛.*鳥)|(犬.*鳥.*猫.*牛)|(犬.*鳥.*牛.*猫)|(犬.*牛.*猫.*鳥)|(犬.*牛.*鳥.*猫)|
0116112
2012/01/02(月) 15:11:27.97[ ]*(([0-9A-Za-z]+ ){0,}[0-9A-Za-z]+)[ ]*
\1
0117デフォルトの名無しさん
2012/01/02(月) 15:32:48.770118デフォルトの名無しさん
2012/01/02(月) 15:46:13.41最後が|だから、これからシリーズでUpしてくれるよ
0119デフォルトの名無しさん
2012/01/02(月) 15:58:19.28十二支の場合はどうする気だよww
0120デフォルトの名無しさん
2012/01/02(月) 16:03:10.71正規表現で全パターンは負荷かかりすぎ。
0121デフォルトの名無しさん
2012/01/02(月) 16:11:59.61^((?!犬).)*$|^((?!猫).)*$|^((?!馬).)*$|^((?!鳥).)*$
を削除すれば
0122デフォルトの名無しさん
2012/01/02(月) 16:18:48.970123デフォルトの名無しさん
2012/01/02(月) 16:21:22.320124122
2012/01/02(月) 16:28:08.70これでおk
長すぎるって怒られたから改行しといた
(?:犬.*(?:(猫)?.*鳥.*牛.*(?(1)|猫)|(鳥)?.*猫.*牛.*(?(2)|鳥)|牛.*(?:猫.*鳥|鳥.*猫))|
猫.*(?:(鳥)?.*牛.*犬.*(?(3)|鳥)|(牛)?.*鳥.*犬.*(?(4)|牛)|犬.*(?:鳥.*牛|牛.*鳥))|
鳥.*(?:(牛)?.*犬.*猫.*(?(5)|牛)|(犬)?.*牛.*猫.*(?(6)|犬)|猫.*(?:牛.*犬|犬.*牛))|
牛.*(?:(犬)?.*猫.*鳥.*(?(7)|犬)|(猫)?.*犬.*鳥.*(?(8)|猫)|鳥.*(?:犬.*猫|猫.*犬)))
0125デフォルトの名無しさん
2012/01/02(月) 16:28:52.240126デフォルトの名無しさん
2012/01/02(月) 16:29:46.90試してみたのですが 「aaaaa - aaaaaa」 や 「aa aaaa」なども消えてしまいます
全角と半角の間のスペースを消すだけなので、例題に載せなかったのがいけなかったのかもしれません。
>104を正規表現で表現するのは難しいのでしょうか?
環境は多分utf-8なので条件依存していても構わないのですが。
0127126
2012/01/02(月) 16:31:28.71↓
>103を正規表現で表現するのは難しいのでしょうか?
に修正します。すみません
0128デフォルトの名無しさん
2012/01/02(月) 16:33:40.56>しかし、それでは全角と半角の間以外のスペースも消えてしまうので
例えばどういうの?サンプルが少なすぎる
0129デフォルトの名無しさん
2012/01/02(月) 16:36:55.88子・丑・寅・卯・辰・巳・午・未・申・酉・戌・亥だろ?
あまり使われなさそうな文字列をピンポイントで検索するとか
→ (戌.*亥)|(亥.*戌)
又は
→ (猪.*亥)|(亥.*猪)
とりあえず上のように検索してダメだったら別の文字列を変えればいい
0130デフォルトの名無しさん
2012/01/02(月) 16:38:57.88半角の英文と見なす記号・文字を追加。これは-の場合。
[ ]*(([0-9A-Za-z\-]+ ){0,}[0-9A-Za-z\-]+)[ ]*
0131129
2012/01/02(月) 16:40:57.27→ (戌.*亥)|(亥.*戌)
又は
→ (戌.*猪)|(猪.*戌)
だな
猪を二頭探してどうする俺w
0132デフォルトの名無しさん
2012/01/02(月) 16:47:50.36[space]全 → 全
の2回に分けるのじゃだめ?
0133デフォルトの名無しさん
2012/01/02(月) 16:49:53.21英文とその前後の空白を特定できれば済むんだよ。
0134デフォルトの名無しさん
2012/01/02(月) 16:59:35.64元データは出せないので書き換えましたがこんな感じです
<元>
みんなの憧れ Justin Drew Bieber が大好き
私だけの Justin が欲しい
やっぱ Bieber 、Bieber って響きがいいよね
Justin : お前が好きだよ。大好きだよ。
そう耳元で囁かれると 私 はトキメイた。
身も心も Justin Drew Bieber の物。
私はベットの布団の中で一人悶えていた。
May - Friday the 13th...
<後>
みんなの憧れJustin Drew Bieberが大好き
私だけのJustinが欲しい
やっぱBieber、Bieberって響きがいいよね
Justin : お前が好きだよ。大好きだよ。
そう耳元で囁かれると 私 はトキメイた。
身も心もJustin Drew Bieberの物。
私はベットの布団の中で一人、悶えていた。
May - Friday the 13th...
>132
それは>111ですよね。それしか無いでしょうか
0135デフォルトの名無しさん
2012/01/02(月) 17:02:25.21<元>
みんなの憧れ Justin Drew Bieber が大好き
私だけの Justin が欲しい
やっぱ Bieber 、Bieber って響きがいいよね
Justin : お前が好きだよ。大好きだよ。
そう耳元で囁かれると 私 はトキメイた。
身も心も Justin Drew Bieber の物。
私はベットの布団の中で一人悶えていた。
May - Friday the 13th...
<後>
みんなの憧れJustin Drew Bieberが大好き
私だけのJustinが欲しい
やっぱBieber、Bieberって響きがいいよね
Justin : お前が好きだよ。大好きだよ。
そう耳元で囁かれると 私 はトキメイた。
身も心もJustin Drew Bieberの物。
私はベットの布団の中で一人、悶えていた。
May - Friday the 13th...
0136デフォルトの名無しさん
2012/01/02(月) 17:06:20.63先読みが使えない場合はどうするの?
0137デフォルトの名無しさん
2012/01/02(月) 17:10:05.430138デフォルトの名無しさん
2012/01/02(月) 17:27:57.62この行のスペース2個は難しそうですか?
身も心も Justin Drew Bieber の物。
0139デフォルトの名無しさん
2012/01/02(月) 17:46:05.190140デフォルトの名無しさん
2012/01/02(月) 17:46:15.19どっから持ってきたかは知らんが、>>112も書いてるようにやめた方がよい。
せめて \p{ASCII} みたいな文字プロパティにすべき。
0141デフォルトの名無しさん
2012/01/02(月) 17:47:48.2724通り並べる。
0142デフォルトの名無しさん
2012/01/02(月) 17:56:32.09>>124
0143デフォルトの名無しさん
2012/01/02(月) 18:44:47.04やってることは変わらないし、条件分岐使える環境なら先読みも使えるはず。
0144デフォルトの名無しさん
2012/01/02(月) 19:17:53.990145デフォルトの名無しさん
2012/01/02(月) 20:53:33.35データ加工に便利な環境に移せるなら、それも手ですね。
0146デフォルトの名無しさん
2012/01/02(月) 21:38:31.492chだとわからなくなっちゃうのでしょうか。わかりにくくてすいません
身も心も Justin[][]Drew Bieber の物。
コピペすると分かるのですがここに2個スペース入っていました。
スペースが2個あると消えてしまうようでしたが事前にスペース2個を1個に変換することにします
毎日使っているものなので大切に活用させて頂きます。有難うございます
0147デフォルトの名無しさん
2012/01/02(月) 23:52:34.43javascript
●検索か置換か?
検索
●説明
以下の2つのデータ共にマッチするようにしたい
●対象データ
<a href=”http://〜.hogehoge.com/〜/”>〜</a>
<a http://〜.hogehoge.com/>〜</a>
/<a href=”http:\/\/.+?\.hogehoge\.com\/.+?\/?”>.+?<\/A>/gi
のようにコードを書いてみたのですが、どうもうまくいきません。
どのように記述すればいいのでしょうか?
0148デフォルトの名無しさん
2012/01/03(火) 00:33:34.83テンプレ使うならちゃんと希望する結果まで書けよ
0149デフォルトの名無しさん
2012/01/03(火) 00:39:11.64これでどちらのデータにもマッチする
0150デフォルトの名無しさん
2012/01/03(火) 00:41:21.84やりたいのはこういうこと?
/<a href="http:\/\/.*\.hogehoge\.com\/(.+\/)?".*<\/a>/
0151てすすき
2012/01/03(火) 00:55:19.17●置換
●現在パターンにマッチしている回数(試行回数でも)を置換後に埋め込むことできましたっけ?
●あいうあいうあいう・・・
●1あいう2あいう3あいう・・・
0152デフォルトの名無しさん
2012/01/03(火) 03:33:11.94var callback = function(x) {
return (++count) + x;
};
"あいうあいうあいう".replace(/あいう/g, callback);
0154147
2012/01/03(火) 10:58:55.34すんません。その通りです。
HTMLページ内の「<a href="http://mag.hogehoge.com/sky/">ほげほげ</a>」(※1)というようなタグを「mag,sky,ほげほげ」のようにデータを置換したいんです。
その過程の中で、「<a href="http://mos.hogehoge.com/">もげもげ</a>」というドメイン以下のフォルダ名がないものがあったので、どうしようかと思ったのです。
とりあえずデータ訂正は後で行うので、これも(※1)と同じように置換するにはどうすればいいのでしょうか。
0155デフォルトの名無しさん
2012/01/03(火) 12:17:33.31/<a href=\"http:\/\/(.+)\.hogehoge\.com\/(.*)\/?\">(.*)<\/a>/
置換したい文字列を"$1,$2,$3"とかにすれば
上は mag,sky,ほげほげ
下は mos,,もげもげ
みたいに置換されるんじゃないかな。
0156147
2012/01/03(火) 13:51:54.18/<a href=\"http:\/\/(.+)\.hogehoge\.com\/(.*?)\/?\">(.*)<\/a>/
と記述したところ
>上は mag,sky,ほげほげ
>下は mos,,もげもげ
と動くようになりました。
ありがとうございました。本当感謝です。
0157デフォルトの名無しさん
2012/01/08(日) 07:32:21.97PHP 5.2 で出来ればpreg_replace()で。
●検索か置換か?
置換
●説明
"/foo/bar/baz/qux/" を "/home/bar/baz/qux/" に置換したいです。
fooの文字数は不定です。
●対象データ
/foo/bar/baz/qux/
/qwert/asd/fghjk/klzxv/
/qazwsx/edc/rfvt/gbyhnu/
/4756/78674/45756/34545/4564/546/
●希望する結果
/home/bar/baz/qux/
/home/asd/fghjk/klzxv/
/home/edc/rfvt/gbyhnu/
/home/78674/45756/34545/4564/546/
0158デフォルトの名無しさん
2012/01/08(日) 10:06:40.16PHP Version 5.3.8で確認済み。
<?php
$string = '/foo/bar/baz/qux/'; // 配列でforeachして下さい。
$pattern = '/^\/[^\/]+\//';
$replacement = '/home/'; // 恐らDEFINEした定数の方がいいと思います。 define REPALCEMENT_STRING = 'home';
echo preg_replace($pattern, $replacement, $string);
?>
0159デフォルトの名無しさん
2012/01/10(火) 17:55:27.75テキスト
●検索か置換か?
置換
●説明
文章内の指定した数の改行毎に、行を一段開けたい。
下記例文なら改行三つごとに行を一段開けたい。
●対象データ
(例文)
人は誰しも初体験にはほろ苦く、甘酸っぱい思い出があるものだが、人生の諸先輩方はどんな童貞喪失体験をしたのか?
「シリーズ初体験」−−現在70歳の会社役員(兵庫県)が当時の思い出を語った。
中学2年の時、国語の女教師に「勉強を教えてあげるから家においで」といわれ、夏休みに入ってすぐに先生の家を訪れました。
教師になって3年目、美人ではないけれど、私にとっては優しいお姉さんのような存在でした。
何人かいるのかなと思ったんですが、先生の家に行くと私の他は誰もいませんでした。
勉強を教わり、夕食をご馳走になり、その日は泊めてもらいました。
夜中、下半身がもぞもぞするので目が覚めると、先生が私の浴衣の裾を広げていました。
●希望する結果
人は誰しも初体験にはほろ苦く、甘酸っぱい思い出があるものだが、人生の諸先輩方はどんな童貞喪失体験をしたのか?
「シリーズ初体験」−−現在70歳の会社役員(兵庫県)が当時の思い出を語った。
中学2年の時、国語の女教師に「勉強を教えてあげるから家においで」といわれ、夏休みに入ってすぐに先生の家を訪れました。
教師になって3年目、美人ではないけれど、私にとっては優しいお姉さんのような存在でした。
何人かいるのかなと思ったんですが、先生の家に行くと私の他は誰もいませんでした。
勉強を教わり、夕食をご馳走になり、その日は泊めてもらいました。
夜中、下半身がもぞもぞするので目が覚めると、先生が私の浴衣の裾を広げていました。
-------------------------
よろしくお願いします。
0160デフォルトの名無しさん
2012/01/10(火) 20:28:17.52\0\n
0161デフォルトの名無しさん
2012/01/10(火) 21:41:34.61後学のために環境名をおしえてくれ
0162デフォルトの名無しさん
2012/01/10(火) 21:57:34.29結構あるから困る
0163デフォルトの名無しさん
2012/01/10(火) 23:16:46.84ありがとう。○┓
0164デフォルトの名無しさん
2012/01/11(水) 11:52:22.67できないほうをおしえろ。
0165デフォルトの名無しさん
2012/01/11(水) 12:10:54.850166デフォルトの名無しさん
2012/01/11(水) 12:38:37.57perl
0167デフォルトの名無しさん
2012/01/11(水) 12:45:30.05perl: $&、python: \g<0>
0168デフォルトの名無しさん
2012/01/11(水) 12:56:35.50(.*\n.*\n.*\n)
\1\n
0169デフォルトの名無しさん
2012/01/11(水) 22:38:22.06.*\n.*\n.*\n
と
(.*\n){3}
ではマッチに差が出る。
これは正常なのか。
0170デフォルトの名無しさん
2012/01/13(金) 23:05:20.51ただし「リソース」「ソース顔」などは弾きたい
この場合、どのように表記すればいいのでしょうか?
^ソース$
くらいしか思いつきませんでした
どなたかご教授お願いします
0171デフォルトの名無しさん
2012/01/13(金) 23:40:00.440172デフォルトの名無しさん
2012/01/13(金) 23:45:53.00完全には無理。
「ソースがおいしい」
という行があった時、それが「ソース顔の石井さん」という意味ならヒットしてはいけないし、
「ソースが美味しい」という意味なら、ヒットしてほしい。
正規表現だけで、完全に判別するのは不可能だ。
0173デフォルトの名無しさん
2012/01/13(金) 23:50:49.78レスありがとうございました
割り切るようにします
検索地獄から解放されて良かったです
0174デフォルトの名無しさん
2012/01/14(土) 00:01:30.70\bソース\b
とかどうでしょうか?
ちなみに\bは単語境界にマッチする幅0のメタ文字で、
上記はテキストエディタ等で単語検索とか
ワード検索とかよばれるものと等価です
0175デフォルトの名無しさん
2012/01/14(土) 00:11:59.190176デフォルトの名無しさん
2012/01/14(土) 00:23:27.790177デフォルトの名無しさん
2012/01/14(土) 00:53:57.14「ソース」の後が漢字ではない
で手間は省けるか?でもどうかくのかな
0178デフォルトの名無しさん
2012/01/14(土) 01:06:43.97「この料理をおいしく食べるためにはソース選びが重要」の「ソース」が排除されるよ。
0179デフォルトの名無しさん
2012/01/14(土) 01:56:17.320180デフォルトの名無しさん
2012/01/14(土) 03:35:58.90boxを抽出したいけどtreasure boxは弾きたいって言ってるようなもんでしょ。
0181デフォルトの名無しさん
2012/01/14(土) 09:25:17.26ソース顔とかはヒットしてしまうが、後で結果を見直して、手動で消去する(手動が許されるなら)。
ただ、その場合、ソースコードとかトンカツソースとかも除去される。これはソースの意味だから除去したくないと
いうのであれば、難しいね。思いつく単語を別途ORで結んでヒットさせるという手もあるが、ウスターソースとか
ソースファイルとか、いくらでも思いつくし。
それか、たぶん>>170は調味料ではなくてプログラムのソースのことを指しているのだと思うので・・・。
検索元の文書がプログラミングに関する文書であって、トンカツソースとかの単語は入っていないのが明白であれば、
「リソース」を省かせるだけでも十分な気がする。その場合、
(?<!リ)ソース
または
^ソース|[^リ]ソース
でいける。
まあ、何のために検索したいかによるよね。ちょっと多少ゴミが混じってもいいというのなら上記のでいいと思うけど、
完璧にヒットさせたいと思うなら、正規表現では無理だ。
0182デフォルトの名無しさん
2012/01/14(土) 12:08:57.43日本語の場合分かち書きしないから単語境界も使えない、
というわけで、日本語は正規表現も含めて検索性が悪いよ。
getを検索してnuggetを弾くようなことも難しいわけ。
0183デフォルトの名無しさん
2012/01/14(土) 12:16:39.740184デフォルトの名無しさん
2012/01/14(土) 12:21:19.98「正規表現は日本語文字列には向かない」というのにはそれなりの妥当性がある
0185デフォルトの名無しさん
2012/01/14(土) 13:33:31.04正規表現って、普通に1文字チェックするより高速なの?
0186デフォルトの名無しさん
2012/01/14(土) 13:43:38.91そうでないなら実装しやすい方で。
0187デフォルトの名無しさん
2012/01/14(土) 14:10:14.610188デフォルトの名無しさん
2012/01/14(土) 14:35:46.57馬鹿丸出しの質問にレスありがとう。
やっぱそうだよね、場合によるよね。
比較の記事とかネットにないかぐぐったけどなさげだったので質問してみました。
0189デフォルトの名無しさん
2012/01/14(土) 16:52:35.86速いときが多いよね
コードの洗練さとかの関係で
0190デフォルトの名無しさん
2012/01/14(土) 17:31:01.32英語だと半角スペースがあるので指定単語を抽出しやすい
0191デフォルトの名無しさん
2012/01/14(土) 17:46:59.25BGMによって着物か履物かわかれる。
0192デフォルトの名無しさん
2012/01/14(土) 18:42:21.350193デフォルトの名無しさん
2012/01/14(土) 18:54:04.020194デフォルトの名無しさん
2012/01/14(土) 21:05:12.370195デフォルトの名無しさん
2012/01/14(土) 21:07:37.14それはそうと>>191の例は超有名。BGMはシラネ
0196デフォルトの名無しさん
2012/01/14(土) 21:30:16.88木の葉は皺であるはずがない
0197デフォルトの名無しさん
2012/01/15(日) 01:37:34.91秀丸エディタ
●検索か置換か?
置換
●説明
<div class="main">の場合に限り、両端のdivをspanに置換したい。
※<div class="main">から</div>までの行数は、3行だったり5行だったりと色々変わります。
●対象データ
<div class="main">あああああ<br>
いいいいい<br>
ううううう<br>
えええええ<br>
おおおおお<br>
</div>
●希望する結果
<span class="main">あああああ<br>
いいいいい<br>
ううううう<br>
えええええ<br>
おおおおお<br>
</span>
下の正規表現を作ってみたのですが検索でマッチしません。
どなたか助言頂けるとうれしいです。
よろしくお願いいたします。
置換元
<div class="main">(.*\n*)</div>
置換先
<span class="main">\1</span>
0198デフォルトの名無しさん
2012/01/15(日) 01:42:24.89適当だけどこれでどうだろう
0199デフォルトの名無しさん
2012/01/15(日) 01:51:11.62うーむ、マッチしないみたいです。。
レスありがとうございます。
0200デフォルトの名無しさん
2012/01/15(日) 02:51:10.19でもだめなのかな
0201デフォルトの名無しさん
2012/01/15(日) 03:00:53.60http://homepage3.nifty.com/kons/hidemaru/helpsite/hidemaru/html/190_CmdSearch_Regular_ReturnCodeLimit.html
(?#maxlines:5)<div class="main">((.|\n)*?)</div>かな
0202デフォルトの名無しさん
2012/01/15(日) 03:01:16.02やってみたけど、もっといい方法があるかも…
参考:http://homepage3.nifty.com/kons/hidemaru/helpsite/hidemaru/html/190_CmdSearch_Regular_ReturnCodeLimit.html
検索:(?#maxlines:5)(<div class="main">)((.*\n)+)(</div>)
置換:<span class="main">\2</span>
0203202
2012/01/15(日) 03:02:39.670204デフォルトの名無しさん
2012/01/15(日) 09:30:42.81晒すような形になってしまうのでどうかと思ったのですが、
フィードバッグ?した方がいいと思ったので一応結果を添えます。
>>200
<span class="main"></span><<span class="main"></span>d
<span class="main"></span>i<span class="main"></span>v
<span class="main"></span> <span class="main"></span>c
<span class="main"></span>l
と、spanが続くようでした。
(本当は改行になってないです、もっと続きますが長くなるので以下省略。)
>>201
<span class="main"></span>
と間の文章が無くなるようでした。
>>202
無事出来ました。
秀丸のバージョンもちゃんと書いた方が良かったかもですね、ごめんなさい。。
URLまで頂いてありがとうございます。
解決した正規表現見てもなかなか理解が進まないのでもっと勉強します。
レス下さった皆さん本当にありがとうございます。感謝です。
0206デフォルトの名無しさん
2012/01/16(月) 19:34:46.940207デフォルトの名無しさん
2012/01/16(月) 19:40:09.080208デフォルトの名無しさん
2012/01/16(月) 20:28:26.54頻出だとおもうんだけどなぁ
0209デフォルトの名無しさん
2012/01/16(月) 20:39:28.870210デフォルトの名無しさん
2012/01/16(月) 21:05:33.120211デフォルトの名無しさん
2012/01/17(火) 00:10:56.53一口にurlと言ってもurlにもいろいろあるからどこまでをurl扱いにしたいかってこともある。
urlにマッチさせる正規表現を作って公開してるサイトとかあるけどRFC準拠のurlにマッチするように
作られたものは準拠してないurlを取りこぼす。
ちなみにurlよりやっかいなのがメールアドレス。どこまでメールアドレスとして認識させたいかが
その状況によって大きく変わってくるから。
0212デフォルトの名無しさん
2012/01/17(火) 01:43:51.22if [ ${INPUT} = [0-9] ]; then
echo "数字です"
fi
こんな感じでいけそうだけど上手くいかない
0213デフォルトの名無しさん
2012/01/17(火) 02:13:00.57$ input=1aaa5; if [[ $input =~ ^[1-9]+$ ]]; then echo t; fi
$ input=12345; if [[ $input =~ ^[1-9]+$ ]]; then echo t; fi
t
0214206
2012/01/17(火) 02:43:42.22教えて頂きありがとうございます。
では試しに2chの場合どう正規表現で書くのでしょうか?
2ch掲示板のdatファイルを見るとURLの終わりに半角空白があるので"^(http|https).*/s"といった感じでしょうか?
アンカの正規表現は思い付かないですorz
0215デフォルトの名無しさん
2012/01/17(火) 03:22:55.400216デフォルトの名無しさん
2012/01/17(火) 16:25:00.672chの場合はこうじゃないの。サブサブドメインは見たことないと思う。
http://[a-z]*\.2ch\.net/
0217デフォルトの名無しさん
2012/01/17(火) 16:52:21.660218デフォルトの名無しさん
2012/01/17(火) 19:20:06.750219デフォルトの名無しさん
2012/01/17(火) 21:20:23.990221デフォルトの名無しさん
2012/01/17(火) 22:17:10.60質問の内容が2chのdatファイルにある、いずれかのレスに含まれているURLを指していると思うんだけど
それなら半角スペースが入ってるとかそんなルールないよ。
たとえばhttp://example.comとか http://example.com とか、このスレのdat見てみ
0222デフォルトの名無しさん
2012/01/18(水) 01:33:00.66(まだURLが終わってないってことになるから)
URLの「後ろに」空白文字(改行含む)を書いてる人が多いだけでしょ。
0223デフォルトの名無しさん
2012/01/18(水) 02:11:31.53日本語URLとかかかれちゃうと困るけど
0224デフォルトの名無しさん
2012/01/18(水) 07:22:00.60なんと書くんでしょうか?
0225デフォルトの名無しさん
2012/01/18(水) 08:02:49.110226デフォルトの名無しさん
2012/01/18(水) 09:13:10.850227デフォルトの名無しさん
2012/01/18(水) 09:54:21.57いいのか分からないので教えてください。
* ^(From).*[email protected]
.Sent.2012/
上記の条件で転送していたのですが、上記だとResent-From:の
ヘッダが先に条件として判定されてしまうようで、Resent-Fromでは
なくFromが○○だったら。としたいのですがどうすれば良いでしょうか。
0228227
2012/01/18(水) 10:26:12.570229デフォルトの名無しさん
2012/01/20(金) 00:31:32.03検索条件 ★で始まり、間に「あ」を挟み、★でおわる
★と「あ」の間にはx文字(0〜10文字)ランダムに挟まっている
例文
★123あ133s★124か1256★863あ13qw3s★1rtyさ12fd★あ1s★
抜き出したい箇所
★123あ133s★
★863あ13qw3s★
★あ1s★
どなたか頭のいいかた解決方法教えて下さい。
0230デフォルトの名無しさん
2012/01/20(金) 00:38:38.680231デフォルトの名無しさん
2012/01/20(金) 00:53:35.040232デフォルトの名無しさん
2012/01/20(金) 01:12:53.52>>1
環境によっては"量指定子?"の最短一致は使えないんじゃないかな
せっかく10文字という条件が出てるので、
★[^あ]{0,10}あ[^★]{0,10}★
「あ」と「★」の間も0〜10文字でいいと勝手に解釈したー
0233デフォルトの名無しさん
2012/01/20(金) 01:45:25.090234デフォルトの名無しさん
2012/01/20(金) 01:45:42.30>232
有難う御座います。
解決しそうです
0235デフォルトの名無しさん
2012/01/20(金) 04:25:27.26そんなことないよ。*?はそれとは別物
0236デフォルトの名無しさん
2012/01/20(金) 04:41:23.070237デフォルトの名無しさん
2012/01/20(金) 06:28:25.470238デフォルトの名無しさん
2012/01/20(金) 11:05:03.91お前が教えてみろよ。低脳のくせに。
0239デフォルトの名無しさん
2012/01/20(金) 11:49:25.16半角文字列にスペースが含まれています。
例
727 751 798 625 791 460 645 850 656 697.......
このスペースをカウントして,3つめのスペースだけを改行に置換する場合(下)
727 751 798
625 791 460
645 850 656
697.......
どう表現すればいいのでしょうか?
数値が全て3桁ならば分かるのですが,2桁や4桁が含まれており文字数ではマッチできません。
よろしくお願いします
0240デフォルトの名無しさん
2012/01/20(金) 12:32:06.290241239
2012/01/20(金) 13:54:10.15すみません,質問の仕方がまずかったのかも。
教えていただいた表現では置換されませんでした。
使用環境はMacです。
0242デフォルトの名無しさん
2012/01/20(金) 13:57:23.760243デフォルトの名無しさん
2012/01/20(金) 13:59:42.25>1の説明に
「質問する場合は必ず実装言語や処理系ソフトウェア名を示してください。 」
と書いてありますよ。
0244239
2012/01/20(金) 14:04:16.68使用環境は
MacOS, 10.6
iText Express
です。
よろしくお願い致します
0245デフォルトの名無しさん
2012/01/20(金) 14:11:05.27自分の使っている処理系のヘルプを読め。
正規表現は合ってるし、おそらくこれが使えない正規表現エンジンはないか、ほとんどない。
0246デフォルトの名無しさん
2012/01/20(金) 14:24:25.210247デフォルトの名無しさん
2012/01/20(金) 15:22:36.22でもそれぐらいは質問者で対応するか。
0248デフォルトの名無しさん
2012/01/20(金) 15:29:05.94鬼車らしい
0249239
2012/01/20(金) 17:59:18.96初めて正規表現を使うのでよく理解出来ていないかもしれませんが,
MacOS, 10.6,iText express では鬼車とよばれる正規表現ライブラリ
が用いられることは理解できました。
ただ問題の構文では検索が出来ません。
Mac では円記号の代わりにバックスラッシュを用いても結果は同じなのでしょうか?他にもなにか気をつけなければいけないことってあるでしょうか?
0250デフォルトの名無しさん
2012/01/20(金) 18:10:08.97気を付けてくれたまえ
0251デフォルトの名無しさん
2012/01/20(金) 18:10:33.37簡単な正規表現なのでそのソフトを使ってる人に片っぱしから聞くのが早いよ
該当スレがあればそっちで聞く
あるいは正規表現で検索/置換するウインドウと
ヘルプの該当項目のスクリーンショットを撮ってどこかにUPすれば答えられるかもしれない
0252239
2012/01/20(金) 18:15:13.39出直してきます
0253デフォルトの名無しさん
2012/01/20(金) 18:29:48.660254デフォルトの名無しさん
2012/01/20(金) 18:34:22.10そこで糞スレでも立てとけば暇な人がやってくるよ
0255デフォルトの名無しさん
2012/01/20(金) 20:54:46.64Cot editorもWindowsのSakura editorに比べたら数年前世代の出来だし
0256デフォルトの名無しさん
2012/01/20(金) 21:05:46.950257デフォルトの名無しさん
2012/01/20(金) 22:05:09.810258デフォルトの名無しさん
2012/01/20(金) 22:47:04.58Car って言うらしいよ。
興奮先生が言ってた。
0259デフォルトの名無しさん
2012/01/21(土) 00:13:07.300260デフォルトの名無しさん
2012/01/21(土) 00:51:44.72・角が生えるイメージ戦略
・既婚女性(鬼女)
0261デフォルトの名無しさん
2012/01/21(土) 00:53:16.750262デフォルトの名無しさん
2012/01/21(土) 01:03:03.70zearth_02さん
デビルは羽の生えた様な悪魔で、デーモンは鬼のように角が生えてるみたいに種族の違いかも知れません(>_<)
サタン(ルシファー)は悪魔王だからトップですね〜たぶん(´〜`)
delta0011zzzさん
demon: ギリシャ神話でいう神々と人間の中間にあると考えられる悪魔。ただし悪魔となったのは後で神と人間の間の存在が元々の意味
devil: キリスト教でいう神に対する悪魔
Satan: 「悪」の擬人化されたもの; ヘブライ語で「敵」という意味で, キリスト教では神に敵対する悪魔の王といったところです
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1113583021
0263デフォルトの名無しさん
2012/01/21(土) 01:08:40.770264232
2012/01/21(土) 01:33:06.76>>246
Σ(´∀`;)、指摘サンクスです。
★[^あ★]{0,10}あ[^★]{0,10}★
ですかね。
しかし、★あ★あ★あ★の場合、1個目と3個目にしかマッチしないんだよな
プログラムで検索位置を調整するとかなんだろうけど、
まあ>>229の環境がわかんないんで気にしてもしょうがないか。
>>236 ハンセイ…精進します
0265デフォルトの名無しさん
2012/01/21(土) 03:28:53.080266デフォルトの名無しさん
2012/01/21(土) 03:34:22.670267デフォルトの名無しさん
2012/01/21(土) 05:08:45.10★あ★あ★あ★
から
★あ★
★あ★
★あ★
を抜き出すのは無理。
0268デフォルトの名無しさん
2012/01/21(土) 05:10:37.130269デフォルトの名無しさん
2012/01/21(土) 05:14:51.330270デフォルトの名無しさん
2012/01/21(土) 05:17:40.12自分で正規表現組めないなら無理して使う意味ないよ
0271デフォルトの名無しさん
2012/01/21(土) 06:04:09.620272デフォルトの名無しさん
2012/01/21(土) 08:50:54.19もうちょっと書き込み見直してよ('A`)
0273デフォルトの名無しさん
2012/01/21(土) 11:36:34.09見つかった先頭位置?
末尾の位置 (lastIndex) じゃなくて?
>>270
え?セパレータ?
0274デフォルトの名無しさん
2012/01/21(土) 19:12:11.59/★[^★あ]*あ[^★]*(?=★)/g
0275デフォルトの名無しさん
2012/01/21(土) 22:21:32.640276デフォルトの名無しさん
2012/01/21(土) 22:22:11.570277デフォルトの名無しさん
2012/01/21(土) 22:26:51.85正規表現でAAあぼ〜ん
http://toro.2ch.net/test/read.cgi/tech/1189246036/
0278デフォルトの名無しさん
2012/01/21(土) 22:30:25.16教えてくださって恐縮なんですがどれが正しいアスキーアートの正規表現なのか解らないですorz
0279デフォルトの名無しさん
2012/01/21(土) 22:36:25.500280デフォルトの名無しさん
2012/01/21(土) 22:46:10.28すいませんありがとうございました。
0281デフォルトの名無しさん
2012/01/22(日) 11:32:50.40鬼車はUnicodeで使うと\dが全角数字にマッチするし、
\sは全角スペース等にもマッチするようになる
(\wはASCIIの[A-Za-z_]以外にも多バイト文字にもマッチする)
鬼車を正規表現エンジンで採用してるRuby 1.9系列は内部Unicodeだけど
\dが全角数字にマッチしないように細工してる
\sも細工してるかは忘れたけど、\wは細工ないので、
多バイト文字にもマッチする
0282デフォルトの名無しさん
2012/01/22(日) 16:52:22.17>>281が書いたような細工をしてから使っているという話もよく聞くから余計に。jane view作者もいじってから使ってる。
0283デフォルトの名無しさん
2012/01/22(日) 18:32:14.080284デフォルトの名無しさん
2012/01/22(日) 22:33:03.38Rubyは\wもいじってる。(でも\bはいじってない。)
0285デフォルトの名無しさん
2012/01/23(月) 09:14:46.41¥bって¥wと¥Wの境目だと思ってたんだけど、¥wいじって¥bいじらないと
その関係が成り立たなくて困らないんだろうか
0286デフォルトの名無しさん
2012/01/23(月) 11:33:53.020287デフォルトの名無しさん
2012/01/23(月) 11:41:35.82ただ今のは全て拡張正規表現だから実装による。大差ないだろうけど。
見た目的にはa|bは結局カッコで囲む必要があるケースが多くうざくなりがち。
0289デフォルトの名無しさん
2012/01/23(月) 12:02:02.390290デフォルトの名無しさん
2012/01/23(月) 12:33:04.740291デフォルトの名無しさん
2012/01/23(月) 13:46:21.55Rubyでは\p{Word}と\P{Word}の境目とされている
0292デフォルトの名無しさん
2012/01/23(月) 17:44:16.32よく分からんが仕様だとさ。
http://bugs.ruby-lang.org/issues/5208
ちなみに、Javaも\wと\bの対応がとれていない。ふざけとんのか
0293デフォルトの名無しさん
2012/01/23(月) 21:15:38.000294デフォルトの名無しさん
2012/01/24(火) 07:03:03.760295デフォルトの名無しさん
2012/01/24(火) 07:40:13.900296デフォルトの名無しさん
2012/01/24(火) 08:37:06.32ttp://hisashim.livejournal.com/219623.html?thread=48871
0297デフォルトの名無しさん
2012/01/24(火) 09:50:20.130298デフォルトの名無しさん
2012/01/24(火) 10:14:54.950299デフォルトの名無しさん
2012/01/24(火) 10:56:19.38形式言語の3型文法を教えるのが簡単だと思われる。
0300デフォルトの名無しさん
2012/01/25(水) 11:01:40.52foo=bar
という形式で設定値が列挙されています。
grepかegrepだけでfoo=の右辺値のbarを抽出する正規表現はどうなるでしょうか?
(?<=foo=).*
とかやりたいんですけどgrepもegrepもこの式を受け付けてくれません。
0301デフォルトの名無しさん
2012/01/25(水) 11:16:58.56マッチ部分だけが欲しいならsed使うんじゃなくて?
0302デフォルトの名無しさん
2012/01/25(水) 11:20:14.85sed -n -e '/^foo=/s///p'
0303デフォルトの名無しさん
2012/01/25(水) 11:24:41.02?sed -e "s/\(foo=\)\(.*\)/\2/" testfile.txt
で抜き出せました。grepとegrepにこだわっていたのが敗因でした。
ありがとうございました。
0304デフォルトの名無しさん
2012/01/25(水) 12:57:24.590305デフォルトの名無しさん
2012/01/26(木) 03:59:41.24grep -Po '^foo=\K.*' FILE
0306デフォルトの名無しさん
2012/01/26(木) 09:28:28.27Pつきなら
(?<=foo=).*
でOKでした。
0307デフォルトの名無しさん
2012/01/26(木) 12:43:27.44\Kが使えるなら、おそらくそっちの方が戻り読みより効率がよい。
0308 ◆x0X2ba5fI.
2012/01/27(金) 19:59:37.19同一文字長さ1-5の文字列がある(例:a,aa,..,aaaaa)
これを3回以内の置換で2文字以内の一意の並び(例:0,1,00,01,10)にできる?
出力に元の文字を使うことは可能
0309デフォルトの名無しさん
2012/01/27(金) 20:30:47.060310 ◆x0X2ba5fI.
2012/01/27(金) 20:41:45.680311デフォルトの名無しさん
2012/01/27(金) 21:31:11.31a,aa,aaa,aaaa,aaaaa は a,aa,b,bb,ab となり要求を満たす
よって可能
0312デフォルトの名無しさん
2012/01/27(金) 22:03:06.02しかし普通は問題の原文は a,aa,aaa,aaaa,aaaaa ではなくa,aa,aaa,aaaa,aaaaaの
うちどれかの文字列ということになる。
0313デフォルトの名無しさん
2012/01/27(金) 22:13:46.72とかいうのがあるけど、これって練習につかえる?
0314デフォルトの名無しさん
2012/01/27(金) 22:23:57.71最終的な解決にならない可能性が高い。そして新たなゴミ質問をしてくるという無限ループ。
0315デフォルトの名無しさん
2012/01/27(金) 22:26:44.18?
0316デフォルトの名無しさん
2012/01/27(金) 22:36:17.46何冊か本読んで探してみたけどどこにも書いてない。
0317デフォルトの名無しさん
2012/01/27(金) 22:41:37.84正規表現は使ってナンボだと思う。
実戦こそ学習の場。
0318デフォルトの名無しさん
2012/01/27(金) 22:59:45.23>>313への答えになってないと思うんだ
0319デフォルトの名無しさん
2012/01/27(金) 23:04:58.860320デフォルトの名無しさん
2012/01/27(金) 23:11:34.35>>317の回答はノーだと思われる
0321デフォルトの名無しさん
2012/01/27(金) 23:11:50.30Perl(とPCRE)の拡張表現だと思う。
pcreのmanpageかperldoc pelre辺り。
0322デフォルトの名無しさん
2012/01/27(金) 23:23:39.03回答者やるレベルになりたいなら全部知ってないと話にならないけど、ここには話にならない回答者しかいない。
0323デフォルトの名無しさん
2012/01/27(金) 23:24:46.900324デフォルトの名無しさん
2012/01/27(金) 23:31:31.52ソフトウェア板のサクラエディタふぁんくらぶには
鬼雲やbregonig.dllの作者である>>292の高田さんがよく降臨してるんだけど、
正規表現エンジンが鬼雲になったbregonig.dll V3では
\Kが使えるようになったと去年ステマしに来てた
0325デフォルトの名無しさん
2012/01/27(金) 23:35:14.630326デフォルトの名無しさん
2012/01/27(金) 23:38:45.65ネットでググれないのが欠点だよね
検索キーワードに記号を受け付けてくれたり、
正規表現でパターンマッチングできる検索サイトはないものか
0327デフォルトの名無しさん
2012/01/27(金) 23:47:42.18https://github.com/k-takata/Onigmo/blob/master/doc/RE.ja
高田さんがonigurumaをフォークしてPerl5.14互換の機能を取り込んだ正規表現エンジン
Oniguruma-modだからOnigmo
ちなみに作者さんがOnigmoの漢字を決めかねていた時期に
いち早く「鬼雲△」とサクラエディタスレに書き込んでいたのは俺な
0328デフォルトの名無しさん
2012/01/28(土) 00:05:19.62頭悪いだろ。
0329デフォルトの名無しさん
2012/01/28(土) 00:06:35.340330デフォルトの名無しさん
2012/01/28(土) 00:11:02.870331デフォルトの名無しさん
2012/01/28(土) 00:12:25.92そうでないとつじつまがあわん
0332デフォルトの名無しさん
2012/01/28(土) 00:17:25.490333デフォルトの名無しさん
2012/01/28(土) 01:11:45.940334 ◆x0X2ba5fI.
2012/01/28(土) 05:47:46.965と4先に1つずつ始末するのは何故か試してなかった
thx
>>314
単純に「エレガントに一意にしたかっただけ」の話
最終的にそういうことで解決なのですまんが新たなゴミ質問はない
実際に使うシチュエーション
あるサブルーチンを6回回す sr(60);
受け取る引数は1コでそれぞれ10,20,30,40,50,60
そのうち1回はスペース無し確定なので考慮するのは残り5回
引数を元に生成した文字列(特定の文字列+後ろにスペースだけの組み合わせ)が
サブルーチン内で定義する連想配列のキーになる cat["-すべて"+id] = ...
ループ回して連想配列定義するのにそのキーを出来るだけエレガントに一意にしたかっただけ
実際には最終的に出力に影響はないしする必要のないことなので
隠してるとかいう次元の話でもなく良い手があればということで行末に?を付けた
0335デフォルトの名無しさん
2012/01/28(土) 08:51:28.39なるほど、実在する物体はイメージがプラスとは限らないのね。
ネーミング時には気をつけます。
0336デフォルトの名無しさん
2012/01/28(土) 17:00:08.19>>3の解説サイト内のページ:
ttp://funcchan.blog16.fc2.com/blog-entry-36.html
において「A(?=B)(?=B)B」という正規表現を例に挙げて、
「先読みは何がすごいのかというと、同じ場所にある文字や文字列を複数回見ることが出来ることです!」
と書かれています。これはいったい、どのように「すごい」ことで、何の役に立つのでしょうか?
ちなみに、続けて「これとは別に、(?= ) にはもう1つの使い道があります」として、「AB」を「CB」に置換する表現の
例が載っています。こちらの方は普通に理解できるのですが、「これとは別にもう1つの使い道」と言うぐらいなので、
前者の方にもなにか使い道があるのだと思うのですが…。どんな使い道があるのか、理解できません。
よろしくお願いします。
0337デフォルトの名無しさん
2012/01/28(土) 19:15:03.72凄いとか、感動したとか、はおいといて動作の事実をしれば十分。
0338デフォルトの名無しさん
2012/01/28(土) 19:29:45.46思い当たるとしたらこのあたり。
http://codezine.jp/article/detail/1573
0339デフォルトの名無しさん
2012/01/28(土) 19:41:32.18いや、そういうことを言いたいのではなくて・・・。
説明サイトに載っている「A(?=B)(?=B)B」という例は、説明のためだけの、実際には役に立たない例だと思うのですが、
では、「同じ場所にある文字や文字列を複数回見ることが出来る」という特徴の、実用的な使い道(実際に役に立つ例)とは
どのようなものかを知りたいのです。
私が知っている(?= )の使い方は、Aの後にBが来るようなAを探すというものですが、それはサイトで「これとは別のもう1つの
使い道」として説明されているほうに該当すると思います。では、そうではない使い道とは何なのだろうか?ということです。
>>338
なるほど! これは確かに、複数回見る場合の例に該当しますね。
こんな使い方もあるのですね。
勉強になりました。どうもありがとうございました。
0340デフォルトの名無しさん
2012/01/28(土) 21:55:46.150341デフォルトの名無しさん
2012/01/29(日) 07:25:02.380342デフォルトの名無しさん
2012/01/29(日) 08:06:07.55「凄いとか、感動したとか、はおいといて動作の事実をしれば十分。」
って言ってるんじゃないの。
0343デフォルトの名無しさん
2012/01/29(日) 09:06:32.32Aの後ろに1と2が存在するA。対象テキストで、2⇒1の順に出てきてもマッチする。
A(?=.*1.*2)
2⇒1の順に出てきたらマッチ出来ない。
0344デフォルトの名無しさん
2012/01/29(日) 09:10:27.66どうしてそうなるw
>>339
確かにこの例じゃ「だから?」で終わりだよなー。
0345336
2012/01/29(日) 10:51:27.62解説サイトを見て動作の事実はわかったのですが、それがなんの役に立つのか全く見当がつかなかったので、
質問させていただきました。
数学でも、公式だけを知れば、あとは大した例題をこなさなくても必要時には使いこなせるという人もいるかも
しれませんが、私は頭悪いため、そうはいかないもので。
実際、これまでANDの検索をしたい時は「A.*B|B.*A」などとやって、面倒だなーと思ってたんですが、今後は
スマートに検索できそうです。
0346デフォルトの名無しさん
2012/01/29(日) 11:35:36.80しかし馬鹿に見分けるの困難だから、
定評のある本で勉強することが必要になる。
どんな馬鹿でも時給千円の働きはするのだから、
糞ブログで時間を無駄にするのは馬鹿げてる。
0347デフォルトの名無しさん
2012/01/29(日) 11:49:15.48それがABCDEFGぐらいあると面倒だなーですまなくない?
0348デフォルトの名無しさん
2012/01/29(日) 13:43:40.77そういう分からないとこがあったらどんどん聞いていいですよ。後でそのサイトを読む人の参考になりますし。
>>346
正規表現は敷居が高いから自分に合う本を探すのは大変でしょうね。
0349デフォルトの名無しさん
2012/01/29(日) 15:57:07.18自分で有効な検索ワードを考えられない人は金払って解決するのがいいと思う
0350デフォルトの名無しさん
2012/01/29(日) 19:42:55.72●正規表現の使用環境
さくらエディタの「タイプ別設定の正規表現キーワード」
ライブラリはデフォルトのbregoingを使用
●検索か置換か?
検索
●説明
ブロック型のコメントスタイルが2つしか使用できなく
3つ目を利用したいがどうしたらいいのか。
具体的にはC言語で
/* から */
#if 0 から #endif にくわえ
、
#if 0 から #else
に相当するものを追加したい。
正規表現キーワードを使えばうまくいきそう、というところまでは
たどりついたが、どう書いていいのかよくわからない。
板違いならすいません。
0351デフォルトの名無しさん
2012/01/29(日) 19:57:41.89無理
0352デフォルトの名無しさん
2012/01/29(日) 23:10:13.65板違いではないと思うけど、サクラエディタのタイプ別設定の正規表現の話なら、
こっちのスレの方が回答が期待できるよ
サクラエディタふぁんくらぶ part15
http://anago.2ch.net/test/read.cgi/software/1326436848/
ちょっと前にも書いたけど、上記スレならbregonigの
作者からアドバイスがもらえる可能性もあり
0353350
2012/01/30(月) 08:08:58.16ありがとうございます。そちらで聞いてみます
0354デフォルトの名無しさん
2012/02/02(木) 18:51:05.99●正規表現の使用環境
JaneStyleのNGEx
●検索か置換か?
よくわかりません
●説明
4行以上の書き込みすべてを対象としてNGにしたい
0355デフォルトの名無しさん
2012/02/02(木) 19:14:34.00「NGEx.txtを晒すスレ」
0356デフォルトの名無しさん
2012/02/02(木) 21:04:35.66分からないなら分からないって言おうな
0357デフォルトの名無しさん
2012/02/02(木) 22:20:24.46正規表現使えるの、これ?
0358デフォルトの名無しさん
2012/02/02(木) 22:57:26.120359デフォルトの名無しさん
2012/02/02(木) 23:45:26.86NGWordに正規(含む)で
^(.*<br>){3}
こうか?
0361デフォルトの名無しさん
2012/02/03(金) 03:17:53.42java
●検索か置換か?
patternメソッドで置換
●説明
2chの掲示板からコメント部分だけを抽出しました。URLやアンカは正規表現で削除できたのですがAAを削除するための正規表現がどうしても解りません。
全角の/やタブを多く含んでいるのは解っているのですが色々考えても解りませんでした。
AAを削除するスレッドでも質問したのですが良いアドバイスを貰えませんでした。何卒アドバイスを頂けないでしょうか?宜しくお願いします。
0362デフォルトの名無しさん
2012/02/03(金) 03:29:36.97普段使わない文字が含まれてたら除去すればいいじゃん
0363デフォルトの名無しさん
2012/02/03(金) 03:36:07.180364デフォルトの名無しさん
2012/02/03(金) 03:38:35.26()/%のような記号を一文字表す正規表現ってありますか?
日本語&カタカナ&漢字&英語以外の文字を表す正規表現をかなり調べましたが見つけることができませんでしたorz
0365デフォルトの名無しさん
2012/02/03(金) 03:41:45.92ありがとうございます。完全に除去したいならそうするしかないですよね
0366デフォルトの名無しさん
2012/02/03(金) 04:05:19.89(%)/ まぁ、ウルトラマンといえばそうだが。
0367デフォルトの名無しさん
2012/02/03(金) 05:04:30.130368デフォルトの名無しさん
2012/02/03(金) 09:39:57.65●正規表現の使用環境
PHP5
●検索か置換か?
置換
●説明
0123456789アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンABCDEFGHIJKLMNOPQRSTUVWXYZ゙ ゚\「」,.()-/
preg_replace関数を使い上記文字以外を全て削除したい
●対象データ
0ガ9ギAグアaイbウcエdオ
●希望する結果
09Aアイウエオ
0369デフォルトの名無しさん
2012/02/03(金) 09:44:33.130370デフォルトの名無しさん
2012/02/03(金) 09:59:23.48$text = '0ガ9ギAグアaイbウcエdオ';
$text = preg_replace('/[^0123456789アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンABCDEFGHIJKLMNOPQRSTUVWXYZ゙゚\\「」,.()\-\/]/' ,'' ,$text);
echo $text;
このようにしてみましたが何も削除されずそのまま表示されます><
0371デフォルトの名無しさん
2012/02/03(金) 10:12:47.84UTF-8にしてみ
0372デフォルトの名無しさん
2012/02/03(金) 10:33:33.36結果
0ガ9ギAグアイウエオ
となりました。
なぜガギグが残るのでしょうか?
0373デフォルトの名無しさん
2012/02/03(金) 10:35:26.31半角のガギグは1文字ではなく別々の文字なんですね
自己解決しました
0374デフォルトの名無しさん
2012/02/03(金) 11:01:07.210375デフォルトの名無しさん
2012/02/04(土) 20:12:55.57気になることがあったので教えてください。
●3文字か4文字のaにできる限りマッチする正規表現
(aaa|aaaa)*
●文字列 9文字のa にマッチさせる
aaaaaaaaa
Java6標準の正規表現と、秀丸から呼び出したJRE32.dllでは、
9文字マッチ(aaa aaa aaa)するんですが、
秀丸のHMJRE32.dllでは、8文字(aaaa aaaa)しかマッチしません。
ほかの正規表現エンジンでは、どのような動作が一般的なんでしょう?
詳しい方いらっしゃいましたら教えてください。
0376デフォルトの名無しさん
2012/02/04(土) 20:58:37.91大部分の実装では縦方向探索だから
最長・最短の正確な照合はできない。
縦に探索して枝刈りするからね。
lex/egrepなら方式が違うから確実に最長一致するんだけどね。
0377デフォルトの名無しさん
2012/02/04(土) 21:01:04.24どれを返すかはプログラムの作り方で偶然に決まりますん。
0378デフォルトの名無しさん
2012/02/04(土) 21:02:47.21hmjre32.dllの動作はとっても特殊だよ
0379デフォルトの名無しさん
2012/02/04(土) 21:38:56.030380デフォルトの名無しさん
2012/02/04(土) 22:00:28.32じゃあこれで
a{6,}|a{3,4}|a{6,}
真ん中を優先する実装があった場合はしらんw
0381デフォルトの名無しさん
2012/02/04(土) 22:10:09.84突っ込み所が多すぎ。
とりあえず、a{11} にマッチするから結果が変わる。
0382デフォルトの名無しさん
2012/02/04(土) 22:47:38.88同じ長さで複数の正解がある場合は
もうプログラムの作り方によって偶然決まる。
だから正確さを求める場合は
パターンを書く人が意識して気をつけるしかない。
0383デフォルトの名無しさん
2012/02/04(土) 23:04:20.27「3a+4b (a,b∈N∪{0})」の値域が「0,3,4および6以上」だから確かに結果は異なるようだが、
「空文字列にマッチしないから」なら兎も角、「a{11}にマッチするから」は流石に阿呆すぎ
0384デフォルトの名無しさん
2012/02/04(土) 23:35:54.400385デフォルトの名無しさん
2012/02/05(日) 03:40:24.75自分の方でも、いくつかのスクリプト言語で試してみました。
>>375の(aaa|aaaa)*ではなく、
(aaaa|aaa)+ として、あえて先に4文字のaaaaを書くようにしました。
Java6、JRE32.dll では9文字マッチしました。
ActivePerl5.5 Python3 Ruby1.9 Firefox7 chrome16 IE8 は、
8文字マッチでした。
最終的に最長のマッチが主流だと思い込んでいたのですが、
失敗さえしなければ、最長のマッチとは限らない、という方が主流っぽいですね。
0386デフォルトの名無しさん
2012/02/05(日) 05:14:47.51バックトラックNFA、POSIX NFA、DFA
0387381
2012/02/05(日) 07:00:11.53> 「空文字列にマッチしないから」なら兎も角、「a{11}にマッチするから」は流石に阿呆すぎ
なぜ阿呆?
面倒だから全部は指摘しなかったけどさ。
「真ん中が優先される」とか「a{6,}を二重に列挙してる」とか。
0388デフォルトの名無しさん
2012/02/05(日) 15:05:45.0911文字にマッチすると何がだめ?
0390デフォルトの名無しさん
2012/02/05(日) 16:57:29.2611文字にマッチするようになっちゃうからアウトっていってるように見えたから
0391デフォルトの名無しさん
2012/02/05(日) 17:19:52.24俺も憶えたてのころはしばらく騙されてたわ。
0392デフォルトの名無しさん
2012/02/05(日) 18:05:20.70hmjre.dllはそのどちらでもないけどな。
|に関してはlongest的な動作をして、
繰り返しに関してはgreedy的な動作をしている(しかもバックトラックが不十分)
0393381
2012/02/05(日) 20:34:53.75> 11文字にマッチするようになっちゃうからアウトっていってるように見えたから
(aaa|aaaa)* は a{11} にマッチしないのだからその認識で合ってるよ。
なぜそういう仕様なのかは俺が知るわけがない。
0394381
2012/02/05(日) 20:38:29.320395デフォルトの名無しさん
2012/02/05(日) 20:52:01.92いや、^(aaa|aaaa)*$ のように前後に ^$ 付けたりして11文字にマッチするように強制すればマッチするけど、
そうじゃない場合は11文字にマッチするとは限らないのでは。少なくともPerlとかRubyはそのようだし。
0396デフォルトの名無しさん
2012/02/05(日) 22:13:58.57正規表現でマッチする/しないというのは「ある文字列がパターンで表される文字列の集合に含まれるかどうか」でしょ
>>395の実装の話は「マッチする部分を探す」という処理で、解が複数あるときにどれを選択するかというのが
上で挙がっているgreedyとかlongestとかの話
0397デフォルトの名無しさん
2012/02/06(月) 01:07:40.80bat
●検索か置換か?
検索
●説明
先頭に[があるかどうかを検索したい
例えば
set a="[色々な文字列"
echo %a%|findstr /r /c:"^.[." 1>nul
これでダメだったので質問させて頂きました
●対象データ
"[aaa"
"(bbb) [ccc]"
"(ddd) eee ["
"[fff] [ggg]"
●希望する結果
"[aaa"
"[fff] [ggg]"
よろしくおねがいします
0398デフォルトの名無しさん
2012/02/06(月) 01:09:18.340399デフォルトの名無しさん
2012/02/06(月) 01:42:06.590400388 (!= 383)
2012/02/06(月) 06:23:40.38ならよかった。なんか見落としてたのかとおもてた
0401デフォルトの名無しさん
2012/02/06(月) 19:11:03.78正規表現で
${aaa}
に一致して、
${aaa
}
に一致させないようなパターンはどうやって書けばいいのでしょうか?
\$\{([^}+)]\}
だと、2つ目のパターンでaaa\r\nを取得してしまいます
宜しくお願いします
0402デフォルトの名無しさん
2012/02/06(月) 19:18:16.22.*?
0403デフォルトの名無しさん
2012/02/06(月) 19:38:05.20ありがとうございました!
0404デフォルトの名無しさん
2012/02/07(火) 00:24:07.47ただ、↓がより正確な書き方かな。
\$
\{
[^
\{\}\r\n
]+
\}
."*?" だと、「${aaa}bbbにマッチさせたい」というように、後ろに追加条件が加わると誤作動の
原因になります。(${aaa}改行${ccc}bbbにマッチしてしまう)
//エスケープは分かりやすいように付けてます。
0405デフォルトの名無しさん
2012/02/07(火) 00:47:40.13ドットは改行に(通常)マッチしないよ
0406デフォルトの名無しさん
2012/02/07(火) 21:57:17.170407デフォルトの名無しさん
2012/02/08(水) 05:58:46.47改行オプションやら仕様変更やらに左右されない正規表現ってことかー、そういう考え方もあるんだ、ふむふむ。
0408デフォルトの名無しさん
2012/02/08(水) 13:54:48.43下の<img から /span>までのソースを正規表現でマッチさせて下のプログラムをうまく動かしたいのですが、
$patternの中にどのような正規表現を書けば良いでしょうか?
正規表現にあまり詳しくないなりに試行錯誤したのですがどうにも動きません。
$matches[2]に2.22を
$matches[3]に3.33%を代入したいのですが、
$matches2[1]にdown_rを
どなたか分る方は居られませんでしょうか?お答えお願い致します。
※できるだけ簡潔なのがありがたいです。
※ソース自体をいじったりせず$patternにどんな正規表現をを代入するか、で教えていただきたいです(あまり詳しくないんでそうしないと分らないと思うので)
※heightやstyleやid等、一定じゃない物はどんな数値に変わっても対応できるようにしたいです。
改行の制限に引っかかってしまったのでソースは下に書き込みます。
0409デフォルトの名無しさん
2012/02/08(水) 13:55:35.36$getHtml = "<img width="11" height="11" style="margin-right:11px;" border="1" src="http://aa.bb.cc/dd/ee/ff/gg/hh/down_r.gif" alt="ii"> 2.22</span><span id="jj">(3.33%)</span>";
$pattern = "";
if(preg_match($pattern, $getHtml, $matches))
{
$pattern2 = "/<img.*?(down_r|down_g|up_r|up_g)\.gif/s";
if(preg_match($pattern2, $matches[1], $matches2))
{
}
if($matches2[1] == "down_r")
{
$matches2[1] = "down_g";
}
elseif($matches2[1] == "up_g")
{
$matches2[1] = "up_r";
}
$tmpString = $matches[2]."(".$matches[3].")";
imageSave($values,$matches2[1],$tmpString,$flag5min);
}
0410デフォルトの名無しさん
2012/02/08(水) 14:40:26.03答えてくれてる人がかわいそう
0411デフォルトの名無しさん
2012/02/08(水) 15:08:44.540412デフォルトの名無しさん
2012/02/08(水) 15:23:49.040413デフォルトの名無しさん
2012/02/08(水) 15:26:52.32.+?>(.+?)<.*?span.*?>(.+?)</span>
0414デフォルトの名無しさん
2012/02/08(水) 15:28:25.600415デフォルトの名無しさん
2012/02/08(水) 15:32:13.91ソースも腐ってるし
業務ですぐ必要だというなら金出してやってもらえばいいことだしな
俺ならタグ解析させるけどな
ソースがゴミに埋もれてるからできないというなら処理する前に掃除すればいいんだよ
0416デフォルトの名無しさん
2012/02/08(水) 15:33:11.08仕事をネットに下請けさせんなし。正規表現使わなくても出来ることなんで教える必要なしと判断した。
0417デフォルトの名無しさん
2012/02/08(水) 15:35:12.94答えてもらえりゃ何でもいい、腐った奴らなんだから答えなくていいんだよ
0418デフォルトの名無しさん
2012/02/08(水) 16:02:30.57これじゃ無理じゃね?
0419デフォルトの名無しさん
2012/02/08(水) 16:14:30.48なんか嫌な事でもあったのか?
0420デフォルトの名無しさん
2012/02/08(水) 16:20:22.260421412
2012/02/08(水) 16:21:07.70こんなに皆さんの気分を害するとは思いませんでした
0422デフォルトの名無しさん
2012/02/08(水) 16:28:24.360423412
2012/02/08(水) 16:45:31.36これ
$getHtml = "○○<img width="11" height="11" style="margin-right:11px;" border="1" src="http://aa.bb.cc/dd/ee/ff/gg/hh/down_r.gif" alt="ii"> 2.22</span><span id="jj">(3.33%)</span>";
○○の部分が必要じゃね?あんまり詳しくないから勘だけど
0424412
2012/02/08(水) 16:49:48.81すいません。
知り合いから(といっても相談できるような仲じゃないのですが)
423にあるような指摘を頂いたので
一応書かせていただきます。
もし気が向いた方がいらっしゃたら御教授願います。
$getHtml = "<span class="aaa"><span id="bbb"><img width="11" height="11" style="margin-right:11px;" border="1" src="http://aa.bb.cc/dd/ee/ff/gg/hh/down_r.gif" alt="ii"> 2.22</span><span id="jj">(3.33%)</span>";
0425デフォルトの名無しさん
2012/02/08(水) 16:55:47.850426デフォルトの名無しさん
2012/02/08(水) 17:17:03.850427デフォルトの名無しさん
2012/02/08(水) 17:18:54.53・・・じゃ駄目か、・・・駄目だろうなー
0428デフォルトの名無しさん
2012/02/08(水) 17:23:28.61<span id="bbb"><img\s.*(?:\s|")src=".*((?:down|up)_[gr])\.gif".*>\s*((?:[1-9]\d*|0)(?:\.\d+)?)<\/span><span id="jj">\(((?:[1-9]\d*|0)(?:\.\d+)?%)\)<\/span>
0429デフォルトの名無しさん
2012/02/08(水) 17:33:14.51あってる。ただしその場合、
「より親切丁寧にお母さんみたく優しく教えれ」
って意味になる
0430デフォルトの名無しさん
2012/02/08(水) 17:34:18.980431デフォルトの名無しさん
2012/02/08(水) 17:38:35.99これだと
matches[1]の部分が間違ってないか?
0432デフォルトの名無しさん
2012/02/08(水) 17:46:16.900433デフォルトの名無しさん
2012/02/08(水) 18:22:20.19ダブルクォーテーション(")に囲まれた文字列を検索する時
\".*?\"で検索できますが、これだと改行が除かれます。
文字列の中に改行を含める場合は、どのように記述すれば良いのでしょうか?
0434デフォルトの名無しさん
2012/02/08(水) 18:30:12.19簡潔と手抜きは違うからな
0435デフォルトの名無しさん
2012/02/08(水) 18:32:40.11ドットに改行を含めるオプション(使用言語ごとに異なる)を使うのがお手軽
0436デフォルトの名無しさん
2012/02/08(水) 18:32:45.27\"[\s\S]*?\"
0437デフォルトの名無しさん
2012/02/08(水) 19:01:53.83自演失敗のフォロー?
0438デフォルトの名無しさん
2012/02/08(水) 21:34:00.95師弟がみっちり学問を教える時は「ご教授」も使うらしいが、
一般的な「教えて下さい」の時は「ご教示」を使うのが一般的。
日本語変換がイマイチというより、元の意味を知らずに使ってる人多数。
まるで昔の「独壇場」(正しくは独擅場)
0439デフォルトの名無しさん
2012/02/08(水) 23:14:23.930440デフォルトの名無しさん
2012/02/09(木) 04:17:14.62三行目は重言じゃないか?
0441デフォルトの名無しさん
2012/02/09(木) 05:35:29.17お前が食いっぱぐれてのたれ死んでも誰も困らないから
急ぎだとかそういう理由でマルチしてんじゃねぇよ池沼
0442デフォルトの名無しさん
2012/02/09(木) 06:06:08.62真面目にやろうとすると正規表現じゃ書けないよね。
と思ってたんだが、ちょっとググったら今はできるんだな
鬼車とか一部のエンジン限定だが。
0443デフォルトの名無しさん
2012/02/09(木) 08:29:51.51頭悪そう。
0444デフォルトの名無しさん
2012/02/09(木) 11:21:05.34お前頭悪いってよく言われるだろ
0445デフォルトの名無しさん
2012/02/09(木) 12:12:33.88意外と難しいのかこれ?
それともなんか勘違いしちゃってるかなー
0446デフォルトの名無しさん
2012/02/09(木) 12:31:24.290447デフォルトの名無しさん
2012/02/09(木) 13:57:18.33がんばりなよ
0449445
2012/02/09(木) 14:44:54.26後は任せた!
0450デフォルトの名無しさん
2012/02/09(木) 14:53:31.96</span>を<\/span>にしないと
とりあえず駄目だろ
0451デフォルトの名無しさん
2012/02/09(木) 14:58:02.81出来るやつ、今、居ないんじゃね?
俺はわからん
0452デフォルトの名無しさん
2012/02/09(木) 15:13:48.190453デフォルトの名無しさん
2012/02/09(木) 15:26:35.930454デフォルトの名無しさん
2012/02/09(木) 15:33:38.160455デフォルトの名無しさん
2012/02/09(木) 16:04:26.65イライラしてきた
0456デフォルトの名無しさん
2012/02/09(木) 18:36:29.490457デフォルトの名無しさん
2012/02/09(木) 18:44:19.860458デフォルトの名無しさん
2012/02/09(木) 20:01:51.00wxWidets (wxRegEx)
●検索か置換か?
検索
●説明
一行の中に丸括弧で閉じられた文字列を検索したい。
丸括弧が出てくる位置や数は不定です
●対象データ
(2012年2月)北海道で撮影。(raw)で保存。猫と一緒(雄)
●希望する結果
(2012年2月) (raw) (雄)
(\\(.*?\\))で検索すると、"(2012年2月)"だけ検索されます。
(\\(.*?\\))(?:.*)(\\(.*?\\))(?:.*)(\\(.*?\\))で検索すると(2012年2月)(raw)(雄)が検索されます。
ただ括弧の位置が変わった場合には、この正規表現では検索にかからなくなります。
サクラテキストエディタ等の正規表現で検索すると、(\\(.*?\\)) 文章内にいくつ括弧文字列があっても
すべて検索されています。
正規表現でどのように書けばいいのか、それとも、プログラム上で検索しているのかわかりません。
どのように実現しているかまったくわかりません。
考え方などをおしえてくださいませ。
0459デフォルトの名無しさん
2012/02/09(木) 20:08:47.09よく似た質問をwxWidgetsのスレで見たばかりの気がするが?
ループで回せ。
0460デフォルトの名無しさん
2012/02/09(木) 21:28:51.690461デフォルトの名無しさん
2012/02/09(木) 21:30:25.21linux 2.6系 grep / Scientific Linux 6.1
●検索か置換か?
検索
●説明
IPアドレス(xxx.xxx.xxx.xxx IPv4)にヒットさせたい
●対象データ
192.168.0.1
255.255.255.0
999.999.999.999(注:IPアドレスとして許容されていない)
●試した正規表現
"[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+"
今回の検索では目視で判別できましたが、
999.999.999.999←これにヒットしてしまう等、致命的な部分があります。
ご教示いただければ幸いです。
0462デフォルトの名無しさん
2012/02/09(木) 21:35:47.84割り当てを正確に知る必要がある。
追加で、使う時点で生存しているのか確認するルーチンなども。
0463デフォルトの名無しさん
2012/02/09(木) 21:39:30.67[12]?[0-9]?[0-9]
で検索できるけど、199はいいけど299は許容しないとかまでいくとめんどくさくなるね。
0464デフォルトの名無しさん
2012/02/09(木) 21:40:19.09999.999.999.999
0465デフォルトの名無しさん
2012/02/09(木) 21:42:53.51[1-9]|¥([1-9][0-9]¥)|¥(1[0-9][0-9]¥)|¥(2[0-4][0-9]¥)|¥(25[0-6]¥)¥.
hostmaskも含めるなら最初は1じゃなくて0。
0466デフォルトの名無しさん
2012/02/09(木) 21:43:05.70http://www.cman.jp/network/support/IP_list.html
世界の国別 IPv4 アドレス割り当て済み個数
http://nami.jp/ipv4bycc/total.php
国/地域別 IP アドレス割り当てリスト - fetus
http://fetus.k-hsu.net/document/network/ipv4assign/
0467デフォルトの名無しさん
2012/02/09(木) 21:48:32.33がんばりなよ
0468デフォルトの名無しさん
2012/02/09(木) 21:50:03.94あ?
0469デフォルトの名無しさん
2012/02/09(木) 21:55:34.74000.*IANA - Reserved(予約済み)
127.*IANA - Loopback
224.*Multicast IANAマルチキャスト
240.*Future use (将来のために予約済み)
http://www.cman.jp/network/support/IP_list.html
0470デフォルトの名無しさん
2012/02/09(木) 21:57:09.780471デフォルトの名無しさん
2012/02/09(木) 22:20:28.58IPv4のアドレスは32ビットを8ビットごとに区切ったものだからそりゃ無効だ。
0472デフォルトの名無しさん
2012/02/09(木) 22:26:41.670473461
2012/02/09(木) 23:11:29.530.0.0.0 〜 255.255.255.255
の範囲であればIPv4アドレスとして有効と思っていました。
linuxなんで、grep結果を出力したテキストを整形するだけでも十分実用に耐えるかもしれません。
行数が多い場合は、やはりスクリプトの方が良さそうですね。
今回はこれでcloseにさせて下さい。
ご意見、ありがとうございました。
0474デフォルトの名無しさん
2012/02/09(木) 23:15:22.98新規の企業や大学はアドレス取得できなくなってるだろ。
枯渇は問題になってるが、満杯でもない。
0475デフォルトの名無しさん
2012/02/09(木) 23:24:30.100476デフォルトの名無しさん
2012/02/10(金) 00:31:24.10予約済みのIPアドレスは、IPアドレスの形式として有効じゃないって言いたいのか?
>>461って単に
> IPアドレス(xxx.xxx.xxx.xxx IPv4)にヒットさせたい
ってだけだよな。
0477デフォルトの名無しさん
2012/02/10(金) 00:43:55.70正規表現使わずに直接アドレス引けばいいんでないの。
そんでエラー返ればアドレス入力エラー。
0478デフォルトの名無しさん
2012/02/10(金) 00:50:06.05こんな感じではだめでしょうか?
0479デフォルトの名無しさん
2012/02/10(金) 00:57:44.53質問したの私です。
最短マッチの場合、ループ処理で検索するのですね。
ありがとうございました。
0480デフォルトの名無しさん
2012/02/10(金) 03:45:27.97だめすぎじゃね
0481デフォルトの名無しさん
2012/02/10(金) 03:47:14.37鬼車ならjane bbsのreplacestrスレで聞くと正規表現の猛者達が答えてくれる。レベルはんぱねぇよ。
0482デフォルトの名無しさん
2012/02/10(金) 03:48:37.65http://jane.s28.xrea.com/bbs/
ReplaceStr.txtを活用するスレ Part9
http://jane.s28.xrea.com/test/read.cgi/bbs/1317603120/l50
0483デフォルトの名無しさん
2012/02/10(金) 03:53:02.330484デフォルトの名無しさん
2012/02/10(金) 08:09:33.72java.util.regexは遅いし
google RE2を移植してみたもののまるで使いものになりません。
0485デフォルトの名無しさん
2012/02/10(金) 08:18:35.880486433
2012/02/10(金) 08:41:06.95>>ドットに改行を含めるオプション(使用言語ごとに異なる)を使うのがお手軽
調べてみたのですが分かりません。
Objective-cで、ドットに改行を含めるオプションは、どのように指定すれば良いのでしょうか?
(「"」で囲まれた改行、スペースを含む文字列を検索する場合)
0488デフォルトの名無しさん
2012/02/10(金) 11:12:59.04これはどう?
●3-6 IP(0以上255以下の整数)を検索
http://www.geocities.jp/oraclesqlpuzzle/regex/regex-3-6.html
0489デフォルトの名無しさん
2012/02/10(金) 11:29:36.22それぞれ事情とかはあるだろ
0490デフォルトの名無しさん
2012/02/10(金) 11:58:05.30どう調べたの
0491デフォルトの名無しさん
2012/02/10(金) 12:52:06.74そんなこと聞いてどうするんだよ
0492デフォルトの名無しさん
2012/02/10(金) 13:00:57.440493デフォルトの名無しさん
2012/02/10(金) 13:40:00.68192.168.0.1 がアウトじゃん
0494デフォルトの名無しさん
2012/02/10(金) 15:26:34.28こんなかんじ?
0495デフォルトの名無しさん
2012/02/10(金) 15:29:05.76\([0-9]\|[1-9][0-9]\|1[0-9][0-9]\|2[0-4][0-9]\|25[0-5]\)\.
0496デフォルトの名無しさん
2012/02/10(金) 15:52:44.88その前後のレスにもひどいものがあるが。
0497デフォルトの名無しさん
2012/02/10(金) 16:22:05.030498デフォルトの名無しさん
2012/02/10(金) 16:34:35.05こういう正規表現一般についての質問ですが、
ターゲットを捕らえることができることは確かめられますが、それ以外のものも捕捉されて
しまうのではないか、という不安はどのように解消すればよいのでしょうか。
0499デフォルトの名無しさん
2012/02/10(金) 17:00:08.29悪態はつくが質問には答えない奴とかな
あと自治気取ってる奴もか
お前、答えられないだけだろ、と
0500デフォルトの名無しさん
2012/02/10(金) 17:13:38.07煮たような文字列で試験するしかないね
0501デフォルトの名無しさん
2012/02/10(金) 17:19:51.30自己紹介乙
0502デフォルトの名無しさん
2012/02/10(金) 17:29:15.27PHPのソースなんですが
array( 'start' => 10.000, 'end' => 10.166 ),
array( 'start' => 11.166, 'end' => 11.414 ),
array( 'start' => 12.414, 'end' => 14.559 ),
などと並んでる部分があり、これらの数値全部に1を足したいのですが
0503デフォルトの名無しさん
2012/02/10(金) 17:38:19.38(?<1>...)をいっぱい並べて何をやりたいんだ?
0504デフォルトの名無しさん
2012/02/10(金) 17:45:37.09正規表現の本とか読めば書いてあるから読んでね。本に書いてあることを何度も質問されても困るし。
http://d.hatena.ne.jp/hiront_at_nagoya/20081204/1228394426
こんなグラフ作って論理的に考えると意図しない動作はしなくなるよ。もちろん正規表現を使いこなせてればだけどね。
0505デフォルトの名無しさん
2012/02/10(金) 17:47:56.50その通りに動くのはegrepとかごく一部のみ。
0506デフォルトの名無しさん
2012/02/10(金) 17:53:01.35何をやりたいのかさっぱり分からん。
ソースコードの変換がやりたいのかな?
awkとかLL系の言語使った方がいいんじゃない?
UNIX上ならならシェルスクリプトスレに来い。
0507デフォルトの名無しさん
2012/02/10(金) 17:54:23.33自分で作るんだから意図した通りの動作になるよ。なんでそんなことも知らない人が横から口出すの?
0508デフォルトの名無しさん
2012/02/10(金) 18:00:40.39ごめん、わからなかった?
この例だと、これを
array( 'start' => 10.000, 'end' => 10.166 ),
array( 'start' => 11.166, 'end' => 11.414 ),
array( 'start' => 12.414, 'end' => 14.559 ),
...
こうしたい
array( 'start' => 11.000, 'end' => 11.166 ),
array( 'start' => 12.166, 'end' => 12.414 ),
array( 'start' => 13.414, 'end' => 15.559 ),
...
数値は色々なので、単純な置換じゃなく、任意の演算(ここでは1を足す、これは固定)をしたい
0509デフォルトの名無しさん
2012/02/10(金) 18:12:54.80これでもちょっとレベル高すぎたかも?
0510デフォルトの名無しさん
2012/02/10(金) 18:19:54.24やっぱりTwitterは早い
2chは遅いから情弱しか使ってないだろうし
情弱が高度情報に回答できないのは当然
0511デフォルトの名無しさん
2012/02/10(金) 18:20:43.03array( 'start' => 11.0, 'end' => 11.166 ),
array( 'start' => 12.166, 'end' => 12.414 ),
array( 'start' => 13.414, 'end' => 15.559 ),
0512デフォルトの名無しさん
2012/02/10(金) 18:21:48.510513デフォルトの名無しさん
2012/02/10(金) 18:22:47.99Twitterってそんないいものなのか。始めようかな
0514デフォルトの名無しさん
2012/02/10(金) 18:33:11.72欲しい情報を手早く得られる環境の構築・維持に手間がかかる。
0515デフォルトの名無しさん
2012/02/10(金) 18:35:39.46あれってフォロー・フォロワー増えるまで結構時間が必要。(1か月2か月とか)
ただそれがある程度のラインを超えると便利になる。
だから1度きりの質問なんかだと2chのほうが回答もらえる率は高いけど
今後しばらくプログラミングやって情報交換が必要ならTwitter推奨。
基地害はブロックできるし。
0516デフォルトの名無しさん
2012/02/10(金) 19:05:23.310517デフォルトの名無しさん
2012/02/10(金) 19:17:13.070518デフォルトの名無しさん
2012/02/10(金) 21:42:58.050519デフォルトの名無しさん
2012/02/11(土) 00:36:51.48http://php.net/manual/ja/reference.pcre.pattern.modifiers.php
s (PCRE_DOTALL)
この修飾子を設定すると、パターン中のドットメタ文字は改行を含む全ての文字にマッチします。
これを設定しない場合は、改行にはマッチしません。 この修飾子は、Perl の /s 修飾子と同じです。
[^a] のような否定の文字クラスは、 この修飾子の設定によらず、常に改行文字にマッチします。
つまりPerl準拠の正規表現実装であればオプションやフラグ等に関係なく、
"[^"]*"
で改行コードをまたいだ検索ができるはず
0520デフォルトの名無しさん
2012/02/11(土) 04:32:56.230521デフォルトの名無しさん
2012/02/11(土) 21:26:16.260522デフォルトの名無しさん
2012/02/11(土) 21:44:24.30□■□■□■
■□■□■□
□■□■□■
■□■□■□
□■□■□■
0523デフォルトの名無しさん
2012/02/11(土) 22:50:46.670524デフォルトの名無しさん
2012/02/12(日) 00:45:38.90言われてみれば生理用品CMに一番適した番組だなw
0525デフォルトの名無しさん
2012/02/12(日) 01:07:46.56/^[a-z]/ってどんな意味なんですか?
0526デフォルトの名無しさん
2012/02/12(日) 01:10:22.61行頭にa,b,...y,zがある行にヒット。
カッコ外の ^ は行頭の意味。
[^words]はwordsという文字の否定。
0527デフォルトの名無しさん
2012/02/12(日) 01:13:19.46ありがとうございます
0528デフォルトの名無しさん
2012/02/12(日) 01:55:21.240529デフォルトの名無しさん
2012/02/12(日) 02:59:09.01何が嘘なんだよ
0531デフォルトの名無しさん
2012/02/12(日) 04:09:57.630532デフォルトの名無しさん
2012/02/12(日) 04:55:15.49誤解するなんてばかだなぁと思うならまだしも、
どこが誤解されたのか理解できないのはまずいよ
0533デフォルトの名無しさん
2012/02/12(日) 07:20:37.510534デフォルトの名無しさん
2012/02/12(日) 09:22:53.89文字クラスの説明なのにのwordsという単語を角カッコの中に含めるセンス
a,b,...y,zという表記が唐突に出現する(a,b,...,y,zならともかく)
さらっと嘘というツッコミが入らなかったらもうこのスレ開かないところだった
0535デフォルトの名無しさん
2012/02/12(日) 09:28:08.31ああ、まあ誤解を生む表現でごめんね…
そこまで言うならきっちり回答書いてよ('A`)
0536デフォルトの名無しさん
2012/02/12(日) 10:13:29.42こちらもきつく書きすぎた。ごめん
とりあえずこのスレからは卒業するわ
0537デフォルトの名無しさん
2012/02/12(日) 11:15:37.62>>526
>カッコ外の ^ は行頭の意味。
>[^words]はwordsという文字の否定。
w、o、r、d、sという1文字ずつの否定と書かないと
質問者は誤解するでしょ
(上記の正規表現は、Edwords以外にもsordやwやoやrやdやs等にもマッチしない)
ごく希に[^(words)]で2文字以上の文字列の否定ができる正規表現実装もあるらしいけど、
Perl準拠ではない極めて例外的な実装
0538デフォルトの名無しさん
2012/02/12(日) 11:32:57.780539デフォルトの名無しさん
2012/02/12(日) 11:42:33.230540デフォルトの名無しさん
2012/02/12(日) 11:53:23.290541デフォルトの名無しさん
2012/02/12(日) 12:01:59.23>ごく希に[^(words)]で2文字以上の文字列の否定ができる正規表現実装もあるらしいけど、
そんな変態的なの実在するのか?
0542デフォルトの名無しさん
2012/02/12(日) 12:08:26.690543デフォルトの名無しさん
2012/02/12(日) 12:41:19.79嘘はいいすぎだろ、わかりづらいだけ
しかも、あの時点で嘘の内容を書かなかったら嘘なのか本当なのか判断できなくて迷う奴が必ず出てくる
0545537
2012/02/12(日) 13:30:03.00にしてもプログラム板にIDがないのはなぜでしょう
自演で盛り上げる意味のない板だし
無責任な投稿が増えるだけではないかと
0546デフォルトの名無しさん
2012/02/12(日) 14:11:57.84一度粘着されると24時過ぎるまでつきまとわれる
0547デフォルトの名無しさん
2012/02/12(日) 14:57:08.09>>526も迷ってたね
0548デフォルトの名無しさん
2012/02/12(日) 15:42:13.98そんな人の相手はしなくていいよ。嘘書くのはまずいと思うけど。
0549デフォルトの名無しさん
2012/02/12(日) 15:46:51.85ネットで他人に聞けば何でも解決とか思ってる情報乞食のゴミは一回痛い目をみるべき。
0550デフォルトの名無しさん
2012/02/12(日) 18:10:16.390551デフォルトの名無しさん
2012/02/13(月) 15:30:36.27それもありだと思うよ。最近は関連書籍の1冊も買わずにネットで十分とか言うゴミがいるからな。
情報は何でもタダで手に入るのが当たり前と思ってる貧乏人は一度痛い目をみるべき。
0552デフォルトの名無しさん
2012/02/13(月) 15:32:11.00すぐにはバレないけど後々効いてくるような嘘を書くんだぞ。
0553デフォルトの名無しさん
2012/02/14(火) 01:07:02.10サイト読んで学習しようと思うような人はここにバカな質問したりしない。
0554486
2012/02/14(火) 10:37:31.73レスありがとうございます。
0555デフォルトの名無しさん
2012/02/15(水) 12:57:50.640556デフォルトの名無しさん
2012/02/15(水) 16:39:15.390557デフォルトの名無しさん
2012/02/15(水) 22:15:15.090558hidi and peter
2012/02/16(木) 23:00:17.96これって、たまたまなので気持ち悪いような気がする
[BCA\.md]でも同じ意味だしな
●正規表現の使用環境
PCRE (a.k.a PHP など 実際はApache)
●検索か置換か?
検索
●説明
特定のファイル名を除外する正規表現を書きたい(とりあえずは1つでいい)
●対象データ
ABCA.md
BCAA.md
CABA.md
●希望する結果
ABCA.md
CABA.md
0559デフォルトの名無しさん
2012/02/16(木) 23:16:14.430560デフォルトの名無しさん
2012/02/17(金) 00:14:04.830561デフォルトの名無しさん
2012/02/17(金) 03:18:38.640562hidi and peter
2012/02/17(金) 21:26:44.99知らなかったら、別に書き込まなくてもいいんだぜ。
> 560
ありがとう。'(?!sudo)\w{4}\.md' で、もうちょい便利に使えた。
pcretestで色々と試すと楽しいな。
0563デフォルトの名無しさん
2012/02/18(土) 00:03:16.80PHP5.3
●検索か置換か?
置換
●説明
ページ内にある<h2>〜<h6>に対して内側に<span>を入れたいです。
hタグににclassがある場合なども想定されますがそれは引き継ぎたいです。
何卒ご教授お願いいたします。
●対象データ
<h2>あああああ</h2>
<h2 class="hoge">あああああ</h2>
<h2><span>あああああ</span></h2>
以下h6まで同様
<h6>あああああ</h6>
<h6 class="hoge">あああああ</h6>
<h6><span>あああああ</span></h6>
●希望する結果
<h2><span>あああああ</span></h2>
<h2 class="hoge"><span>あああああ</span></h2>
<h2><span>あああああ</span></h2>
以下h6まで同様
<h6><span>あああああ</span></h6>
<h6 class="hoge"><span>あああああ</span></h6>
<h6><span>あああああ</span></h6>
0564デフォルトの名無しさん
2012/02/18(土) 00:11:54.50\1<span>\2</span>\3
0565デフォルトの名無しさん
2012/02/18(土) 00:46:49.73classがある場合「など」もって何よ?
質問する側が仕様をあいまいにするとかありえない
0566デフォルトの名無しさん
2012/02/18(土) 00:49:05.49同一人物か?
0567デフォルトの名無しさん
2012/02/18(土) 00:52:55.18さーわるものみなきずつけたー
0568デフォルトの名無しさん
2012/02/18(土) 01:09:14.81曖昧な仕様を提示するとかマジ知能障害
ゴミが増えたらゴミを片付ける奴が増えるのが自然
つっかかる奴を減らしたかったらまず>>563みたいな人間のクズを減らせ
0569デフォルトの名無しさん
2012/02/18(土) 01:23:46.840570デフォルトの名無しさん
2012/02/18(土) 01:28:45.66ありがとうございました。
素人丸出しの質問で申し訳ありませんでした。
“など”と書きましたのはidやstyle等のclass以外の属性も考えられると思ったため、
つい曖昧な書き方になってしまいました。
0571563
2012/02/18(土) 01:30:45.70知障と言われても仕方ない。
スレ汚し失礼しました。
0572デフォルトの名無しさん
2012/02/18(土) 03:01:24.21あれこれ修正しているけど
おすすめの、正規表現を搭載できるエディタってある?
秀丸よりも優れた奴
Eclipseはまた別。すでに使ってるので
0573デフォルトの名無しさん
2012/02/18(土) 04:27:54.67さくらは。
0574デフォルトの名無しさん
2012/02/18(土) 07:20:52.280575デフォルトの名無しさん
2012/02/18(土) 07:24:39.580576デフォルトの名無しさん
2012/02/18(土) 07:33:09.51Tatsuo Baba氏による正規表現ライブラリである Bregexp.dll 互換の正規表現ライブラリです。Windows アプリで Perl 互換の正規表現が使えるようになります。
正規表現エンジンとして、鬼車 (Oniguruma) を改良した鬼雲 (Onigmo, Oniguruma-mod) を採用することにより、オリジナルの Bregexp.dll よりも高度な正規表現を使用できるようになっています。
2. 動作環境
Windows 98 / 2000 / XP / Vista (x86/x64) / 7 (x86/x64)
(Windows 95/ME/NT4 は動作未確認)
bregonig.dll または Bregexp.dll に対応したアプリケーション
作者が動作を確認したアプリケーションは以下の通りです。ただし、動作を保証するものではありません。
K2Editor r.1.5.7 Build 519 (k2regexp.dll)
JmEditor2 Version 2.0.25
サクラエディタ Ver. 1.6.4.0
Spam Mail Killer Ver.2.28
INCM version 1.23c
ttPage-R Ver.0.98r28
秀丸エディタ Ver7.00 + BRegIf.DLL v0,0,2,2
Speeeeed Ver1.43
http://homepage3.nifty.com/k-takata/mysoft/bregonig.html
0577デフォルトの名無しさん
2012/02/18(土) 10:37:23.75高田さん、なんでトリップ使わないの?
0578デフォルトの名無しさん
2012/02/18(土) 10:44:15.91どうして高田さんだと思うの?
0579デフォルトの名無しさん
2012/02/18(土) 13:45:36.730580デフォルトの名無しさん
2012/02/18(土) 15:53:38.83全角スペースのUnicodeコードポイントは
U+3000だからサロゲートペアじゃないよ
0581デフォルトの名無しさん
2012/02/18(土) 17:15:43.60どう書けばよいのでしょうか?
0582デフォルトの名無しさん
2012/02/18(土) 21:50:14.41いまさらだけど。
h2 -> h2><span
って置き換えればよかったんじゃ
0583デフォルトの名無しさん
2012/02/18(土) 22:04:13.43>hタグににclassがある場合なども想定されますがそれは引き継ぎたいです。
0584デフォルトの名無しさん
2012/02/18(土) 22:39:16.21秀丸はライセンス持ってないから試せないけど、
\x8140
\x{8140}
\x81\40
\u3000
のどれかでマッチしませんか?
0585486
2012/02/18(土) 22:43:49.73それで上手く行きましたでしょうか?
もしかしたら正規表現よりもC言語やobjectiv-cの言語仕様が優先されて
ダブルクォートをエスケープするか
ダブルクォートを\x22のような16進コード指定すべきだったかもと
今更ながらに気になってます
0586デフォルトの名無しさん
2012/02/18(土) 23:03:10.90ああ、引き継ぎたいってそっちだったのか。てっきり挿入するspanに引き継ぐのかと勘違いしてた。
例も見ずにすまんかった。
0587デフォルトの名無しさん
2012/02/18(土) 23:07:20.02\u{3000}で出来ました!ありがとうございます
最後にこの全角スペースが3000っていう数字になる事はどうやって調べられますか?
0588デフォルトの名無しさん
2012/02/18(土) 23:34:51.97>\u{3000}で出来ました
本当に出来たのか?
この記法は文字クラス内限定のはずだが...
0589デフォルトの名無しさん
2012/02/18(土) 23:39:09.69Windows使ってるならIMEパッドでも見れるし、テキストファイルをバイナリエディタで見てもいいし、
http://www.unicode.org/charts/ に行ってもいい(これを見るならIMEパッドで十分ともいえるけど、本家なので)
0590デフォルトの名無しさん
2012/02/18(土) 23:51:45.21はい、ちゃんと[]野中に書きました
0591デフォルトの名無しさん
2012/02/18(土) 23:53:32.21ありがとうございます
0592584
2012/02/19(日) 00:14:44.44ごめん\x81\40は誤記なので
\x81\x40
でももう1度試してみて
あと秀丸にはステータスバーに、
カーソル位置のコードポイント表示機能があるみたいだよ
(この画面ショット見る限りではU+形式のUnicodeコードポイント表示されるのかはわからないけど)
http://hide.maruo.co.jp/software/hidemaru6/new5.html
0593デフォルトの名無しさん
2012/02/19(日) 00:40:16.13多分、581はshift-jisのコード表記はしたくないんじゃないの。
hmjre.dllだと同じ文字を表していても意味が異なるよ。
ex
[\u{3000}-\u{3005]}] //unicode順の範囲指定[ -々]
[\x81\x40-\x81\x58] //shift-jis順の範囲指定[ -々]
0594デフォルトの名無しさん
2012/02/19(日) 00:41:17.260595デフォルトの名無しさん
2012/02/25(土) 16:38:53.37C#
●検索か置換か?
置換
●説明
りんご=20 以外を削除したい
●対象データ
みかん10 りんご20 バナナ30
いちご40 めろん20 りんご20
●希望する結果
りんご20
りんご20
よろしくお願いします
0596デフォルトの名無しさん
2012/02/25(土) 16:41:10.770597デフォルトの名無しさん
2012/02/25(土) 18:16:23.54\1
0598デフォルトの名無しさん
2012/02/26(日) 03:09:03.640599デフォルトの名無しさん
2012/02/26(日) 09:59:59.82常套手段だけど、今回みたいな否定箇所以外を全置換には対処できないね
>>537のいう文字クラス内での否定文字のグルーピングが
C#(.net framework)の正規表現でも使えれば簡単なんだけどね
0600デフォルトの名無しさん
2012/02/26(日) 10:25:58.34perlの正規表現ならワード境界の¥b使って
s/¥b(?!りんご20)¥S+[^¥S¥n]*//g
でいけるけどね。C#はわからん。
0601デフォルトの名無しさん
2012/02/26(日) 13:07:26.58Regex.Matchesメソッドを1行ずつforeachで回して
マッチした単語を1行毎に連結していけば
とりあえず結果は同じになるんじゃないかと
・・・そういう妥協はだめ?
0602デフォルトの名無しさん
2012/02/26(日) 14:30:46.84これ "りんご=20" と改行以外を削除だよね。
1行辺りの "りんご=20" の数を数えて "りんご=20" をn個並べる処理をforeachすればいいんじゃない?
0603デフォルトの名無しさん
2012/02/26(日) 17:38:21.921:りんご20を他で使ってない文字か記号に置換
2:その文字以外全部空文字に置換
3:その文字をりんご20に置換
だと思うよ
なんでも無理に一回で済ますのがいいことなわけじゃないしさ
0604デフォルトの名無しさん
2012/02/26(日) 17:52:43.210605デフォルトの名無しさん
2012/02/26(日) 19:11:05.430606デフォルトの名無しさん
2012/02/27(月) 18:34:09.00秀丸メールを使っておりメール全文をテキスト化したものの中に以下の文章が含まれています
▼メールアドレス
[email protected]
▼メールアドレスという文字列の下にある行だけを検索することは可能でしょうか?
メールアドレスにマッチする正規表現を使用するとヘッダー内のよくわからないアドレスまで抽出されてしまい
とても面倒くさいのでどうにか文章の下にある行のみを抽出という手段を取りたいのです
どうか解決策をご教授ください
0607デフォルトの名無しさん
2012/02/27(月) 18:45:49.840608デフォルトの名無しさん
2012/02/27(月) 22:49:40.74レスありがとうございます
エディタは秀丸エディタを使用していまして
grebで教えて頂いた正規表現を入力すると
HmJre.dllの正規表現で前方一致/不一致"(?<!xxx)","(?<=xxx)"では改行文字を使うことが出来ません。
というエラーが出て思うように動作しませんでした・・・
0609デフォルトの名無しさん
2012/02/27(月) 23:07:03.41改行も引っかかっちゃうけど検索するだけならいいかな
0610デフォルトの名無しさん
2012/02/28(火) 05:03:46.79レスありがとうございます
あとで取り除くので改行も全然引っかかっていいのですが
(?<=^▼メールアドレス)$\n^.*$
で検索するとなにも検索に引っかかりませんでした
環境は
Win7 64bit
秀丸エディタ64 v8.13 Beta7
HMJRE.DLL v3.41
です
ああああああああああああああ
ああああああああああああああ
▼メールアドレス
[email protected]
いいいいいいいいいいいいいい
いいいいいいいいいいいいいい
元となる文章はこんな感じです
よろしくお願いします
0611デフォルトの名無しさん
2012/02/28(火) 06:11:47.05秀丸の独自仕様をどこかで見たなあ...と思ったらここだったか
>>197-205あたりの
http://homepage3.nifty.com/kons/hidemaru/helpsite/hidemaru/html/190_CmdSearch_Regular_ReturnCodeLimit.html
を参考にすれば何とかなるんじゃないかな
0612デフォルトの名無しさん
2012/02/28(火) 09:48:11.080613607,609
2012/02/28(火) 19:47:54.11詳しい人にまかせた
0614デフォルトの名無しさん
2012/02/29(水) 00:15:31.04検索でいいの? Grepじゃなくて?
検索なら
(?#fulllinematch)(?\1)▼メールアドレス\n(.+)$
で可能。
ただし秀丸メールv5.70以降に限る。っつーか質問時はバージョン書くもんだぜ…
これはもう秀丸の独自仕様の話題なので、もし続きがあるなら秀丸スレへどうぞ。
http://anago.2ch.net/test/read.cgi/software/1315839729/
0615デフォルトの名無しさん
2012/02/29(水) 00:16:23.90こっちだった
http://anago.2ch.net/test/read.cgi/software/1250170096/
0616デフォルトの名無しさん
2012/02/29(水) 00:18:13.93ん、バージョン書いてあったのか…って秀丸エディタ? メールじゃなくて?
エディタ v8.13 なら (?#fulllinematch) 使えるがメールはどうだったかな…
連投スマソ
0617デフォルトの名無しさん
2012/02/29(水) 00:34:51.64プログラミングそのものに関係ないアプリの使い方はアプリ板でやりなよ。
たとえプログラムをエディットするのだとしても。
0618デフォルトの名無しさん
2012/02/29(水) 02:43:04.02>>614
ありがとうございます
(?#fulllinematch)(?\1)▼返信\n(.+)$
で検索対象とマッチすることは出来ましたが
Grepでその部分だけ取り出すということは出来ませんでした・・・
検索ではなくてGrepの対象としてマッチさせたいです
確かにプログラムに関係はありませんでした
>>614さんに誘導して頂いたスレでもう一度質問してみます
スレ汚し失礼いたしました
0619デフォルトの名無しさん
2012/02/29(水) 06:45:09.30^http://live.nicovideo.jp/watch/(co[0-9]+)$
これってひとつにまとまらない?
0620デフォルトの名無しさん
2012/02/29(水) 06:47:34.530621デフォルトの名無しさん
2012/02/29(水) 07:10:20.69環境書こうぜ
環境不明だから最大公約数の正規表現
^http:\/\/live\.nicovideo\.jp\/watch\/(lv|co)[0-9]+$
0622デフォルトの名無しさん
2012/02/29(水) 07:53:10.900623デフォルトの名無しさん
2012/02/29(水) 21:20:22.34後出しは困るんですけど
0624デフォルトの名無しさん
2012/02/29(水) 21:22:26.28でいけたです。
0625デフォルトの名無しさん
2012/02/29(水) 21:53:01.500626デフォルトの名無しさん
2012/03/01(木) 00:46:21.06実害ないけど外側の括弧が無意味な件
0627デフォルトの名無しさん
2012/03/01(木) 01:00:16.49.をエスケープしないとか見てるとイライラする
職場でこういう正規表現見つけたら速攻バグ登録するんだけど、
書いた奴は正常系でテストして問題なかったとか
自分の無知を認めない言い訳ばかり
0628デフォルトの名無しさん
2012/03/01(木) 01:06:37.19ちゃんとどういう問題があるか認識させてやれよ
0629デフォルトの名無しさん
2012/03/01(木) 01:14:56.500630デフォルトの名無しさん
2012/03/01(木) 01:45:00.45外側はURLの可変部分だからいかにも後で参照しそうな箇所じゃないか
そこらへん質問では示されてないけど
0631デフォルトの名無しさん
2012/03/01(木) 19:16:48.23その辺を考えてる人なら?:も使うよ
だからただの余分な括弧だと思う。
0632デフォルトの名無しさん
2012/03/04(日) 00:15:07.642chのdatファイルは1行目が↓こうなってますが
名前<>メル欄<>日付 ID<> 本文 <>スレタイ 改行
スレタイだけを抜き出すにはどうしたらいいでしょうか?
↓こんなのしか浮かびません…
line = str.replace(/<>(.*?)$/,"$1");
0633デフォルトの名無しさん
2012/03/04(日) 00:17:53.460634デフォルトの名無しさん
2012/03/04(日) 00:26:17.22一行丸々抜き出されました…
0635デフォルトの名無しさん
2012/03/04(日) 00:53:23.20title = str.replace(/(?:.*?<>.*?<>.*?<>.*?<>)(.*?)$/,"$1");
もっといい方法あれば教えてください
0636デフォルトの名無しさん
2012/03/04(日) 01:01:21.24^(?:.+?<>){4}(.+)$
0637デフォルトの名無しさん
2012/03/04(日) 01:12:39.05ありがとうございます!
スレタイが空文字はありえないですよね、確かに
ただ、メル欄(名前も?)は空文字がありえるんですよ…
0638デフォルトの名無しさん
2012/03/04(日) 01:15:23.62^(?:.*?<>){4}(.+)$
0639デフォルトの名無しさん
2012/03/04(日) 13:39:30.670640デフォルトの名無しさん
2012/03/04(日) 14:40:56.640641デフォルトの名無しさん
2012/03/04(日) 18:18:09.440642632
2012/03/04(日) 19:46:44.88気になったスレをhtml変換して保存したいという、正規表現の練習も兼ねた趣味です
誤解があったらすみません
そもそもまとめをJScriptでちまちま変換してる人いるのかな?
0643デフォルトの名無しさん
2012/03/04(日) 22:03:16.250644デフォルトの名無しさん
2012/03/04(日) 22:26:36.94ちまちました変換をしてる人がいるかどうかじゃなく、
その変換のやり方を聞いてくる人に、2chまとめ系がおおいってことだわ。
0645デフォルトの名無しさん
2012/03/04(日) 22:27:38.98正規表現がいいよっていわれたのかもしれないけど。
0646デフォルトの名無しさん
2012/03/07(水) 16:52:50.44phpのpreg_replaceで文字列を入れ替えたいのですが
<a href="mailto:[email protected]">問い合せ</a>
の[email protected]のみを入れ替えるにはどのような正規表現を使えば出来るでしょうか?
よろしくお願いします
0647646
2012/03/07(水) 16:54:14.75よろしくお願いいたします
0648デフォルトの名無しさん
2012/03/07(水) 18:51:22.57メールアドレスであることに拘らなければいいだけの話
mailto:の後ろにメールアドレス以外が来ることなんて普通ないだろ?
とりあえず/"mailto:.+?"/とかでいいんじゃね
0649デフォルトの名無しさん
2012/03/07(水) 19:19:21.86レスありがとうございます
/"mailto:.+?"/とするとmailto:までマッチしてしまうのですが
メールアドレスのみマッチさせるのは不可能でしょうか?
よろしくお願いいたします
0650デフォルトの名無しさん
2012/03/07(水) 20:52:24.59「メールアドレス 正規表現」でググれば、例示がいっぱいあるよ。
0651デフォルトの名無しさん
2012/03/07(水) 22:47:27.20>>3
> 【 初心者 】 正規表現 【 入門 】
> http://funcchan.blog16.fc2.com/
0652デフォルトの名無しさん
2012/03/08(木) 04:02:28.94(?<="mailto:)[^"]+
かな
0653デフォルトの名無しさん
2012/03/08(木) 16:31:53.87正規表現を /(.*)@(.*)/ と書いたのですがちょっとエッチだなと思いました。
0654デフォルトの名無しさん
2012/03/08(木) 20:00:04.53メールアドレスはシンプルな正規表現では書けないんだ!
現実を受け入れろ!
0655デフォルトの名無しさん
2012/03/08(木) 21:20:12.15"nanasi@home"@example.com
には対応できないけど、別にいいと思う。
0656デフォルトの名無しさん
2012/03/08(木) 21:46:59.98(.*)@([^@]*)とするとアルゴリズムに関係なくましになるかね。
0657デフォルトの名無しさん
2012/03/09(金) 00:35:53.46([^@]+)@([^@]+)
0658デフォルトの名無しさん
2012/03/09(金) 00:49:12.020659デフォルトの名無しさん
2012/03/09(金) 03:57:50.08改悪
0660デフォルトの名無しさん
2012/03/09(金) 16:01:56.77だから、分かんないんだから無理しないで
"mailto:置換前の文字"
を
"mailto:置換後の文字"
に置き換えれば分かりやすくて確実だろって言ってるの
お前の目的はmailto:の後ろを置換することであって正規表現でメールアドレスに確実にマッチさせることじゃないだろうが
0661デフォルトの名無しさん
2012/03/10(土) 17:07:42.45それは極端だ
0662デフォルトの名無しさん
2012/03/10(土) 17:48:08.060663デフォルトの名無しさん
2012/03/10(土) 21:28:51.980664デフォルトの名無しさん
2012/03/10(土) 21:30:46.340665デフォルトの名無しさん
2012/03/10(土) 23:02:06.25のか、
「mailto:○○ を置換したいのか」
の違いでしょ。
>>660の案に自分も一票。
0666デフォルトの名無しさん
2012/03/10(土) 23:51:43.33プログラマと呼ばれる人たちには案外それを間違う人が多い気がする
だが新しい発想てのは稀にそういうとこから生まれたりするから否定はしない
0667デフォルトの名無しさん
2012/03/11(日) 01:30:19.58不慣れな人だからこそ「一緒ならやっといてよ」って感じで無知な押し付けをする人もいる
0668デフォルトの名無しさん
2012/03/14(水) 17:47:55.35"hoge"という単語を検索するときに
'.'に続くもの以外を全て検索したいときの書き方を教えてください。
" hoge" ",hoge" 等は検索したいけど
".hoge"は検索したくありません
0669デフォルトの名無しさん
2012/03/14(水) 18:13:18.47(?<!\.)hoge
直前に\.が来ないhoge
サポートされてない時は[^.]hoge|^hogeで我慢
0670デフォルトの名無しさん
2012/03/14(水) 18:18:27.81ありがとうございます。上手く行きました。
0671デフォルトの名無しさん
2012/03/15(木) 03:24:26.09foo
bar
*piyo
*hoge
*zieg
kero
piyo
のような文章があるとして、先頭にアスタリスクがついている部分を別記号で囲みたいです。
foo
bar
[
*piyo
*hoge
*zieg
]
kero
piyo
sedのスクリプトファイルで書いているのですが複数行にまたがるマッチングをこなしてくれません
どうか御教示願います。
0672デフォルトの名無しさん
2012/03/15(木) 16:52:40.88awk '{ if ($0 ~ /^\*/) { if (!flag) print("["); print($0); flag = 1; } else { if (flag) print("]"); print($0); flag = 0; } }'
0673デフォルトの名無しさん
2012/03/15(木) 16:56:41.39sedスレへ
http://toro.2ch.net/test/read.cgi/unix/1085730992/
0674デフォルトの名無しさん
2012/03/15(木) 17:32:39.72perl -0777pe "s/((?:\*.*?\n)+)/[\n$1]\n/g"
0675デフォルトの名無しさん
2012/03/15(木) 17:41:29.310676デフォルトの名無しさん
2012/03/15(木) 18:06:33.62a*hoge
0677デフォルトの名無しさん
2012/03/15(木) 18:18:06.63perl -0777pe "s/((?<!a)(?:\*.*?\n)+)/[\n$1]\n/g"
0678デフォルトの名無しさん
2012/03/15(木) 18:21:22.400679デフォルトの名無しさん
2012/03/15(木) 18:21:41.49foo*hoge
0680デフォルトの名無しさん
2012/03/15(木) 22:59:16.860681デフォルトの名無しさん
2012/03/15(木) 23:25:50.72亀、正規表現一発じゃないけど
$data =<<'HERE';
みんなの憧れ Justin Drew Bieber が大好き
私だけの Justin が欲しい
やっぱ Bieber 、Bieber って響きがいいよね
HERE
@ary = split(/ | /, $data);
$result = '';
for (@ary) {
$isCurrentHankaku = /^[A-Za-z]/ ? 1:0;
$result .= $isPreviousHankaku & $isCurrentHankaku? " $_": "$_";
$isPreviousHankaku = /[A-Za-z]$/ ? 1:0;
}
print $result;
0682デフォルトの名無しさん
2012/03/16(金) 01:17:05.36perl -CS -pe 's/(?<=\p{Latin})\p{Zs}+(?=\P{Latin})//g;s/(?<=\P{Latin})\p{Zs}+(?=\p{Latin})//g' <input
0683デフォルトの名無しさん
2012/03/16(金) 01:26:04.670684デフォルトの名無しさん
2012/03/16(金) 01:32:24.070685デフォルトの名無しさん
2012/03/16(金) 18:26:27.29$v = "会場[大磯ロングビーチ]"
[System.Text.RegularExpressions.Regex]::Replace($v, "^会場\[(.+)\]$","$1")
期待する結果:"大磯ロングビーチ"
実際:""
どうしてですか?
"大磯ロングビーチ"ってチカンするにはどうしたらいいのでしょうか
0686デフォルトの名無しさん
2012/03/16(金) 20:54:07.96タイホ
0687デフォルトの名無しさん
2012/03/16(金) 22:13:07.37もう存在しない。
0688デフォルトの名無しさん
2012/03/16(金) 23:11:23.76""で囲んだ文字列は変数展開が有効になってる
抑制したいときは '' を使う(もしくは`)
[System.Text.RegularExpressions.Regex]::Replace($v, '^会場\[(.+)\]$','$1')
ちゅーか、$v -replace '^会場\[(.+)\]$','$1' でええやん
もしくは[Regex]::Replace($v, '^会場\[(.+)\]$','$1')
0689デフォルトの名無しさん
2012/03/20(火) 22:21:48.94この文字列から
/content/20120319/lv80605616_214226439000_1_8370f8.f4v
の部分を抜き出すにはどうすればいい?
数字とかは毎回変わるんだけど
0690デフォルトの名無しさん
2012/03/20(火) 23:41:40.870691デフォルトの名無しさん
2012/03/20(火) 23:45:01.69>>660
変わらないところはべた書きして「毎回変わる」ところは.+?にでもしとけ
/<que.+?(\/content\/.+?f4v\/)<\/que>/
0692デフォルトの名無しさん
2012/03/21(水) 07:11:36.55それだと可変の文字列内にたまたまf4vの文字列が出てきたらNG
.+で最長マッチにしておくか可変の文字列内に記号(.)が出てこない仕様ならば
/<que.+?(\/content\/.+?\.f4v\/)<\/que>/
の方がよさそう
0693デフォルトの名無しさん
2012/03/21(水) 07:38:17.770694デフォルトの名無しさん
2012/03/21(水) 12:53:29.400695デフォルトの名無しさん
2012/03/24(土) 08:11:28.17行頭の半角スペース列を置換しようとして@"^ +"と書いたのですが、文字列の最初しか行頭と認識してくれないらしく、
複数行にまたがる文字列の各行頭のスペースが置換できないので、改行文字に続く次のスペースも検出しようとして
@"^ +|\\n +"
と書くと、改行文字も含めて置換してしまうため、マッチ部分をキャプチャする()を使って
@"^( +)|\\n( +)"
としたのですが、
(2147483647,0)という文字列の外の範囲がマッチされてしまい、置換しようとしてエラーとなってしまいます。
文字列途中も含めて、行頭の半角スペース列のみを置換するためにはどのようなパターンを使うのが適切でしょうか?
0696デフォルトの名無しさん
2012/03/24(土) 08:46:28.26http://developer.apple.com/library/mac/documentation/Foundation/Reference/NSRegularExpression_Class/Reference/Reference.html
のTable 4 Flag Optionsを参考に、
mフラグを有効化して正規表現を複数行モードで
動作させればうまくいくかも
0697デフォルトの名無しさん
2012/03/24(土) 10:41:37.22ありがとうございます!出来ました。
0698デフォルトの名無しさん
2012/03/24(土) 10:43:25.54http://technet.microsoft.com/ja-jp/library/cc756036(v=ws.10).aspx
0699デフォルトの名無しさん
2012/03/24(土) 11:34:08.06http://technet.microsoft.com/ja-jp/library/cc756036%28v=ws.10%29.aspx
0700デフォルトの名無しさん
2012/03/25(日) 01:29:15.200701デフォルトの名無しさん
2012/03/25(日) 04:06:16.60{
public String personText = "Person";
}
private class Student : Person
{
private String studentText = "Student";
public String getText()
{
return (personText + studentText);
}
}
public class Entry {
public static void test(Person p) {
Student s = p as Student;
Console.Write(s.getText());
}
}
これで、Entry.testをコールした後、GCでstudentTextは解放されるのでしょうか?
0702デフォルトの名無しさん
2012/03/25(日) 04:47:56.030703デフォルトの名無しさん
2012/03/25(日) 12:40:22.05Objective-CのNSRegularExpressionで、
数値実体参照を置換しようとして、@"[0]*([1-9][0-9]*);?"と書いたのですが、
またで始まる16進表記に対応できないので、16進表記にも対応しようとして
@"[0]*([1-9][0-9]*);?|[xX][0]*([1-9A-Fa-f][0-9A-Fa-f]*);?"
としたのですが、
やはり(2147483647,0)という文字列の外の範囲がマッチされてしまい、置換しようとしてエラーとなってしまいます。
また、エラーが出なかったとしても10進か16進かがわからないので、再度プリフィクスがかか調べないといけないので効率が悪い感じです。
10進も16進もマッチし、かつ10進か16進かを識別するためにはどのようなパターンを使うのが適切でしょうか?
0704696
2012/03/25(日) 13:38:44.5710進にマッチした時と16進にマッチした時で置換後の文字列を変える目的や
それぞれどんな文字列に置換したいのがわからないと何とも言えません
多くの正規表現実装では()でグルーピングする度に
$1から連番で「キャプチャ」され、置換後文字列として$1や$2…でキャプチャされた部分を取り出せますが、
今回のケースで有用かが不明です
$nの詳細は>>696のリンク先のTable 3 Template Matching Format参照
0705デフォルトの名無しさん
2012/03/25(日) 14:02:53.15ありがとうございます。
10進と16進で処理を変えたいのは、マッチした部分をキーにしてディクショナリから置換後の文字列(というか文字)を取り出すさい、
16進のキーはディクショナリに用意していないので、いったん10進文字列に変換してから同じようにディクショナリにアクセスさせたいためです。(変換メソッドは10進か16進か自動判別してくれないのでここで処理を分ける他ありません。)
$の使い方についてなのですが、キャプチャされた部分を取り出して$表記を用いた別の文字列(template)にキャプチャした部分を埋め込めるというのは分かるのですが
別の文字列のある部分を$〜に置換するのではなくて、$でキャプチャした元の文字列自体を置換したいので、今回使えるかどうかはよくわかりませんでした
いろいろやってみたところrangeがぶっ飛んだ値になるのは、()を|などで分けて2つ以上設定した際に、マッチしなかった()について対応するインデックスのrangeのlocationがNSIntegerの最大値に設定されてしまうらしく
その値で分岐して、locationがNSIntegerMAXではないほうをキーとして取り出し置換することでとりあえず上手くいきました。
0706デフォルトの名無しさん
2012/03/25(日) 14:54:16.01置換対象はマッチした文字列全体でいいのでは。その環境使ったことないので、もし全体が取れないのなら全体をキャプチャ
0708デフォルトの名無しさん
2012/03/25(日) 20:21:11.43「locationがNSIntegerMAXではないほうをキーとして取り出し」
で解決したみたいだけど、正規表現のマッチ文字列による処理分岐させる王道はこんな感じで、
OR条件は正規表現の|に頼らずに言語のif〜else文使うのが良いかと
before = 文字参照文字列
if hoge =~ /*([1-9][0-9]*);?/
after = searchDic($1)
elseif hoge =~ /[xX]0*([1-9A-Fa-f][0-9A-Fa-f]*);?/
after = searchDic(hex2Dec($1))
else
文字参照じゃなかったよ
0709営利利用に関するLR審議中@詳細は自治スレへ
2012/03/30(金) 14:51:01.910710営利利用に関するLR審議中@詳細は自治スレへ
2012/03/30(金) 15:08:16.83(?!()�S
0711営利利用に関するLR審議中@詳細は自治スレへ
2012/03/30(金) 15:12:30.040712営利利用に関するLR審議中@詳細は自治スレへ
2012/03/30(金) 15:42:30.15いつでも\sに対する\Sが存在するわけではないのではないか、そのような場合
|に対する&のようなものが必要になるのでは([^)] & [\S])と思いましたが、
文字クラスには必ず対する存在があるので必要ない、ということなのでしょう。
0713営利利用に関するLR審議中@詳細は自治スレへ
2012/03/30(金) 15:42:52.60御二方レス有難うございました。
0714営利利用に関するLR審議中@詳細は自治スレへ
2012/03/30(金) 22:44:31.110715営利利用に関するLR審議中@詳細は自治スレへ
2012/04/01(日) 18:03:58.38<script\s[^>]*?google-analytics.com/ga.js
と始まるフィルタがあったのですが、*? の意味が分かりません。
[^>]の0回以上の繰り返し が 0回か1回 ってことですか?
0716営利利用に関するLR審議中@詳細は自治スレへ
2012/04/01(日) 18:16:32.79『[探索対象文字]*』だと、条件にマッチする文字列のうちなるべく長いものを取り出そうとする
『[探索対象文字]*?』というふうに、アスタリスクの後ろにハテナをつけると、最短のものを取り出す
0717営利利用に関するLR審議中@詳細は自治スレへ
2012/04/01(日) 18:19:53.36正規表現エンジンによっては未対応のものもある(秀丸とか)のでそこだけ注意
0718営利利用に関するLR審議中@詳細は自治スレへ
2012/04/01(日) 18:30:06.16そんなの正規表現って言わねーよww
0719営利利用に関するLR審議中@詳細は自治スレへ
2012/04/01(日) 18:31:07.070720営利利用に関するLR審議中@詳細は自治スレへ
2012/04/01(日) 18:46:41.930721営利利用に関するLR審議中@詳細は自治スレへ
2012/04/01(日) 18:58:43.77それだと意図しない結果が出ることがある
[^>]*? も不十分ではあるけど、少なくとも .*? よりは src属性値が返ってくる可能性が高い
0722営利利用に関するLR審議中@詳細は自治スレへ
2012/04/01(日) 19:16:32.20ああそうか。<script src="..." />google-analytics.com/ga.jsとかにマッチしたらまずいもんね
どうもありがとう
0723営利利用に関するLR審議中@詳細は自治スレへ
2012/04/01(日) 20:27:59.87grepことglobal regular expression printさんに謝れ
0724営利利用に関するLR審議中@詳細は自治スレへ
2012/04/01(日) 22:54:42.17findstrだけど何か質問ある?
http://technet.microsoft.com/ja-jp/library/cc732459%28v=ws.10%29.aspx
http://www.atmarkit.co.jp/fwin2k/win2ktips/511findstr/findstr.html
0725営利利用に関するLR審議中@詳細は自治スレへ
2012/04/02(月) 03:41:10.02実に正しい姿だよ。
拡張正規表現がメジャーになりすぎただけで
0726営利利用に関するLR審議中@詳細は自治スレへ
2012/04/02(月) 09:18:06.54これだけメジャーになった今では、そっちが標準。
古来の奴はもはや「機能縮小版」に過ぎない。
0727営利利用に関するLR審議中@詳細は自治スレへ
2012/04/02(月) 14:10:03.780728営利利用に関するLR審議中@詳細は自治スレへ
2012/04/02(月) 14:16:16.81こんなスレが役に立つこと自体、困ったことだ。
0729営利利用に関するLR審議中@詳細は自治スレへ
2012/04/03(火) 11:07:26.03javascriptで、
ABC|DEF|GHI|JKL 等を検索した時に一致した文字列全てを得る方法はありますか?
更にできればABCとGHIがマッチした場合に、0,2の値が取れれば嬉しいです。
0730営利利用に関するLR審議中@詳細は自治スレへ
2012/04/03(火) 11:41:09.12RegExp.$1; // ABC
0731営利利用に関するLR審議中@詳細は自治スレへ
2012/04/03(火) 12:23:09.94m=[];
m["ABC"]=0;
m["DEF"]=1;
m["GHI"]=2;
m["JKL"]=3;
"ABCGHI".replace(/ABC|DEF|GHI|JKL/g,function(a){ans.push(m[a])});
ans[0,2]
0732営利利用に関するLR審議中@詳細は自治スレへ
2012/04/03(火) 21:36:39.590733営利利用に関するLR審議中@詳細は自治スレへ
2012/04/03(火) 22:45:26.670734営利利用に関するLR審議中@詳細は自治スレへ
2012/04/03(火) 23:20:22.31●正規表現の使用環境
C#
●検索か置換か?
検索
●説明
全角の数字を無視したい
●対象データ
123 123
●希望する結果
123
\d+と書いたら123と123がマッチしますが
123は除外するにはどう書けば良いですか?
0735営利利用に関するLR審議中@詳細は自治スレへ
2012/04/03(火) 23:26:45.270736営利利用に関するLR審議中@詳細は自治スレへ
2012/04/03(火) 23:35:50.91[0-9]+
0737営利利用に関するLR審議中@詳細は自治スレへ
2012/04/04(水) 00:18:57.65\^\^はダメでした
0738営利利用に関するLR審議中@詳細は自治スレへ
2012/04/04(水) 00:38:58.69\^\^で合ってるはず。レスあぼーんしたいなら、NGExで
NGWord 正規(含む) \^\^
0739営利利用に関するLR審議中@詳細は自治スレへ
2012/04/04(水) 00:49:12.78全角文字も
0740営利利用に関するLR審議中@詳細は自治スレへ
2012/04/04(水) 02:48:09.08>>739
有難うございました
0741営利利用に関するLR審議中@詳細は自治スレへ
2012/04/07(土) 13:19:47.71PCREライブラリを使用したアプリケーション
●検索か置換か?
置換
●説明
指定範囲内に文字列が含む物を置換したい
(例ではCCCを含むものを検索し対応する括弧に*を加える)
●対象データ
(AACCCDDAABBB)
(AACAABBDBABC)
CDAA(DB(CC)C)(CDD)
C(AA(ABBD)(BCCC)C)
●希望する結果
(*AACCCDDAABBB*)
(AACAABBDBABC)
CDAA(DB(CC)C)(CDD)
C(AA(ABBD)(*BCCC*)C)
0742営利利用に関するLR審議中@詳細は自治スレへ
2012/04/07(土) 13:25:01.88●説明
×指定範囲内に文字列が含む物を置換したい
○括弧内に特定の文字列が有れば対応する括弧を装飾したい
0743営利利用に関するLR審議中@詳細は自治スレへ
2012/04/07(土) 14:25:38.48(AACCCDDAABBB)
(AACAABBDBABC)
CDAA(DB(CC)C)(CDD)
C(AA(ABBD)(BCCC)C)";
my $re="CCC";
$str =~ s/\(([^()]*?)($re)([^()]*?)\)/(*$1$2$3*)/g;
print $str;
0744営利利用に関するLR審議中@詳細は自治スレへ
2012/04/07(土) 14:54:40.49ありがとうございます!
ちなみにもし範囲指定記号が単一文字では無いケースではどのようになるのでしょうか?
例えば…
0745営利利用に関するLR審議中@詳細は自治スレへ
2012/04/07(土) 14:56:50.48PCREライブラリを使用したアプリケーション
●検索か置換か?
置換
●説明
HTMLタグ形式で括られたテキストで#が二つ以上有るものを検索
もし有れば対応する前方タグ内の後ろに@を付けたい
●対象データ
<AB><CD>nea##kv</CD>nk#eccu</AB>
nea<YY><EF>###v</EF>orarcmm</YY>
<HA>ne#<YY>#</YY>ec#cv</HA>axxzi
<KK>#<CD>asiaev</CD>un##ima</KK>
●希望する結果
<AB><CD@>nea##kv</CD>nk#eccu</AB>
nea<YY><EF@>###v</EF>orarcmm</YY>
<HA>ne#<YY>#</YY>ec#cv</HA>axxzi
<KK@>#<CD>asiaev</CD>un##ima</KK>
0746営利利用に関するLR審議中@詳細は自治スレへ
2012/04/09(月) 13:58:42.730747営利利用に関するLR審議中@詳細は自治スレへ
2012/04/09(月) 17:25:29.56PCREは再帰参照使えるからネストのマッチはできる。
でも、置換するためにタグの名前を保存するのは無理じゃないかな。
あと、最後の例だけ性質が違うんだよね。
>>741の書き方で言えば、
((CCC)CCC(CCC)) → (*(*CCC*)CCC(*CCC*)*)
に対応させる必要がある。>>743ではできないよね。
0748デフォルトの名無しさん
2012/04/15(日) 03:09:13.15http://www.google.com/を含む
http://www.google.com/xxxxxxx
をマッチさせたい時ってどうすればいいでしょうか?
(xxxxxx部分は変動)
If System.Text.RegularExpressions.Regex.IsMatch(TextBox1.Text, "ここに入る正規表現") Then
MsgBox("Google関連サイトだよ")
Else
MsgBox("Googleじゃないよ")
End If
です
例でgoogleを出しているだけでホスト名うんたらは無視してもらって大丈夫です
よろしくお願いします
0749デフォルトの名無しさん
2012/04/15(日) 03:12:03.830750デフォルトの名無しさん
2012/04/15(日) 03:21:32.75レスありがとうございます
My Regex Tester
http://myregextester.com/index.php
でチェックしたのですが
Match Pattern
http://www\.google\.com/.*
Source Text
http://www.google.com/
でマッチしませんでした
なにか足りない物あるんでしょうか?
0751デフォルトの名無しさん
2012/04/15(日) 03:24:11.30じゃあこれ
0752デフォルトの名無しさん
2012/04/15(日) 03:27:48.05出来ました!
ありがとうございます!
0753デフォルトの名無しさん
2012/04/18(水) 00:38:23.88↓
123<span>abc</span>defaa
このようにhtmlタグで閉じられていないタグを削除する正規表現はどのように書けばよいのでしょうか?
0754デフォルトの名無しさん
2012/04/18(水) 01:43:58.710755デフォルトの名無しさん
2012/04/18(水) 10:31:23.140756デフォルトの名無しさん
2012/04/18(水) 13:22:14.61$data =~ s|(</.*?>[^<]*?)</.*?>|$1|g;
print $data;
#=> 123<span>abc</span>defaa
0757デフォルトの名無しさん
2012/04/18(水) 15:08:40.48hoge<span>123<span>abc</span>def</span>aa
0758デフォルトの名無しさん
2012/04/18(水) 16:19:58.10Firefox 3.6.28の*.uc.js
●検索か置換か?
検索?置換?
●説明
・以前、別のスレでAのURLをBのように、v=以外のパラメータを消すものを書いてもらいました。
A: http://www.youtube.com/watch?v=abcdef123456&feature=related&etc=sexample
B: http://www.youtube.com/watch?v=abcdef123456
・正規表現
[/^(http:\/\/(\w+\.)?youtube\.com\/watch).*[?&](v=[^]+).*/, '$1?$3']
今回は別のURLからパラメータを消したいです。
●対象データ
http://www.forest.impress.co.jp/docs/news/20120418_527251.html?ref=rss
●希望する結果
http://www.forest.impress.co.jp/docs/news/20120418_527251.html
※このようにしてみたのですが、上手くいきませんでした。
var patterns = [
//置換したいURLパターンを記述
[/^(http:\/\/(\w+\.)?youtube\.com\/watch).*[?&](v=[^]+).*/, '$1?$3'],
[/^(http:\/\/www\.forest\.impress\.co\.jp\/docs\/news\/)[0-9]_[0-9]\.html\?ref=rss, '$1']
];
0759デフォルトの名無しさん
2012/04/18(水) 16:28:50.29こうじゃない?
0760デフォルトの名無しさん
2012/04/18(水) 16:33:01.21>※このようにしてみたのですが、上手くいきませんでした。
おしいね。[0-9]は0から9の間の数字一つを差す。
なので[0-9]_[0-9]だと3_8や1_9と言った文字列にしかマッチしない。
こういう場合は後ろに+をつければ1つ以上の連続を意味するようになる。
[0-9]+_[0-9]+とすると32314_9723や1_3298741などを意味するようになる。
次に式の後ろに$1とあるが、これは括弧で囲まれた部分を呼び出すもの。
例えば(aiueo)kaki(kuke)koとした場合の$1にはaiueoが$2はkukeが入る。
あと正規表現は/と/の間に書くんだが君の書いた正規表現は終わりの/が抜けてる。
上の3点を考慮して書きなおすとこうなる。
[/^(http:\/\/www\.forest\.impress\.co\.jp\/docs\/news\/[0-9]+_[0-9]+\.html)\?ref=rss/, '$1']
0761758
2012/04/18(水) 16:41:28.31早速ありがとうございます!
[/^(http:\/\/www\.forest\.impress\.co\.jp\/docs\/news\/[0-9]*_[0-9]*\.html)\?ref=rss/, '$1']
とアスタリスクと/を足したらできました。
>>760
早速ありがとうございます!
教えて頂いたもので無事できました。
*より+が正しい?よりよい?みたいですね。
[/^(http:\/\/www\.forest\.impress\.co\.jp\/docs\/news\/[0-9]+_[0-9]+\.html)\?ref=rss/, '$1']
/はドジってました。
教えてもらうまで気づかず。
$数字もよくわからなかったんですが、色々分かりやすく説明してもらったので為になりました。
おふたりともどうもありがとうございました。
0762デフォルトの名無しさん
2012/04/22(日) 12:13:29.18完成した物を使うとTwitterのURLの処理だけ変な物になってしまいます
https://twitter.com/#!/utadahikaru
を対象にすると
https://twitter.com/
のみしかマッチしません
すべてマッチするようにはどうすればいいのでしょうか?
0763デフォルトの名無しさん
2012/04/22(日) 12:19:02.090764デフォルトの名無しさん
2012/04/22(日) 12:32:46.720765デフォルトの名無しさん
2012/04/23(月) 18:40:56.84●正規表現の使用環境
emacs-lisp
●検索か置換か?
検索
●説明
特定の文字列Aにマッチしないが、文字列BorCにはマッチする文字列を検索したい。
初期状態でregexpは↓のようになっており
"-\\(ring\\|history\\)\\'"
文字列末尾に -ring か -history があればマッチしてしまいます。
この状態を維持しつつ特定の文字列を含む文字列であればマッチさせたくない状況を作りたいです。
●対象データ
hogehoge-kill-ring
hugahuga-history
user-hogehoge-kill-ring
user-hugahuga-history
hogehoge-user-kill-ring
hugahuga-user-history
●希望する結果
hogehoge-kill-ring
^
hugahuga-history
^
だけが難しければ最悪↓も含んでしまってOK
hogehoge-user-kill-ring
^
hugahuga-user-history
^
以上よろしくお願いします。
0766デフォルトの名無しさん
2012/04/23(月) 19:38:29.880767デフォルトの名無しさん
2012/04/23(月) 20:15:30.900768デフォルトの名無しさん
2012/04/23(月) 20:45:35.90^((?!user).)*-(ring|history)$
もうちょい素直に説明してくれよ
テンプレのおかげで読み取れるけど説明だけだと意味不明だわw
0769デフォルトの名無しさん
2012/04/23(月) 21:09:19.590770765
2012/04/23(月) 21:09:36.74(? )系は使えないようです。regexpエラーになりました
0771768
2012/04/23(月) 21:15:34.57分かる人待ち
0772デフォルトの名無しさん
2012/04/23(月) 21:52:39.92re-search-backwardってやつでuserを探して、見つからなければおkってすればいいんでない
0773765
2012/04/23(月) 22:16:02.62自分で書くコードならそうしますが、既存パッケージへわたすregexpなので、それができないのです。
0774デフォルトの名無しさん
2012/04/23(月) 22:26:48.66キーワードがあるけど出来ないなら無理なんじゃない?
0775デフォルトの名無しさん
2012/05/07(月) 04:47:12.38PCRE
●検索か置換か?
置換
●説明
<tag>から</tag>内の文字列abcをABCへ置換したい
●対象データ
xabcxxx<tag>abcxxxxxxxxxxxabcxxxxxxxabcxx</tag>xxxxabcxxxabcxx
xabcxxx<tag>abc</tag>xxxxaxxxxxxxabcxxcxxxxx<tag>abcxx</tag>xxx
●希望する結果
xabcxxx<tag>ABCxxxxxxxxxxxABCxxxxxxxABCxx</tag>xxxxabcxxxabcxx
xabcxxx<tag>ABC</tag>xxxxaxxxxxxxabcxxcxxxxx<tag>ABCxx</tag>xxx
0776デフォルトの名無しさん
2012/05/07(月) 23:00:02.41素直にxpath使えよ捗るぞ
0777デフォルトの名無しさん
2012/05/08(火) 01:26:56.700778デフォルトの名無しさん
2012/05/08(火) 02:20:49.67domやxpathが使えない環境なんだよ
そりゃ何を使ってもいい環境ならいくらでもやりようはあるさ
単純に範囲抽出→置換を繰り返せばいいだけだからな
なんていうか正規表現単体でifと同じ効果を持たせるパターンとかあるだろ?(正規表現のデザパタみたいな感じ)
そういう未知のパターンを知ってるミラクルな人が来るのを期待してるのだよ
有るのかどうかわからんがね
0779デフォルトの名無しさん
2012/05/08(火) 06:29:30.640780デフォルトの名無しさん
2012/05/08(火) 07:33:27.770781デフォルトの名無しさん
2012/05/08(火) 12:07:31.06データを<tag>, </tag>でsplitして順番に舐めて置換してjoinする。
0782デフォルトの名無しさん
2012/05/08(火) 14:38:46.54<div>abc<div>abc<div>abc</div>abc</div>abc</div>
0783デフォルトの名無しさん
2012/05/08(火) 15:53:33.590784デフォルトの名無しさん
2012/05/08(火) 16:09:37.85http://swatmac.info/?p=716
> \( ( [^()]++ | (?R) )* \)
頑張ってこれを改良する方向で。
0785片山博文MZボット ◆0lBZNi.Q7evd
2012/05/08(火) 16:16:35.38文字列を先頭から順番にスキャンする。
"<tag>"が見つかったらdepth++;する。
"</tag>"が見つかったらdepth--;する。
depth != 0のときに"abc"が見つかったらABCに変換する。
0786デフォルトの名無しさん
2012/05/08(火) 22:24:35.73\rから次の\r間には任意の文字数の文字列があります
言語はパールです
$s =~ s/(((.*?)\r){3})(.*$)//s;
print "$1\n$2\n$3\n$4\n";
これではだめでした
0787デフォルトの名無しさん
2012/05/08(火) 22:42:32.47(\r{30})[\s\S]* を $1 に置換すればいい
0788デフォルトの名無しさん
2012/05/08(火) 22:42:34.490789デフォルトの名無しさん
2012/05/08(火) 22:56:59.32(([^\r]*\r){30}).*
\1
\rは連続して30回じゃないよね?
あとperlでやるなら無理に正規表現使わなくてもいい気がする
0790デフォルトの名無しさん
2012/05/09(水) 18:50:17.16perlの正規表現あんま得意じゃないけど、
30回以下の場合もあるんじゃねとふと思った。
まぁ >>786 に試してもらえばいい話だけど。
0791デフォルトの名無しさん
2012/05/09(水) 20:00:54.69それは>>786の3を30にしただけじゃダメなのかい。
それにしても例として3に減らしていただけだと思うが。
0792デフォルトの名無しさん
2012/05/09(水) 20:06:48.25xkdmeABCidkDEFledxaoDEFasdDEF
↓
xkdmeABCidkXYZledxaoXYZasdXYZ
0793792
2012/05/09(水) 20:12:56.440794デフォルトの名無しさん
2012/05/09(水) 20:24:04.290795デフォルトの名無しさん
2012/05/09(水) 21:12:39.59いつも苦労します。emacs-lispでは、M-x himark-regexp でマッチする所が
ハイライトするかどうかで、うまくいってるか確認しながら書くと言う方法に
気がついてから比較的楽になったのですが、この前perlですごく苦労しました。
perlで正規表現書く時、途中まで書いてここまでうまく行ってるとか
楽に確認できる方法ってなんか使ってますか?
0796デフォルトの名無しさん
2012/05/09(水) 23:44:03.96処理を分けたか、肯定戻り読みだと思う
>>795
いったん別のところで作ればどうだろ
0797デフォルトの名無しさん
2012/05/09(水) 23:58:25.64()でくくって$1 とかでprintしながら確かめろって感じですかね、やっぱり。
今度からそうします。
0798デフォルトの名無しさん
2012/05/10(木) 00:04:23.32手っ取り早く確かめたいならこういうのとか。
http://www.rider-n.sakura.ne.jp/regexp/regexp.php
他にもいろいろあるけど、ものは使いよう。
0799デフォルトの名無しさん
2012/05/10(木) 00:06:36.910800デフォルトの名無しさん
2012/05/10(木) 00:07:36.730801デフォルトの名無しさん
2012/05/10(木) 01:59:46.06これ、正規表現で出来なくね?
出来た人がいたら解法plz!
0802デフォルトの名無しさん
2012/05/10(木) 12:46:39.75for文とか使ってマッチしなくなるまで置換してるんじゃね?
0803デフォルトの名無しさん
2012/05/10(木) 16:39:53.590804デフォルトの名無しさん
2012/05/10(木) 21:56:00.80(?<=ABC.*?)DEF
だろwwwwとか思ってやってみたら駄目だった件
0805デフォルトの名無しさん
2012/05/11(金) 10:23:43.360806デフォルトの名無しさん
2012/05/11(金) 12:26:10.29もしくはperl5.10対応のチェッカー
オンラインのサービスだとレスポンスが遅かったりグループ化の中身を表示してくれなかったりと今ひとつなんだよね…
0807デフォルトの名無しさん
2012/05/13(日) 23:21:11.610808デフォルトの名無しさん
2012/05/13(日) 23:57:14.240809デフォルトの名無しさん
2012/05/14(月) 02:20:41.790810デフォルトの名無しさん
2012/05/14(月) 04:01:52.000811デフォルトの名無しさん
2012/05/14(月) 10:17:43.13サクラエディタのようなエディタ系しかないな
でもどれもマッチグループの中身を知る事は出来ない
0812デフォルトの名無しさん
2012/05/14(月) 16:59:02.74前スレで出てた
JavaScript
http://regexpal.com/
Ruby
http://www.rubular.com/
.NET
http://regex-recipe.frozenlib.net/
PHP
http://www.rider-n.sakura.ne.jp/regexp/regexp.php
こういうのを言うんじゃねーの?
前スレでもperl版はないかと聞かれてたが、回答はなかった
0813デフォルトの名無しさん
2012/05/14(月) 18:33:49.61まぁ大抵の物は先読み後戻り迄で事足りるんだけどね
0814デフォルトの名無しさん
2012/05/17(木) 23:15:55.05Japanese system that
<a title=" どうやら〜らしい" style="text-decoration: underline" href="javascript:;">apparently</a>
のような文章で、両<a>タグを除去して(apparentlyは残す)、テキストだけにしたいのですが、どのように書けばいいでしょうか?
0815814
2012/05/17(木) 23:24:20.18のリンクで試してみたのですが、
</?a.*>
では<a>...</a>全てがマッチしました
皆さんは何と呼ぶか分かりませんが、ものぐさな処理方法をしないといけないんだと思いますが、どのようにすればいいのでしょうか?
0816デフォルトの名無しさん
2012/05/17(木) 23:27:09.10</?a.*?>
コレでいける
0817814
2012/05/17(木) 23:36:41.09ありがとうございます
ちょうど>>812のサイトで今自分も思い出して同じ方法で出来て
$pattern = "</?a.*?>";
$result = 'Japanese system that <a title=" どうやら〜らしい" style="text-decoration: underline"href="javascript:;">apparently</a>';
$results = preg_replace($pattern, '', $result);
var_dump($results);
のようにしたのですが、結果は何故か
Jpnese system tht < title=" どうやら〜らしい" style="text-decortion: underline" href="jvscript:;">pprently<>
となり、aだけが抜けた形になってしまいました
どこが間違っていますでしょうか?
0818814
2012/05/17(木) 23:39:15.24デリミタを書いていませんでした
久々だったので忘れていました
すみません
0819デフォルトの名無しさん
2012/05/19(土) 06:42:29.09それらを区別しないオプションが無い環境かつ、あらかじめ文字列を正規化できないような状況という前提で。
[HH][OO][GG][EE] (フォントによっては分かりにくいけど半角と全角の両方を記述)ってやってるけど
何とかならないもんだろうか。
0820デフォルトの名無しさん
2012/05/19(土) 06:47:55.190821デフォルトの名無しさん
2012/05/19(土) 11:19:50.88それでいいよ
0822デフォルトの名無しさん
2012/05/19(土) 11:51:15.08ですよねー(´・ω・`)
HOGEという文字列から[HH][OO][GG][EE]を生成するような仕組みを作らないとダメか……。
0823デフォルトの名無しさん
2012/05/19(土) 11:59:38.760824デフォルトの名無しさん
2012/05/19(土) 13:07:54.74ざっくり言うと、マッチ時は全角半角を区別してほしくないけど、
そのマッチ箇所の文字列は、後で全角半角そのままの状態で使うよ、って感じ。
0825デフォルトの名無しさん
2012/05/19(土) 13:12:23.300826デフォルトの名無しさん
2012/05/19(土) 16:12:14.44ああ、なるほど、そういう場合は確かにありそうだね。
理解した、ありがと。
0827デフォルトの名無しさん
2012/05/20(日) 12:21:17.36取り出すって手もあるね。性能が要求されるところでなければ書くのが
楽な方でいくのもあり。
0828デフォルトの名無しさん
2012/05/21(月) 18:41:01.43ああ、なるほど。
プログラムで関数化するなどの場合は、そっちの方が使いやすいかもしれない
0829デフォルトの名無しさん
2012/05/21(月) 18:44:36.680830デフォルトの名無しさん
2012/05/21(月) 19:04:44.500831デフォルトの名無しさん
2012/05/21(月) 20:44:01.800832デフォルトの名無しさん
2012/05/21(月) 21:53:35.03C++を勉強したほうがいいぞ
0834デフォルトの名無しさん
2012/05/21(月) 23:47:24.140835デフォルトの名無しさん
2012/05/21(月) 23:53:38.230836デフォルトの名無しさん
2012/05/22(火) 00:21:41.76●正規表現の使用環境
VC# 2010exp
●検索か置換か?
検索
●説明
string内にハングル文字が含まれるかどうかチェックしたいです
0837デフォルトの名無しさん
2012/05/22(火) 00:23:49.560838836
2012/05/22(火) 00:45:34.87string text = textBox1.Text;
Regex regex = new Regex(@"[\x{1100}-\x{11f9}\x{3131}-\x{318e}\x{ac00}-\x{d7a3}]");
if (regex.IsMatch(text))
MessageBox.Show("true");
で実行すると「16 進数の数字が正しくありません。」とエラーになってしまいます。
0839デフォルトの名無しさん
2012/05/22(火) 01:20:11.59なんだこれ?
新手のスクリプトか?
0840デフォルトの名無しさん
2012/05/22(火) 08:39:43.280841デフォルトの名無しさん
2012/05/22(火) 20:37:55.05何を何より先に読むのでしょうか?
0842デフォルトの名無しさん
2012/05/22(火) 22:18:55.790843デフォルトの名無しさん
2012/05/22(火) 22:32:11.340844デフォルトの名無しさん
2012/05/22(火) 23:06:03.84先読みしても「評価する位置(一般的になんて表現するんだ?)」は移動しない
0845デフォルトの名無しさん
2012/05/23(水) 00:07:47.97マッチ位置を変更せずに、
文字列のマッチ適合最後部より後ろの方に指定したパターンがあるか調べるのです。
foo(?=bar)bazはfoobazbarにはマッチしますが、
foobazにもfoobarbazにもマッチしません。
foobazでは後方にbarがないし、
forbarbazでは動かないはずのマッチ位置が適合しません。
barfoobazでもダメです。
0846デフォルトの名無しさん
2012/05/23(水) 00:13:19.93foo(?=bar)baz
はどのような文字列にマッチするのでしょうか?
0847デフォルトの名無しさん
2012/05/23(水) 00:13:29.79と書かないのは嫌がらせのため?
0848デフォルトの名無しさん
2012/05/23(水) 00:37:09.84> foo(?=bar)bazはfoobazbarにはマッチしますが、
間違ってる。foo(?=bar)bazはいかなるものにもマッチしない。
0849デフォルトの名無しさん
2012/05/23(水) 00:39:19.10どのような文字列にもマッチしません。
回答スルーして適当な質問を繰り返さないでください。
0850デフォルトの名無しさん
2012/05/23(水) 00:41:44.400851デフォルトの名無しさん
2012/05/23(水) 00:42:56.03原理がわかってないから誰なのかがすぐにわかる
0852デフォルトの名無しさん
2012/05/23(水) 00:45:54.24適当過ぎてワロタw
てか俺の知らないところで仕様が変わったのかと思ってさっきたしかめたわw
0853デフォルトの名無しさん
2012/05/23(水) 00:51:51.430854デフォルトの名無しさん
2012/05/23(水) 01:14:11.330855デフォルトの名無しさん
2012/05/23(水) 06:41:23.38(?!^2chmate$)^2ch$
0856デフォルトの名無しさん
2012/05/23(水) 07:16:10.44間違ってねーか?
0857デフォルトの名無しさん
2012/05/23(水) 12:22:47.94あんまり使う機会がないんだよなあ。
0858デフォルトの名無しさん
2012/05/23(水) 12:39:52.88間違ってね?
0859デフォルトの名無しさん
2012/05/24(木) 00:07:54.69% echo "2ch\n2chmate\n2ch\n2chmate" | grep -Pn '(?!^2chmate$)^2ch$'
1:2ch
3:2ch
0860デフォルトの名無しさん
2012/05/24(木) 00:27:45.52windowsのクセにw
0861デフォルトの名無しさん
2012/05/24(木) 00:45:09.51(?!^2chmate$)^2ch$ と ^2ch$ でマッチするものは変わらないので先読みの例として不適切。
0862デフォルトの名無しさん
2012/05/27(日) 11:22:25.53name0 name1 name2が順番が異なる時どのような正規表現をかけばよいでしょうか
<en_Image name0="image.png" name1="カツ丼" name2="ご飯"></en_Image>
<en_Image name0="image.png" name2="ご飯" name1="カツ丼"></en_Image>
<en_Image name2="ご飯" name1="カツ丼" name0="image.png"></en_Image>
↓
<en_Image name="カツ丼ご飯image.png"></en_Image>
name0 name1 name2が順番が異なる時,以下のような正規表現では取り出せますん
pattern="<en_Image.*?name0=\"(\\w+?).*?name1=\"(\\w+?).*?name2=\"(\\w+?)">.*?</en_Image>"
replace="<en_Image name==\"$2$3.$1\"></en_Image>"
0863デフォルトの名無しさん
2012/05/27(日) 17:05:41.71考え方は、先読みを3回やってポインタを動かさずにキャプチャー、後は読み飛ばし。
エスケープ無し、name{0,1,2}が文字列(属性値)内に出現しない、
属性値は2重引用符のみを使用、=の前後に空白なし、で書けば、
<en_Image(?=.*name0="(.*?)")(?=.*name1="(.*?)")(?=.*name2="(.*?)").*?</en_Image>
0864デフォルトの名無しさん
2012/05/27(日) 17:34:47.11先読みの括弧内でさらぬキャプチャの括弧が使えるとは知らなかった
862じゃないけど勉強になったthx
0865デフォルトの名無しさん
2012/05/27(日) 18:51:50.39また俺の知らないうちに仕様が変わったのかと思ってやってみたらやっぱり出来ねぇじゃねぇかw
毎回間違ってる奴は誰だよw
0866デフォルトの名無しさん
2012/05/27(日) 19:14:05.960867デフォルトの名無しさん
2012/05/27(日) 22:12:42.49ttp://ideone.com/Smpnr
0868デフォルトの名無しさん
2012/05/27(日) 22:24:55.97#!/usr/bin/perl
use strict;
use warnings;
use utf8;
use open qw/:encoding(utf8) :std/;
use feature qw/say/;
#use re qw/debug/;
use Data::Dumper;
my @tags = (
'<en_Image name0="image.png" name1="カツ丼" name2="ご飯"></en_Image>'
, '<en_Image name0="image.png" name2="ご飯" name1="カツ丼"></en_Image>'
, '<en_Image name2="ご飯" name1="カツ丼" name0="image.png"></en_Image>'
);
my $re = qr!<en_Image
(?=.*name0="(.*?)")
(?=.*name1="(.*?)")
(?=.*name2="(.*?)")
.*?</en_Image>
!ox;
for (@tags) {
say;
s!$re!<en_Image name="$2$3.$1"></en_Image>!;
say;
say Dumper([$&, $1, $2, $3]);
}
say $^V;
0869デフォルトの名無しさん
2012/05/27(日) 22:28:34.86ttp://regex-recipe.frozenlib.net/recipe/105
0870デフォルトの名無しさん
2012/05/27(日) 22:49:39.65<en_Image><foo name2="ご飯" name1="カツ丼" name0="image.png"></foo></en_Image>
なんかにも引っかかるようにしてるのはわざとなのか?
0871デフォルトの名無しさん
2012/05/27(日) 23:19:27.14そこまでの厳密さが必要なのかねえ?直すとしたら↓か?
[^<]*?</en_Image>
0872デフォルトの名無しさん
2012/05/29(火) 03:07:00.300873デフォルトの名無しさん
2012/05/29(火) 04:57:16.560874デフォルトの名無しさん
2012/05/29(火) 06:11:54.07他にもtestname2="hoge"とかfoobarname1="orz"とかにもヒットするぜい
0875デフォルトの名無しさん
2012/05/31(木) 15:27:37.030876デフォルトの名無しさん
2012/05/31(木) 18:02:06.150877デフォルトの名無しさん
2012/05/31(木) 20:52:32.33あれ?と思って板名みたらプログラムであって上級プログラムでもスーパープログラマーでもなかったけど
何を期待してるの?
0878デフォルトの名無しさん
2012/05/31(木) 21:42:38.25お前がレベルを上げてくれれば済む話だな
0879デフォルトの名無しさん
2012/05/31(木) 22:17:24.21ある意味レベル高いな
0880デフォルトの名無しさん
2012/06/02(土) 02:21:40.600881デフォルトの名無しさん
2012/06/02(土) 14:52:01.540882デフォルトの名無しさん
2012/06/03(日) 00:24:51.38例えば、
http://edition.cnn.com/2012/06/02/world/meast/egypt-mubarak-profile/index.html?hpt=hp_c1
のような英文の本文を取得してきた場合に、改行されずに全部1文で取得されてきたとします
このような場合、見やすくするために改行を入れたいのですが、自分には難しくて出来ませんでした
ピリオドだけで改行すると、A.T.Tのような単語でも改行されますし、?の場合も改行しないといけません
では、ピリオドの後に(空白文字があっても可)大文字が続くという発想では、I like it.(He knew.)のような場合はダメです
最後が小文字で直後がピリオドというのも、USA.のような場合は改行されません
更に、日本でも同じですが、会話文中は"I know."のような形をとりますので"の直前のピリオドでは改行し、最後の."の"で改行する
のように複雑になってしまいます
どのような正規表現を書けば宜しいのでしょうか?
また、上記を満たすようなコードの書かれているサイトなどあれば紹介していただきたいと思います
宜しくお願い致します
0883デフォルトの名無しさん
2012/06/03(日) 00:34:36.270884デフォルトの名無しさん
2012/06/03(日) 00:51:10.54> 改行されずに全部1文で取得されてきたとします
0885デフォルトの名無しさん
2012/06/03(日) 00:53:07.560886デフォルトの名無しさん
2012/06/03(日) 01:39:20.91なるほど、確かにそっちの方が楽そうですね
スレ違いだとは思うのですが、
例えばこのページ
http://cgi2.nhk.or.jp/e-news/news/index.cgi?ymd=20120601
の英文だけを取得するにはDOMDocumentで
xPathは//div[@id=\"tab_1\"](/text()を後ろに付けても同じようです)としたのですが、
どのように指定すれば改行込みで取り込めるのでしょうか?
上記のやり方だと改行されずに取れてしまいます
0887デフォルトの名無しさん
2012/06/03(日) 05:27:17.100888デフォルトの名無しさん
2012/06/03(日) 06:40:40.77<br />
ちゃんと入ってるやん
0889デフォルトの名無しさん
2012/06/03(日) 07:54:46.63They successfully launched a rocket to send an unmanned module
to the International Space Station after a failed attempt three days ago.
If all goes according to plan, this will be the first private cargo delivery to the ISS.
(George Diller / NASA Launch Commentator)
"Five, four, three, two, one, zero, and launch of the SpaceX Falcon 9 rocket as NASA
turns to the private sector to resupply the International Space Station."
The rocket lifted off Tuesday from an American air force base in Florida.
It's carrying a spacecraft called Dragon.
Engineers at the U.S.-based Space Exploration Technologies, better known as SpaceX, created it.
They'll control it, too.
The module separated from the rocket about 10 minutes after liftoff.
It's now orbiting the Earth, roughly 320 kilometers above the surface.
Engineers will try later this week to get the Dragon to dock at the ISS.
The operation requires extreme precision because the station is orbiting the Earth
at eight kilometers per second - faster than a speeding bullet.
0890デフォルトの名無しさん
2012/06/03(日) 11:48:23.96DOMDocumentでぐぐったらPHPだったので書いてみたけど不慣れなので多分やぼったい
<?php
$doc = new DOMDocument();
$url = "http://cgi2.nhk.or.jp/e-news/news/index.cgi?ymd=20120601";
$doc->loadHTML(file_get_contents($url));
$xpath = new DOMXPath($doc);
$buf = "";
foreach ($xpath->query("//div[@id='tab_1']//node()") as $node) {
if ($node->nodeType == XML_TEXT_NODE) {
$buf .= $node->nodeValue;
} else if ($node->nodeName == "br") {
$buf .= "\n";
}
}
echo trim($buf), "\n";
?>
0891デフォルトの名無しさん
2012/06/03(日) 13:55:10.06妨害要員でも呼んできたか?w
0892デフォルトの名無しさん
2012/06/03(日) 14:10:01.68> どうもプログラマ以外の奴
自己紹介乙
0893デフォルトの名無しさん
2012/06/03(日) 14:35:44.260894デフォルトの名無しさん
2012/06/03(日) 14:48:50.390895デフォルトの名無しさん
2012/06/03(日) 20:16:31.830896デフォルトの名無しさん
2012/06/08(金) 17:03:45.85Objective-CのNSRegularExpressionで、ある文字列について、
・順番通りに
・一部が欠けてもよく
・途中に余計な文字が入ってもよく
・一致する数を数える
ようなパターンを組みたいのですが、
例えばABCDEという文字列があったとして
ABCDE→5(全件一致)
AABBCCDDEE→5(全件一致)
ADCBE→3(A,C,Eが一致)
AFGHBCDE→5(全件一致)
EDCBA→1(Eのみ一致)
というように数えたいのですが、上手くいきません。
.*?(A)?.*?(B)?.*?(C)?.*?(D)?.*?(E)?.*?
ではダメみたいなのですがどうするのが正しいでしょうか
0897デフォルトの名無しさん
2012/06/08(金) 17:10:29.99Dが先に一致して以降BCは一致しないので
ADCBE→3(A、D、Eが一致)
です。
0898デフォルトの名無しさん
2012/06/08(金) 18:52:44.410899デフォルトの名無しさん
2012/06/08(金) 18:57:38.92素直にプログラムで書いたほうが早いよ
0900デフォルトの名無しさん
2012/06/08(金) 19:33:20.07^[^ABCDE]*(A)?[^BCDE]*(B)?[^CDE]*(C)?[^DE]*(D)?[^E]*(E)?.*$
0901デフォルトの名無しさん
2012/06/08(金) 20:11:47.73マッチしたとしても1行丸ごとやっちゃうから件数が取れないな
0902デフォルトの名無しさん
2012/06/08(金) 20:12:43.61>>900を見て気づいたのですが、これだと最初に最初の文字と最後の文字が来てしまった時点で終わってしまうんですね。
で、@"^[^A]*(A)?[^B]*(B)?[^C]*(C)?[^D]*(D)?[^E]*(E)?.*$"などとしてみると、途中の文字が欠けると以降マッチされない。
例えばAEBCDEとかだったら、AとEマッチで2ではなくて、2文字目のEを無視して全件マッチで5としたい。
最も多くマッチするマッチングを探そうとすると、やっぱりプログラミングしないとダメっぽいですね・・・。
0903デフォルトの名無しさん
2012/06/08(金) 20:30:50.960904デフォルトの名無しさん
2012/06/09(土) 12:59:29.64マッチしますよー。 http://rubular.com/r/50zMFg5OOy
一致した件数(と、その内訳)は$1〜$5の内容を見る。これは質問者の考えたアイデア。
>>902
>最初に最初の文字と最後の文字が来てしまった時点で終わってしまう
これだとって… AEBCD→(A、Eが一致) こういう仕様だったんだから(笑)
何をするにもまず仕様を確定させないといけないね。
0905デフォルトの名無しさん
2012/06/09(土) 17:13:39.26> AEBCD→(A、Eが一致) こういう仕様だった
それどこから持ってきたの?
0906デフォルトの名無しさん
2012/06/09(土) 18:59:38.75>>896と>>897からですけど、何か引っかかる点があるの?
0907デフォルトの名無しさん
2012/06/09(土) 19:41:13.67どちらにもないみたいだけど…
0908デフォルトの名無しさん
2012/06/09(土) 19:56:46.83AEBCD→(A、Eが一致)
>>896と>>897を見て、これ以外の解釈があるってことかな。
そうならば、具体的にそれを示してくれないと。
0909デフォルトの名無しさん
2012/06/09(土) 20:26:20.59AEBCD->ABCD
0910デフォルトの名無しさん
2012/06/09(土) 20:32:28.31その事例は書いてないし、>896の下記事例と矛盾する。
> AFGHBCDE→5(全件一致)
まあ、要件をちゃんと言葉で説明出来てない質問者も悪いと思うけどね。
0911デフォルトの名無しさん
2012/06/09(土) 20:56:57.620912デフォルトの名無しさん
2012/06/09(土) 21:15:24.74>>896と>>897に「最長でマッチしてくれ」という内容は無いです。
最長でマッチさせたいという要求は>>902で初めて出たものですね。
ただし、最大限好意的に解釈すれば「最長となるパターンが欲しい」とも読み取れます。
細かく書かないと難しい。
せっかくだから書きますね。
>>910
いや、そこは矛盾してないですよ。
例題の対象はABCDEだけなので、FGHは「余計な文字」となります。
0913デフォルトの名無しさん
2012/06/09(土) 21:50:33.66>>896の、
・順番通りに
の意味は、
(1)EDCBA→1(Eのみ一致)
(2)ADCBE→3(A,C,Eが一致)※これは間違い
と、>>897の、
(3)ADCBE→3(A、D、Eが一致)
以上の例から、
<A>出現した[A-E]を基準として、次に検索するのはそれ以上のもの、これを繰り返す
というルールだと解釈しました。
このルールでは、
AEBCD→(AEが一致)
となります。
そして、
<B>文字列全体でA→Eという順序を守りつつ、(書いてないけど)最長となるパターンを選び取る
というルールなら、
(1)は、E|D|C|B|Aの5パターンで一致
(2、3)は、ADE|ACE|ABEの3パターンで一致
を結果としなくてはなりません。
このルールでは、
AEBCD→(ABCDが一致)
となります。
0914デフォルトの名無しさん
2012/06/09(土) 21:52:44.95ならば、
(1)は、E
(2、3)は、ADE
AEBCD→(ABCDが一致)
となり、例題および>>909さんの考えと一致します。
が、、、>>896と>>897からここまで気を利かせるのは無理があるので、
ルールを確定させるには例題不足ですね、やはり。
CABED
↑こういう例題があれば、このような論争は起きません。
<A>ではCE、
<B>ではABE|ABD、
<C>ではABE
このように<A><B><C>の結果がハッキリと異なれば、ルールを確定できましたね。
0915デフォルトの名無しさん
2012/06/09(土) 22:22:12.91だから勝手にAEBCD→(A、Eが一致)なんて決めてはいけないんだよ
0916デフォルトの名無しさん
2012/06/09(土) 22:25:17.78このときどうするかがわかればそれでよくね。
0917デフォルトの名無しさん
2012/06/09(土) 22:29:39.31ABCDととればいいはずなのに、気を利かせてAEにするのは無理がある、とも言い換えられる状態。
0918デフォルトの名無しさん
2012/06/09(土) 22:32:09.03例題不足と最短一致と確定することに矛盾はないの?
0919デフォルトの名無しさん
2012/06/09(土) 23:40:50.88なるほど、それならその通りですね。
例題だけで判断すれば、どちらともつかないから決めつけられない。
質問者が当初<A>をルールとしていたはず、という根拠の最後の私の判断基準は、
重要なキーワードである「最長」という言葉がなかったということです。
それを普通に考えると、<C>よりは<A>に分がありますよね。
突き詰めると、私の判断(確信)は質問者のマインドも汲み取ろうとした結果のようです。
あとまあ隠れた要因として、
・質問者のアイデアの延長線で出来る
・正規表現で可能な範囲である
のは<A>だけ?ということもありますけどね。
>>916
一応ABCDE5文字が対象なので…。
>>918
ん?勘違いなさってる。
最短一致じゃないですし、>>912-914は、細かく言えば確定できていない、ということを示しました。
0920デフォルトの名無しさん
2012/06/10(日) 16:43:55.84これを受け入れたとして、
> AEBCD→(A、Eが一致) こういう仕様だったんだから(笑)
こうまで言い切れる理由にはならんだろ
0921デフォルトの名無しさん
2012/06/12(火) 19:47:27.69鬼車
●検索か置換か?
検索
●対象データ
あああかか
うううきき
いいいくく
●希望する結果(あああ いいい うううをマッチさせる & きき くく の文字を含まない)
あああ
(あああ の部分のみマッチ)
●説明
複数の文字(文字列1)をマッチさせたい、そして
その文字列中で、指定した文字が入ってたとき、その文字(文字列1)はマッチしないということは可能でしょうか。
[例文]
あああかか
うううきき
いいいくく
>>922に続く
0922デフォルトの名無しさん
2012/06/12(火) 19:47:53.28↓構文はnot使ったりと正規表現と関係無くて申し訳ないですが自分のイメージ的にはこんな感じです。
( (あああ|いいい|ううう) (not (きき|くく)) )
この場合、「あああかか(正確には あああ の部分のみ)」がマッチとなり、
文字列中に「きき、くく」が文字列に含まれる
「うううきき(正確には ううう の部分)」と「いいいくく(正確には いいい の部分)」はマッチさせない感じです。
調べた感じですと、否定文を使う形になるとは思いますが、否定文が結構複雑そうで、
それに複数の否定を加えるようだとかなり難しいように感じますが、実際にこのような正規表現を実現出来るか不安なのですが、実現可能でしょうか。
また、もし上記を満たす正規表現が分かる方おりましたら教えて頂ければ幸いです。
どうぞよろしくお願い致します。
0923デフォルトの名無しさん
2012/06/12(火) 21:09:05.98(あああ|いいい|ううう)(?!きき|くく)+?$
0924デフォルトの名無しさん
2012/06/12(火) 22:44:31.65ありがとうございます。
自分の環境だと、うまく動かず+?$を外して
(あああ|いいい|ううう)(?!きき|くく)でうまく動きました。
後述で補足となりますが、大変申し訳ありません・・・言葉足らず、条件抜けとなってしまいました。。
大変申し訳ありませんが、例文ですが、
あああ○○○○○かか○○○○○○
かか○○○○○○あああ○○○○○
いいい○○○くく○○○
うううきき
ききううう
ううう○○○○○きき○○○○○○
きき○○○○○○ううう○○○○○
上記のように否定の単語の「きき」&「くく」が「ううう」「いいい」の直後に来るわけではなく
前後や間を挟んで出てくる場合もありました。。
上記の例文で、下記のような文を打つと、
( (あああ|いいい|ううう) (not (きき|くく)) ) ←これはイメージで正規表現文じゃないです。
(あああ|いいい|ううう)(?!きき|くく)+?$
あああ○○○○○かか○○○○○○
かか○○○○○○あああ○○○○○
上記のあああの部分だけマッチさせたいのですが、これは可能でしょうか。
もしお分かりの方おりましたら再度となってしまい申し訳ありませんが教えて頂けないでしょうか。
後出し条件と言葉抜けとなってしまい大変申し訳ございませんでした。
0925デフォルトの名無しさん
2012/06/13(水) 00:24:06.44ごめんそんな気はしてたけど考えるの面倒だった。
これでどうかな。
^(?!.*(きき|くく))(?=.*(あああ|いいい|ううう)).*$
0926デフォルトの名無しさん
2012/06/13(水) 00:32:40.79おおお、うまく動作致しました!感動で鳥肌です。。
説明不足で申し訳ありませんでした、再度お答え下さってありがとうございます!
本当にありがとうございます!
正規表現使う場面も多いので勉強してきます。
0927デフォルトの名無しさん
2012/06/15(金) 13:01:14.62abc -> ABC
Abc -> ABC
aBc -> ABC
こんな感じにできないのかな
s/[a-z]/\U$&/g
としてもダメだった…
0928デフォルトの名無しさん
2012/06/15(金) 13:10:40.090929デフォルトの名無しさん
2012/06/15(金) 13:18:46.06おしかったね
0930デフォルトの名無しさん
2012/06/18(月) 13:13:11.82こういった入れ子?を書くと例えば丸ゴシックにマッチしますが丸にもマッチします
どのように書けばよいのでしょう
(i(Phone|Pad|OS)|Android)
こういうのも同様ですね
0931デフォルトの名無しさん
2012/06/18(月) 13:22:26.750932デフォルトの名無しさん
2012/06/18(月) 13:28:15.85((?:角|丸)ゴシック|明朝)
こういうこと?
0933デフォルトの名無しさん
2012/06/18(月) 13:44:22.97「丸」にマッチする? 環境は?
egrepではマッチしないんだが。
0934デフォルトの名無しさん
2012/06/18(月) 13:47:56.700935デフォルトの名無しさん
2012/06/18(月) 13:53:22.06それでは「丸明朝」にマッチすると思うが。
0936デフォルトの名無しさん
2012/06/18(月) 14:01:16.97((角|丸)ゴシック)|明朝
0937デフォルトの名無しさん
2012/06/18(月) 14:20:10.560938デフォルトの名無しさん
2012/06/18(月) 14:52:52.240939デフォルトの名無しさん
2012/06/18(月) 15:41:47.11> 丸にもマッチします
$ printf 'A\nB\nC\nD\n' | egrep '((A|B)C|D)'
D
0940デフォルトの名無しさん
2012/06/18(月) 16:35:20.340941デフォルトの名無しさん
2012/06/18(月) 16:46:31.29質問かどうかもあやしい
0942デフォルトの名無しさん
2012/06/18(月) 19:11:40.07「角、丸」にマッチしなければいいんだろ
だったら
([丸角]ゴシック|明朝)
でいいんじゃね?
0943デフォルトの名無しさん
2012/06/18(月) 19:41:14.840944デフォルトの名無しさん
2012/06/18(月) 20:00:36.46ちゃんと嫁って、もう一例書いてあるだろ
(i(Phone|Pad|OS)|Android)
0945デフォルトの名無しさん
2012/06/18(月) 20:20:02.760946デフォルトの名無しさん
2012/06/18(月) 20:44:29.06よく読んでも、そっちについてはどういう不都合があるのか書いてないように見えるけど?
0947デフォルトの名無しさん
2012/06/18(月) 21:09:59.13何故なら文字が単独だから、んで下の例では[]は使えない
故に(iPhone|iPad|iOS)|Android)を(i(Phone|Pad|OS)|Android) こうすれば効率的と判断したからでは?
0948デフォルトの名無しさん
2012/06/18(月) 21:49:34.970949デフォルトの名無しさん
2012/06/19(火) 09:08:19.930950デフォルトの名無しさん
2012/06/19(火) 11:11:50.61丸明朝
の「明朝」にマッチしていいのか悪いのか?
それ以前に>>930の「丸にもマッチします」とは何なのか?
0951デフォルトの名無しさん
2012/06/19(火) 20:02:49.25質問者はテンプレ(>>5)使え
0952その�@
2012/06/20(水) 18:31:30.82↓こーいう文字列に対してC#で正規表現を掛けようと思っています。(実際には改行コードは含まれていません。)
<li class="g"><div class="vsc" sig="jNt" bved="0CDUQkQo" pved="0CDQQkgowBQ">
<h3 class="r"><a class="l" onmousedown="return rwt(this,'','','','6',
'AFQjCNE3acQNFxBDQ4S2wYC0wVeDKQSSjQ','',
'0CKUBEBYwBQ',null,event)" href="http://www.jpa.or.jp/chishiki/index.html"><em>たまご</em>
の知識</a></h3><div class="vspib" role="button" tabIndex="0" aria-label="結果の詳細">
<div class="vspii"><div class="vspiic"></div></div></div><div class="s">
<div class="f kv"><cite>www.jpa.or.jp/chishiki/index.html</cite><span class="gl">
0953その�A
2012/06/20(水) 18:32:05.39jp/chishiki/index.html+&cd=6&hl=ja&ct=clnk&gl=jp">キャッシュ
</a></span><span class="vshid"><a href="/search?hl=ja&q=related:www.jpa.or.jp/
chishiki/index.html+%E5%8D%B5&tbo=1&sa=X&ei=sZXhT6-XJobjmAWxq53xAw&ved=0CDgQHzAF">
類似ページ</a></span></div><div style="display: none;" id="poS5" class="esc slp">一般公開で +1 しました
<a class="fl" href="#">取り消す</a></div><span class="st"><em>
卵</em>は私たちの食生活に欠かすことのできないほど身近なものです。それだけに、
「実は知らなかった!」ということも多いのではないでしょうか? このページでは、
<em>卵</em>についてのいろいろな知識を紹介しています。
興味をもった項目をクリックして、<em>卵</em>への理解を <b>...</b>
<br></span></div></div></li>
※メッセージが長すぎます、と怒られちゃうので分割して投稿しています。
0954その�B
2012/06/20(水) 18:34:34.61// string wk = ごにょごにょした上記のHTMLが含まれています。
System.Text.RegularExpressions.MatchCollection mc2 =
System.Text.RegularExpressions.Regex.Matches(wk, @".*,null,event\)"" href=""(?<url>[A-Za-z0-9_\.\/].*?)""><em>.*");
foreach (System.Text.RegularExpressions.Match m2 in mc2)
{
string s = m2.Groups["url"].Value;
}
というコードを実行すると …続く
0955その�C
2012/06/20(水) 18:37:11.79foreach ループの中で
1回目(欲しい部分)
2回目(不要な↓のデータ) ・・・ (A)
とループ処理の中で流れれば良いのですが、 m2.Groups["url"].Value; ループは1回のみ通り
(A) が取得されてしまい困ってます。私の正規表現はどこかおかしいでしょうか?
http://webcache.googleusercontent.com/search?q=cache:wVOdEgj0slAJ:www.jpa.or.jp/chishiki/index.html+&cd=6&hl=ja&ct=clnk&gl=jp">
キャッシュ</a></span><span class="vshid"><a href="/search?hl=ja&q=related:www.jpa.or.jp/chishiki/index.html+%E5%8D%B5&tbo=1&sa=X&
ei=sZXhT6-XJobjmAWxq53xAw&ved=0CDgQHzAF">類似ページ</a></span></div><div style="display: none;" id="poS5" class="esc slp">
一般公開で +1 しました <a class="fl" href="#">取り消す</a></div><span class="st
0956デフォルトの名無しさん
2012/06/20(水) 18:37:29.010957デフォルトの名無しさん
2012/06/20(水) 18:50:38.34長々と書くならコピペだけで動くコードにして、コード貼るサイトに書いてくれ。
0958デフォルトの名無しさん
2012/06/20(水) 18:55:32.97null,event)" href="[URL]"><em>
の[URL]部分だけ取り出したいのに、うまくいかないということか?
0959デフォルトの名無しさん
2012/06/20(水) 19:00:23.64(?<url>[A-Za-z0-9_\.\/].*?)
の後ろのピリオドが邪魔じゃね?
パラメータいらないなら、:だけ追加して
(?<url>[A-Za-z0-9_\.\/:]*?)
こうとか?
0960デフォルトの名無しさん
2012/06/20(水) 19:39:37.57コードを貼って見せられるサイトとかあればいんですけどね。
自前のサーバにアップしかないか。
>>958
はい、同じ様なURLが複数HTML存在しており、
URL部分だけを抽出したいのに余計なところが
抽出されてしまっています。
つまり。 >>952 >>953 のうち抽出したいURLは、http://www.jpa.or.jp/chishiki/index.html だけなんです。
しかし、現状の正規表現では >>955 の下段に記載した余計なHTMLが抽出されてしまっています。
>>959
やってみますです。
0961デフォルトの名無しさん
2012/06/20(水) 19:53:51.26http://pastebin.com/
どこまでマッチさせたいのかよく分からないけど、
href="〜" ならば、意味合い的にコアの部分は href=""(?<url>[^""]*)""
とかで十分では。
0962デフォルトの名無しさん
2012/06/20(水) 20:10:12.39コード貼るサイトあるんだよ。
質問スレのテンプレ探してみ。
0963デフォルトの名無しさん
2012/06/20(水) 20:11:25.52ありがとうございます。 "" を含まないという意味ですよね。
System.Text.RegularExpressions.Regex.Matches(wk, @".*,null,event\)"" href=""(?<url>[^""]*)""><em>.*");
でやってみたところそれらしいそれらしい値は取れる様になりました。
ただ、ごにょごにょしたHTMLが10件ほどあって
そのうちの7つはしっかり抽出出来るのですが
それ以外が未だうまくいかないのでもうちょっと頑張ってみます。
0964963
2012/06/20(水) 20:32:55.97ありがとうございます。便利なサイトがあるものですね。
↓の正規表現を書いていたのですが、
System.Text.RegularExpressions.Regex.Matches(wk, @".*,null,event\)"" href=""(?<url>[^""]*)""><em>.*");
この正規表現の場合、(A)の場合は取得出来るのですが、
(B)の場合に取得が出来ません。(B)の場合でも取得出来るにはどういう条件を追加すれば良いでしょうか?
(A) BYwBw',null,event)" href="http://www.nichirankyo1.or.jp/"><em>卵1</em>
(B) BYwBw',null,event)" href="http://www.nichirankyo2.or.jp/">日本<em>卵2</em>
0965デフォルトの名無しさん
2012/06/20(水) 21:10:19.55マッチさせたい範囲を明確にして欲しいな。特に、後ろの<em>以降もマッチさせる必要あるのかどうか。
こんなのでも確定出来るんじゃないの?
System.Text.RegularExpressions.Regex.Matches(wk, @",null,event\)"" href=""(?<url>[^""]*)");
あと、スペース入る可能性あるところ全部に\s*を入れるのがセオリー。
0966デフォルトの名無しさん
2012/06/20(水) 21:19:32.12ありがとうございます。出来ました!!!セオリーもありがとうございます。
[^<]* の解釈としては、
< 以外 の文字列が 0 回以上存在する
で良いでしょうか?
0967デフォルトの名無しさん
2012/06/20(水) 21:21:06.17http://gimite.net/help/devas-ja/all_regex.html
のサイトよく纏められていておすすめです。
0968デフォルトの名無しさん
2012/06/20(水) 21:31:43.10そうです。>>961の[^""]*も同様。
マッチを明確にすることが出来るので、常套手段です。
これでうまくいかないときだけ.*?を使います。
くどいようですが、まず最初に「確実に確定できるマッチ範囲」をしっかり決めた方が吉です。
0969デフォルトの名無しさん
2012/06/20(水) 21:43:39.520970デフォルトの名無しさん
2012/06/20(水) 21:52:46.74結構厳しそうです。
あらゆるパターンがあるので。
地道に文字列操作します。
0971デフォルトの名無しさん
2012/06/20(水) 22:23:01.21ウェブサイトから広告を削除した。
ソウル・ナイロビ間の便を近日就航する予定の大韓航空は、そのPR広告で「大韓航空で飛び、アフリカの大いなるサバンナ、
サファリツアー、そして原始的エネルギーに満ちた先住民たちを楽しみましょう」と表現した。
あるケニア人はこうツイートしている。
「私の #原始的エネルギーを処理するために今日はライオン狩りとゾウいじめをしようと思う」
別のケニア人はこうツイートした。
「私は毎朝起床するために #原始的エネルギー を使っています」
数百件のツイートが集まったことを受け、大韓航空は、「ナイロビ便の最近の広告についてしかるべき確認を行っています。
この状況に対して心から謝罪いたします」と発表した。
以下省略
http://www.afpbb.com/article/economy/2885046/9141540
0972uy
2012/06/22(金) 14:33:13.43機能が足り無すぎ
0973デフォルトの名無しさん
2012/06/22(金) 14:39:10.520974デフォルトの名無しさん
2012/06/22(金) 15:05:56.77^
$
(|)
[]
n
\
これで十分です
0975uy
2012/06/22(金) 17:29:25.46正規表現って何年前に作られたもので何年間ろくに成長せずに止まってるんだよっていう
正規表現内にシンタックスシュガー入れないからいつまでたっても正規表現は見にくい
人間が書ける範囲を狭める
0976デフォルトの名無しさん
2012/06/22(金) 17:50:07.85そう思うなら君が新たなる次世代型正規表現とやらを作ったらいかがかね?
0977デフォルトの名無しさん
2012/06/22(金) 17:50:32.52さすがにこれは「お前らがそう思うんなら(ry」としか言いようがない
こちとらPerlとかRubyの最新版のマニュアル見てたら
\gだの\kだの\pだの今まで知らなかった拡張記法があって脳汁が溢れそうなんだがw
俺はuyのように全てを知り尽くしたわけじゃないから、
今後もこういった発見で楽しい思いをさせてもらうよ
0978デフォルトの名無しさん
2012/06/22(金) 18:28:04.49シンタックスシュガーがほしいだけなの?
シンタックスシュガーがあれば人間がかける範囲が広がると思うのはちょっとどうかと
0979デフォルトの名無しさん
2012/06/22(金) 18:28:35.50バリデーションチェックとか速そうですね。
正規表現を考える時間に
文字列操作でバリデーションを作成した方が早かったりするので悩みますねん。
0980デフォルトの名無しさん
2012/06/22(金) 18:31:13.81たぶん今作ってるほうが速いよ
0981デフォルトの名無しさん
2012/06/22(金) 18:46:57.010982デフォルトの名無しさん
2012/06/22(金) 19:09:34.29確かにそういうところがあるのは否定出来ない。
そういえば否定もちょっとめんどい。
0983デフォルトの名無しさん
2012/06/22(金) 19:10:24.04でもある言語の同じレベルのプログラマ達の中で、使える人と使えない人が
くっきり分かれてしまうのは問題だと思いませんか。
0984デフォルトの名無しさん
2012/06/22(金) 19:20:32.46物にもよるかと思いますが
プログラムでロジックを組んだ方が開発時間が短縮出来る気がしてます。
0985デフォルトの名無しさん
2012/06/22(金) 19:47:48.43俺だって昔はなんだこりゃと思った時期もあったし、
それを忘れてこんなの出来ないのかよと言うのはただの傲慢かと思う。
でも、そんなに難しくないから理解すると楽できるとこがありますよ。
>>982
否定は誰かが構文作ってくれるに違いない。あれは人がやる仕事じゃない。
0987uy
2012/06/22(金) 21:59:25.71str = "12345678"
str.scan(/\d{1,3}/) {|m| p m }
は
"123" "456" "78"
と表示されるけどこれを
"12" "345" "678"
にしたんだけどどうやんの??
0988デフォルトの名無しさん
2012/06/22(金) 22:13:33.43うん、ものによるのは確かにそうで、ある程度複雑になった場合は、
正規表現のほうが明快かつ速度も優れる場合があると思う。
逆に、ある程度単純な場合は正規表現を使わないほうが速いことが多い。
>>981
使うな厨だといいたいのかな。
>>986
C#がアセンブラのシンタックスシュガーであるという大ボケを見せてくれてるの?
0989uy
2012/06/22(金) 22:20:46.61おい
アセンブラで3Dゲー作れ
0990デフォルトの名無しさん
2012/06/22(金) 22:26:35.29その前に答えてよ。
C#ってアセンブラのシンタックスシュガーなの?
0992デフォルトの名無しさん
2012/06/22(金) 23:41:10.23の書き込みをする人にイラッ☆
0993デフォルトの名無しさん
2012/06/22(金) 23:46:47.51reverseしておいてそれやって、reverse
0994デフォルトの名無しさん
2012/06/23(土) 00:19:27.72恥ずかしくなったの?改行多いよ
0995デフォルトの名無しさん
2012/06/23(土) 00:25:43.930996デフォルトの名無しさん
2012/06/23(土) 01:00:58.28とりあえずおまいら全員Perl6の正規表現を読んで失禁してくればいいと思うよ
http://feather.perl6.nl/syn/S05.html
0997デフォルトの名無しさん
2012/06/23(土) 01:15:14.821000uy ◆pdu1UZmweE
2012/06/23(土) 01:35:27.4610011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。