1 :
デフォルトの名無しさん :
2012/06/23(土) 01:38:40.22
2 :
デフォルトの名無しさん :2012/06/23(土) 01:40:05.80
3 :
デフォルトの名無しさん :2012/06/23(土) 01:40:50.29
4 :
デフォルトの名無しさん :2012/06/23(土) 01:43:14.23
スルーされにくい質問のテンプレと例 ●正規表現の使用環境 Java1.5 ●検索か置換か? 検索 ●説明 各行の1番目のAまでを検索したい ●対象データ ABCA BCAA CABA ●希望する結果 ABCA ^ BCAA ^^^ CABA ^^ ※ ^ はアンダーラインだそうな ^^;
5 :
デフォルトの名無しさん :2012/06/23(土) 01:43:44.50
早すぎワロタ
粘着が飽きるまで放置しとけばいいのに
このスレッドは天才チンパンジー「アイちゃん」が 言語訓練のために立てたものです。 アイと研究員とのやり取りに利用するスレッドなので、 関係者以外は書きこまないで下さい。 京都大学霊長類研究所
「正規表現が進化しない」ってなかなか斬新な表現だな。 「整数が進化しない」と言ってMSゴシック全角数字の汚さをdisるようなもんか
正規表現ってパッと見じゃあ理解できない魔法の記号だからな。
おれもそれを痛感する。なるべく正規表現つかいたくない
逆にぱっと見てだいたい何やってるかわかるのが正規表現だよ。 正確に理解するには罠がたくさんあるけどな。
正規表現を理解できないのに、プログラミング言語が理解できるはずがない。 本人がそう思ってるとしたら、理解したつもり、ってだけだ。
,一-、 / ̄ l | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ■■-っ < んなーこたーない ´∀`/ \__________ __/|Y/\ Ё|__ | / | | У |
1行にかこうとするのが不自然だ。どの部分で失敗したかわかりにくい
15 :
デフォルトの名無しさん :2012/06/23(土) 18:41:58.15
$url の末尾に「/(スラッシュ)」が入っている場合と、入っていない場合があります。
入っている場合には自動でそのスラッシュをPHPの正規表現を使用して除去する為に
下記コードを書いたのですがエラーが出ます。
どこに問題があるのでしょうか?
//$url = "
http://unnko.com/111 ";
$url = "
http://unnko.com/111/ "; //←この場合に末尾の / を除去したい
$url = preg_replace("/^(.+?)[/]$/","\\1",$url);
Warning (2): preg_replace() [function.preg-replace]: Unknown modifier ']'
>>17 ありがとうございました。
因みに、 \\1 の部分はいつも決まり文句で書いているのですが
正直あまり意味が分かりません。
これって何を意味してるのでしょうか?
そもそも、
>>16 で記述したコードの場合
抽出された結果は、左辺( $url )に代入される為
\\1 なんてそもそもいらない気がしております。
マニュアル読め。
20 :
uy :2012/06/23(土) 23:00:10.02
教えてやろうと思ったけどやめた 苦しめ 時間を無駄にしろ 俺からレスがもらえたら削減できたはずの時間 無駄に悩め
21 :
uy :2012/06/23(土) 23:16:07.25
a = "
http://www.google.co.jp/ "
a.sub!(/\/$/,"")
p a
正規表現て初心者が書くからカオスになるんだろうな
>$url = preg_replace("/^(.+?)[/]$/","\\1",$url);
バカかこれ
\\1 これってどういう意味?
23 :
uy :2012/06/24(日) 20:35:56.27
後方参照だって教えただろ初心者はまじでしね p "aaabbbccc".sub(/(bbb)/ , '__\\1__') # ↓ # # "aaa__bbb__ccc"
>>23 thank you .
by the way i saw you at prgramer's board, you know?
25 :
uy :2012/06/24(日) 23:55:43.66
いいえ 教えてないのに「教えただろ」 とかいってくる奴の真似をしてみただけ
教えてください。複数行からのある文字列を含んだ 行の検索の記述方法です ●正規表現の使用環境 Java7 ●検索か置換か? 検索 ●説明 複数ある文字行からの検索で 一行中に[A]and[C]を含む行を抽出する方法 一行中に[K]or[S]を含む行を抽出する方法 ●対象データ ABCDEFG HIJKLMN OPQRSTU ●希望する結果 ABCDEFG (A and C) HIJKLMN と OPQRSTU (K or S)
(.*A.*C.*|.*C.*A.*) ([KS]+)
>>27 うあ!早々にありがとうございます。
あまえついでに検索対象が「単語」になった場合はどうしたら良いでしょうか?
●正規表現の使用環境
Java7
●検索か置換か?
検索
●説明
複数ある文字行からの検索で【単語A】【単語B】をand/or検出
●対象データ
むかしむかし、おじいさんは山に芝刈りに、おばあさんは川に洗濯に行きました(改行)浦島太郎はかめにのって海に出て行きました(改行)
そうすると、おじいさんは「わたしは小さなつづらでよい」といいました(改行)
●希望する結果
「おじいさん」and「おばあさん」
むかしむかし、おじいさんは山に芝刈りに、おばあさんは川に洗濯に行きました(改行)
「おじいさん」or 「おばあさん」
むかしむかし、おじいさんは山に芝刈りに、おばあさんは川に洗濯に行きました(改行)そうすると、おじいさんは「わたしは小さなつづらでよい」といいました(改行)
条件後出し禁止
(.*おじいさん.*おばあさん.*|.*おばあさん.*おじいさん.*) (おじいさん|おばあさん)
条件が複数になったときとかを考えると、 プログラム側でどんどん分割しちゃった方が実用的な気がする。
>>30 ありがとうございました。商品の名前の正式名と略名の両方で書かれた
論文があったので、助かりました
このスレいつからこんなレベル低くなったんだ
35 :
デフォルトの名無しさん :2012/06/25(月) 11:50:44.25
性器表現とか言い始めたあたりから
べつにええやん # 商品名の書かれた論文をJavaで検索ってのがちょっと気になる。
好きとか嫌いとか言い出したあたりから
指定されたファイルパスの拡張子を正規表現で変更しようとしています。 下記の場合、具体的には *.csv という拡張子を *.txt に置き換える為に 正規表現を書いたところ string basic_path = @"C:\Users\YamadaTarou\Desktop\20120626_155147.csv"; System.Text.RegularExpressions.Regex r = new System.Text.RegularExpressions.Regex(@".*\.(?)"); string replaced_path = r.Replace(basic_path, "txt"); parsing ".*\.(?)" - Quantifier {x,y} following nothing. というエラーが出ちゃいます。 どこに問題があるのでしょうか?
?は{0,1} ?の前に正規表現がない。 ?が何もないものの後ろにある = ? following nothing. = Q. {0,1} following nothing. ?の代わりにcsvじゃまずいのか?
>>39 指定される元のファイルが
CSV だったり TSV である可能性がある為、決め打ちが出来ません。
つ ".*¥.(.sv)$" つ ".*¥.(...)$" つ ".*¥.([^.]*)$"
^((?>[^.]+)\.)+(?>[^.]+)$ ぐらいにしないと無駄なバックトラックが入ってしまい効率が落ちるということになるのか・・・? 効率良く処理するには後ろから読んでいって欲しいところだがそんな制御は無理か・・・? 正規表現ってこんな訳のわからないものだったのか・・・?
その方がよっぽど訳わからん
ふくろう本を読め
まあ適当でいいか O(n^2)とかにならなければ気にすることないよな
>>42 (^^)ありがとうございます。
早速、下記コードを記述したところ
string basic_path = @"C:\Users\YamadaTarou\Desktop\20120626_155147.csv";
System.Text.RegularExpressions.Regex r = new System.Text.RegularExpressions.Regex(@".*\.([^.]*)");
string replaced_path = r.Replace(basic_path, "txt");
replaced_path には、 "C:\Users\YamadaTarou\Desktop\20120626_155147.txt"
が入る事を期待していたのですが
replaced_path には、 "txt だけ入ります。
うーん。あと一歩。
.*消せ
>>48 サンキュー
string basic_path = @"C:\Users\YamadaTarou\Desktop\20120626_155147.csv";
System.Text.RegularExpressions.Regex r = new System.Text.RegularExpressions.Regex(@"\.([^.]*)");
string replaced_path = r.Replace(basic_path, ".txt");
で出来ました。
5000円出してふくろう本買ってきたわ 高すぎるだろ・・・
お前の脳みそに 皺が1本増えてよかったじゃないか。
大学帽かぶってるやつか?
フクロウ博士ではないな
たま ぶくろう
玉袋寛子っていまなにしてんのかな
本買って勉強するのもいいと思うけど、 結局は実際の業務でgrep検索や正規表現で得たい結果を学んでいく方がいいと思う。
実地独学だけで進むと、変な勘違いや基礎や初歩の欠落を抱えたまま それに気付かず進んでしまう可能性もあるけどね
URL文字列から次の事をしたいんですけど、
正規表現がどうもまずいみたいです。
また、ループの中でどう <last-string> でグループ化した値を参照したら良いかわかりません。
ご伝授下さい。
string test = "
http://hogehoge.com/123.pdf "; //123.pdf をとりたい
//string test = "
http://hogehoge.com/123.html "; 123.html をとりたい
//string test = "
http://hogehoge.com/123.doc "; 123.doc をとりたい
//string test = "
http://hogehoge.com/ "; ""(空文字) をとりたい
//string test = "
http://hogehoge.com "; ""(空文字) をとりたい
Regex regex = new System.Text.RegularExpressions.Regex(@"^.*\/(?<last-string>[a-zA-Z0-9.].*)$");
MatchCollection matchCol = regex.Matches(test);
for(int i = 0; i < matchCol.Count; i++)
{
//よくわからなん。
//string gotten_string = matchCol[i].Value;
}
細かくは試してないけど ^(.*//.*/.*)([^/]*)$ とかで行けそうな予感。 各言語/ライブラリの使い方については知らんけど。
あ、だめだ。ごめん>59は忘れて
>>58 string test = "
http://hogehoge.com/123.pdf ";
Regex regex = new System.Text.RegularExpressions.Regex(@"^.*\/(?<last_string>[a-zA-Z0-9]+\..*)$");
MatchCollection matchCol = regex.Matches(test);
foreach (Match m in matchCol)
{
GroupCollection groups = m.Groups;
var gotten_string = groups[1];
}
まず正規表現の文字列見直せ。 [a-zA-Z0-9.].* だと 英数字か.で始まる文字列。
あと、どこ見たのか知らんけど、これしきの要件でなんで使い方も分からんグループ化など使うんだ。
http://msdn.microsoft.com/ja-jp/library/bs2twtah (v=vs.100).aspx みなおせ。 名前に-を入れるな 違う意味だ。
var gotten_string = test.Substring(test.LastIndexOf('/')+1); これでいいんじゃねーの?
ふくろう本読んだらいきなり完璧な正規表現書けるようになったわ 1日で必要なとこ全部読めたし超読みやすい 神すぎる
シンプルな正規表現は最適化が効いて高速に動く プログラムで組み立てたほうが分かりやすい なんでも正規表現で書こうとするのは愚か
プログラムで組み立てた方が分かりやすいのは確か。 だけど正規表現を華麗に使いこなせる様になりたいの。
>>62 ありがとうございます。
流石にこの程度の物に対して正規表現を使うのは大げさな気がしました。
>>63 流石になんでもかんでも正規表現をやるのはどうかと思いました。
その様にプログラムを今回は使う事にします。
数値比較を正規表現だけでやることになって、たった4桁なのに泣きそう。
簡単じゃねーか
あら、そうなのか。調べても分からんかった。
せめてググレよw
正規表現だけで、二つの並んだ四桁の数字の大小比較をするのは、 プログラム生成するしかないような巨大な正規表現になる。
76 :
71=73 :2012/07/02(月) 20:42:11.85
>>74 ググったんだけど、\d+とか[0-9]+とかしか出てこなくて。
>>75 今回の為だけに、正規表現を生成するプログラムを作ろうかとまで思ったw
^.+(?=[wWwW][ 。]*(?:<br>|$)) 2chブラウザで芝をNGする正規表現なのですが、いくつか分からない場所があります ?=や?:はどういった意味なのでしょうか? 調べてみたのですが、うまく出てきませんでした また、^.+や.+$で挟む必要はあるのでしょうか? 書いてあるほうが重畳かと思いますが、書いてない場合も見受けられます どちらでもいいのでしょうか? また、これでは「そうかwwwwよくわかったわ」のように真ん中に芝が入っているレスはNGできません ワールドワイドウェブは保持しつつも芝を完全にNGする書き方はないでしょうか? よろしくお願いします。
このスレはテキストエディタでの正規表現を質問してもいいですか?
どうぞどうぞ
なんでダメだと思ったの? スレタイを10回嫁
>>81 プログラム板なのでプログラム関係の質問だけしかしてはいけないのかと思いまして一応確認を取らさせていただきました。
では失礼します。
テキストエディタ「Apsaly」を使用しています。
test1やtest2などの文字列を検索して、
test6、test7のように決めた分(今は+5)だけ数字の値を増やしながら置換することは出来ますか?
わろた 自分でテキストエディタ作ってんじゃないのか
ごめんなさい やっぱり駄目でしたか
痴漢は正規表現の仕事じゃねーし。 MikoScript書け。
痴漢は性器の・・・
>>85 すいません
痴漢に多くを求めてしまいました
MikoScriptなんてのがあったんですね
これなら何とかできそうです
ありがとうございました
88 :
uy :2012/07/04(水) 03:56:37.07
>>81 >>84 俺はこの流れのほうがワロタだわ
>プログラム板なのでプログラム関係の質問だけしかしてはいけないのかと思いまして一応確認を取らさせていただきました。
誰が決めたの?
つうか答えられる奴が少ないから答えが返ってこないだけ
どう考えてもスレ違い
90 :
uy :2012/07/04(水) 10:57:08.19
スレ違いつうかApsaly用の質問スレなんてないし IDE + テキストエディタ系の専用質問スレがあったほうがいいんじゃね
Apsalyは公式サイトに掲示板ないのに、ソフトウェア板のスレまで閑古鳥が鳴いてるという不人気エディタなのに、 ム板で普通に会話が成立しているのに驚いた もしかしてMikoScriptって意外と使ってる人多いの?
/A(?:(?(R)b|c)|(?R))+/ これって何にヒットするんです? AbとかAcなんかじゃヒットしない ホントこれだけが正規表現の中で動きが全くわからぬ
PCREだと (?(R)b|c) が 再帰式中ではb そうでなければ c なので Ac+ とかAAbとかが該当するんだけど環境は?
(?(R)って何? PCREってほんとにPerl互換なの? そんな機能知らないわよ
>>94 http://perldoc.jp/docs/perl/5.14.1/perlre.pod#Extended32Patterns > (?(condition)yes-pattern|no-pattern)
> (?(condition)yes-pattern)
> (condition) はかっこでくるまれた数値(対応するかっこ対が マッチングしたときに有効)、
> 先読み/後読み/ゼロ幅で評価される言明、角かっこ もしくはシングルクォートで
> くるまれた名前(その名前のグループが マッチングしたときに有効)、
> 特殊なシンボル (R) (再帰または eval 内で 評価されているときに真)のいずれかです。
> (R)
> 式が再帰の中で評価されているかどうかを調べます。
なるほど・・・意味が分からん
最後に○○がつくけどマッチング文字列に含めないってどうすればいいんでしったっけ
先読みのことかな? あいう○○ う(?=○○) 後ろに○○がつく「う」にマッチ
Aは(.+) (.+)はB という2つの文から 「AはB」 という文を作るにはどうすればいいですか?
どゆこと?
正規表現での置き換え文字列をランダム化する方法はありませんか? 例 検索文字列 半角スペースで挟まれたアルファベット4文字 ( )(\w{1})(\w{1})(\w{1})(\w{1})( ) 置き換え結果 以下から ランダムでどれかを出力 \1●●\3\4\5 \1●\2●\4\5 \1●\2\3●\5 \1\2●●\4\5 \1\2●\3●\5 \1\2\3●●\5 分かる方いましたらお願いします。 サクラエディタつかってますが
普通にコード書けばええんや?
その正規表現は一体
>>102 マクロでがんばれ
ついでに
サンプルだからそうしてるのかも知れんけど
1文字ずつ指定するときは量指定子いらないよ
106 :
102 :2012/07/21(土) 00:37:12.97
>>103-105 返信ありがとうございます。
色々コードとか、何か別のプログラムとかの組み合わせで可能なのかどうか調べてみましたが、
プログラムの知識自体が無いのでやっぱり難しいのでしょうか
マクロについて、サクラエディタのmacファイルを直接編集で何とかできないかと試して見ます
1つの文書で数千箇所置き換え箇所があるのですが、マクロで何かよい書き方とかあるのでしょうか?
とりあえず色々調べてみます。
for(int a = 1; a < 5; ++a) for(int b = 1; b < 5; ++b) if(a != b){ int k = 0; for(int i = 0; i < 6; ++i){ if(a == i || b == i) print(' '); else{ print(str[k]); ++k; } } print('\n'); }
ああちがうか for(int i = 0; i < 6; ++i){ if(a == i){ print(' '); } else if(b == i){ print(' '); ++k; } else{ print(str[k]); ++k; } } こうなのか
いやランダムに一個選ぶだけか //a,bは空白にしたいインデックス。str[b]はスキップされ戻り値に含まれない string M(int a, int b, char[] str) { if(a == b) throw new Exception(); List<char> result = new List<char>(); for(int i = 0; i < str.Length + 1; ++i){ if(a == i){ result.Add(' '); } else if(b == i){ result.Add(' '); ++k; } else{ result.Add(str[k]); ++k; } } return new string(result); }
110 :
デフォルトの名無しさん :2012/07/21(土) 20:32:44.62
'([\x8E\xA1-\xFE][\xA1-\xFE])' で、euc の2バイト文字にマッチするかと思いますが、 このうち、「×」(\xA1DF)のみマッチさせたくないのですが、 どのように書けばよいでしょうか?
(A|B|C|D)と[ABCD]は 全く同じ意味ということでいいんでしょうか? イマイチ違いが分かりません 使い分けとかあるんでしょうか
>>112 それ単独で見れば同じように動く、だろうね。
速度とか効率とかの違いはあるかもしれないけど、そのへんは詳しい諸兄に任せる。
>>112 俺は、単一文字なら [ABCD]、複数文字列なら (ABC|DEF|GHI|JKL)
>>112 [ABCD]はシンタックスシュガーです。
意味的にはなくても問題無いです。
>>113 効率どっちがいいかは実装依存ですね。
状態遷移マシン使うタイプの実装なら差は出ないけど。
ふくろう本には(A|B|C|D)だと遅くなる環境もあるって書いてあったよ できるだけ[ABCD]使ったほうがいいと思う
それはASCII文字の話じゃないの? サロゲートペアを考えると[ABCD]なんて内部的にも実質無いも同然。
サロゲートペアかどうかって何の関係が?UTF-8なら3バイトまでに収まるか4バイトかの違いに過ぎない。 マルチバイトに対応したエンジンなら1文字は1文字だし。
UTF-16を内部表現に利用していると、 [ABCD]は、例えばBがサロゲートペアだと、(A|BB'|C|D)と同じになる。 サロゲートペアなくても内部UTF-8のエンジンは同等の変換が必要。
えー
同じになるとは限らんよ。バイト単位で比較するかコードユニット単位かコードポイント単位か、まさに実装次第。 しかしUTF-16なエンジンって少ない気がするんだが。
えっ Javaや.netのは
boost::u32regexはサロゲをまともに処理できる。 unicode扱いはICU任せで32bit幅wchar使ってるんで。 PCREはカオスすぎてわけがわからん。 内部はバイト列でUTF16とUTF8のモードがifdefで錯綜してて。
125 :
デフォルトの名無しさん :2012/07/22(日) 22:20:14.16
今時マルチバイト文字を文字単位で扱えない環境なんて嫌だな あとEUCJPは3バイトまであるし
嫌な環境なら使わなければ良いだけなのに。 何言ってんのこいつ。
>>127 好き嫌いで何とかなる類のものでも無いだろw
真っ先に変換しとけ、というなら分かるが。
いや、嫌だって思うのは自由だし、普通の感情だろ。
本当に今欲しい物 それはその答えですか?
>>129 好き嫌いの感情自体は誰も否定してないんだ
人が嫌がるものだからこそ金になるんだろ。
Javaも.NETも2バイト以外の文字は使えない設計だよね
Python は安心
えっ .NETでも普通にサロゲートペア文字検索できるけど
> 2バイト以外の文字は使えない そもそも何を言わんとしているかわからん。
馬鹿には無理
138 :
デフォルトの名無しさん :2012/08/03(金) 21:50:53.37
javascriptで下記のような置換を行いたいのですが、どのようにすれば良いでしょうか? hogehoge1 <img src="1.png"> <img src="2.png"> <img src="3.png"> <img src="4.png"> <img src="5.png"> hogehoge2 ↓ hogehoge1 <img src="1.png"> hogehoge2 おながいします おながいします
139 :
138 :2012/08/03(金) 22:20:30.79
自己解決しましたすんません
>>138 どういう置換だったのだろうか。
1) hogehoge1 と hogehoge2 の間の先頭の一行のみ残し、他の行は削除。
2) hogehogeN と hogehogeN+1 の間で N.png を含む行だけ残し、他の行は削除。
くらいの可能性があると思うが。第一感は2)だが、hogehogeN+1以下をどうするか書くべき。
1)の解釈の方が無難。
●正規表現の使用環境 C# ●検索か置換か? 検索 ●説明 ●▼■ の部分をマッチさせたい ●対象データ ほげほげ●▼■ほげおわり ほげほげ●▼■ほげここまで ●希望する結果 ●▼■ ほげほげ(?<1>.+?)ほげおわり|ほげここまで のように書きましたがだめみたいです。 これだと ほげほげ(?<1>.+?)ほげおわり もしくは ほげここまで という風になってしまうのでしょうか? ほげおわり か ほげここまで のどちらかという書き方を教えてほしいです。
C#のソースコードで書いてよければ 「(ほげほげ)(.+?)(ほげおわり|ほげここまで)」で検索して、 match.group(1)で取るだけで足りるのでは? group(1)でグループを取り出してないのと、「|」の優先順位が後回しなのが原因だと思う
ありがとうございます。 その方法でできました。 グループの指定の仕方を勘違いしていたようです。
144 :
デフォルトの名無しさん :2012/08/07(火) 11:23:49.88
javascript処理です。 <input type="image" name="" src="/printer.gif" value="PRINT" onclick="myFunc('/print.do','100024516675','05','100051319097','PRINT','4756615037424747126');return false;"> のタグから,onclickの内容を文字列で取得した後に,引数を正規表現で取得しようとしてます。 func = "myFunc('/print.do','24516675','05','1051319097','PRINT','4756615037424747126');return false;" ret = func.match(/'[^']*'/g); とすると前後のクウォーテーションも混じってしまうので,現状はval[0] = ret[0].slice(1,-1)のように後処理してます。 これをはじめから正規表現を使って後処理なしにする正規表現が思いつきません(あるとは思うのですが) 要するに、二つの「'」に囲まれた文字列に複数回マッチするが「'」そのものは含まれない。というものです。 よろしくお願いします。
これもグループ化の出番だと思う ret = func.match(/'([^']*)'/g); と取り出したい部分をカッコでくくって ret[i].$1; と$1=1番目のグループマッチ文字列内容を取り出す ※ブラウザ互換は自信がないので確認されたし。IEやFirefoxは大丈夫なはずだが
>>145 ありがとうございます。残念ながらSafari環境ではダメでした。
var re = /'([^']*)'/g;
var match;
while ((match = re.exec(func))) { alert(match[0] + "\n" + match[1]); }
でできるようです。
でも,,,sliceから変更するメリットが,,,
'を外す表現があるような気もするけど、 多分 slice(1,-1)より遅いと思う。
148 :
デフォルトの名無しさん :2012/08/07(火) 16:58:08.04
javascriptはjQueryを使った方が可読性が上がって好き。
150 :
デフォルトの名無しさん :2012/08/08(水) 00:43:27.27
echo "gr|y" |grep -e "gr[a|e]" > gr|y gray、またはgreyだけでなく、 なんで|記号まで対象になってしまうでしょう?
151 :
150 :2012/08/08(水) 00:45:43.03
echo "gr|y" |grep -e "gr[a|e]y" 最後、yがぬけてた。 |記号は普通の文字列として扱われてしまっているのでしょうか・・
それをやるなら "gr[ae]y" か "gr(a|e)y" だろ
韓国開発研究院(KDI)が5日に発表した報告書によると、統計庁の2011年の家計金融調査を分析した
結果、借金を抱える世帯の33%が赤字状態で、7%は負債が資産を上回っていることが分かった。
韓国の世帯数は1757万世帯(2010年現在)で、うち借金がある世帯が63%を占めることから、借金があり、
かつ赤字状態の世帯は365万世帯に達することになる。また、負債が資産よりも多く、かつ赤字状態の世帯は
全体の3.3%(36万世帯)だった。特に債務返済能力は低所得層ほど低いことが分かった。
漢陽大のハ・ジュンギョン教授は「不動産市場の低迷で資産の売却が難しく、借金があり赤字状態の世帯が
さらに借金を重ねる悪循環に陥る可能性がある」と懸念を示した。
キム・テグン記者
朝鮮日報/朝鮮日報日本語版: 2012/08/06 09:08
http://www.chosunonline.com/site/data/html_dir/2012/08/06/2012080600636.html
とりあえずperlで <div class="test"> <div class="block"> だkfj;ぇkたj; わえltかj;うぇlk あうぇktじゃ;うぇkl </div> <pre> </pre> </div> っていうhtmlのコードがあるとして、 <div class="test">から一番下の</div>までの中にあるデータを取得したいんですが、 これにマッチする正規表現ってありますか? この中にも</div>がいくつかあるので、最後の</div>にマッチする前に何回かひっかかっちゃってうまくいかないんです 正規表現のプロの皆さんよろしくお願いします。
マッチの終わりに</pre></div>を指定すれば・・・
正しいタグの組じゃなくて最後の</div>でいいなら 最長一致の <div class="test">.*</div> でいいわけで そうでないなら html解析するべき
あ、すいません。 最後の</div>のまえに必ず</pre>があるとは限らないんです。 やっぱ最後の</div>の直前か直後に他にはない決まった文字とかがないと無理っすよね〜
>>156 あ、すいません。
最後の</div>
の後ろにも</div>とか
色んな文字が並んでます。
やっぱ
>>157 で言ったとおり無理ですよね〜
>>157 入れ子になった完全な<div> </div>のなかにあるデータというと
それはタグ(例えば<div>)を含んで構わないということかな。
<div(?(R)[^>]*| class="test")>.*?(?R).*?<\/div> PCRE だとこんな感じ?
スレチだけど素直にxpath。 $ xmlstarlet sel -t -m "//div[@class='test']/*" -c . -n
やっぱりperlじゃなくてPHPでお願いします。 正規表現が無理ならPHPの関数使ってでもいいです
>>161 まんまだと駄目で
(?R)*にしても <div class="block">の閉じで終わってしまう。
PHPでお願いしますって言ってた質問もういいです。 preg_matchを繰り返せばなんとかとりたい部分だけ取れました。 ご迷惑おかけしました。
166 :
デフォルトの名無しさん :2012/08/09(木) 03:48:44.49
性器表現
167 :
uy :2012/08/10(金) 18:07:28.45
rubyの正規表現の質問です 連続して10回以上...無限にマッチさせる構文ってないですか? /6{9}6+/ いまはこんな事をやっていますがもう少しスマートな書き方あれば教えて欲しいんですけど
169 :
uy :2012/08/10(金) 18:36:37.17
改行を含むながー文字列で先頭にタブ文字が入ってるやつがあります。 このタブだけにマッチするには、 ^\t でいいんでしょうか? ^\t$ こうかと思ったんですがこれだとマッチしませんでした。
質問しなおします。 改行を含むながーい文字列があります。この文字列の中にはタブ文字も含まれています。 この文字列の一番先頭にタブ文字が紛れ込んでいるやつがあります。 これを除去したいんです。 PHPのpreg_replaceを使うとしたら、 preg_replace("/^\t$/","",$str); こうですか? これじゃマッチしませんでした。。
>>172 それは多分タブ文字しか含まない文字列にのみマッチする。
長いだっのか。ちゃんと書こう。
文字列の先頭しか必要ない話なのに、文字列が改行含むかどうかが関係するのか? それとも文字列には複数行が含まれていて、 そのどの行の先頭でも同じ変換をしないといけないわけなのか?
>>174 それは$strに代入したあなたに聞いて。
あなたの書いた正規表現は文字列の1文字目がタブで、それが文字列の最後の文字だということ。つまり文字列が1文字でかつタブという正規表現。必要ないと言っても、必要としているスクリプトになってるから。
176 :
デフォルトの名無しさん :2012/08/10(金) 21:27:21.32
私は
>>174 じゃありません
>>174 なんか正規表現の中で文字列の先頭を改行の後とみなすやつがあったので一応書いておきました。
もしそいつにもマッチしたら困るので
>>175 じゃあ最初の文字だけにマッチさせるにはどうしたらいいですか?
とにかく先頭にタブ文字がある文字列をピックアップしたいんです。
あ、じゃあsubstrで一文字取って、調べりゃいいですね。
皆さんありがとうございました。
正規表現でやりたきゃ$が不要。 しかし正規表現必要ないな。
178 :
デフォルトの名無しさん :2012/08/11(土) 06:43:50.15
>>176 PHPのは知らないけどPerlの正規表現では^は正規表現フラグm(マルチライン)が有効になってると、
^が文字列先頭以外にも改行直後(行頭)にもマッチしてしまうので、
正規表現フラグ関係なく、改行が含まれるかもしれない文字列の先頭のみにマッチさせたい場合は、
\Aを使うべし
t
>>178 そういう回答求めてました
ありがとうございました
全体が10文字以内でaとbとcをこの順番に含むパターンってどうかきますか?
>>181 プログラムを使えるなら楽なんだが… たぶん、正規表現だけってことだよねぇ
xxx/abc/dfg/hij xxx/abc/hij この二つの文字列にマッチさせるようにするにはどうしたらいいでしょうか?
>>183 「/abc/」を含む文字列すべて、ならこれでどうでしょうか?
.*/abc/.*
xxx/abc/(dfg/)?hij で行けそうな
187 :
デフォルトの名無しさん :2012/08/11(土) 19:03:41.15
>>181 > 全体が10文字以内でaとbとcをこの順番に含むパターンってどうかきますか?
.*a[^c]*b[^a]*c.* と .{3,10} の肯定先読みか肯定戻り読みを合体させれば、
できるんじゃないかしら?
もっとも「1qabbbcd90」とか「aあbいbc」みたいなaとcに囲まれるbの個数が2個以上はNGで
1個限定ということなら前者の正規表現も更にカスタマイズが必要になるけど
emacs-lispの正規表現でわからない点があるので教えてください。
Cソースコードの
#define
プリプロセッサにマッチさせるための正規表現で下記が良く使われているのですが
"^\\s-*#\\s-*define"
-
↑のマイナスって意味ってありましたっけ?
http://www.kt.rim.or.jp/~kbk/regex/regex.html とかみてもそれらしいのが見つからないのですが・・・
#defineに一致させるためなのであれば
行頭のスペース任意数以上(0〜N回)#スペース任意数(0〜N)define
なので
"^\\s*#\\s*define"
とかで良いきがするのですが・・
javaですが、日本語などの全角文字を探す場合、ascii以外という発想で「[^\p{ASCII}]」や「.*[^ -~].*」を使っていますが、 もっとスマートな別な表現はあるでしょうか?
>>191 java.lang.Character.UnicodeBlockで定義されてるものは使えるそうだけど。
全角というのは表示上のことだし、日本語で使うという風にも区切られていない。
HIRAGANA KATAKANA KANJIとかすると半角カナとかも含まれそう。
ambiguousとかどうするよ? わざわざ前後の文脈までみるのか?
194 :
デフォルトの名無しさん :2012/08/17(金) 13:40:24.55
ruby初心者でテキスト処理初心者です 以下のテキストから「かきくけこ」を抜き出したいです =テキスト= (1)あいうえお →かきくけこ (2)さしすせそ .scan(/あいうえお(.*?)さしすせそ/m)と書くと「→」と「(2)」が邪魔です .scan(/あいうえお\n→(.*?)(2)さしすせそ/m)と書くと何も取り出せません なぜうまくいかないのでしょうか
カッコをエスケープしてないから \(2\)
なるほど!ありがとうございます
.scan(/あいうえお\n→(.*?)\(2\)さしすせそ/m)にしても何も取り出せませんでした…
急がば三回まわってワンとお鳴き
>>198 これだと
>>197 の書き方でうまくいく判定がされるのですが実際にプログラムを動かすとどこもマッチしないのです
\nのあたりに問題があるのでしょうか
その人は、うまくいかない例でやってみてどうよ?って聞いてるんだよ
できました!ありがとうございます
h?t?tps?://.+
という定義ではすべてのURLがマッチしますが
http://www.hogehoge.jpg といった画像リンクは除外するようにする定義を教えてください
h?t?tps?://.+(?!jpe?g|png|gif|bmp)
としてもうまくいきませんでした
>
http://www.hogehoge.jpg これが画像のURL??
まあそういう仕様ということで、こんな感じかな。
h?t?tps?:\/\/.+\.(?!(jpe?g|png|gif|bmp)(?=\s|$))[a-z]+(?=\s|$)
どんなURLだw
自分だったら複数回grepで実現するかな。 欲しい拡張子以外を、順次消していく(該当行を\r\nに置換)
先読みと後読みを勉強すれば解決するな
正しく動いていないというのはどういうところ?
>>209 分かりました
スレ汚しすみませんでした
「$」の直前に「'」がなく、さらに「$」よりも前に「#」が一切ない正規表現ですが、 以下だとエラーになってしまいます。 (?<!^[^#]*)(?<!')\$ 上記の正しい正規表現を教えていただけないでしょうか?
[^#]*[^,#]\$ では駄目かどうか教えて。
>>213 …すんません、ありがとうございます。
なんてばかだったか…
ちなみに戻り読み否定で「#.*」は使えないのでしょうか?
可変長否定戻り読みとなると、使える環境は限られます
簡単な質問かも知れませんがお願いします 「家具」を消すには /(家具)/ ですが あくまでも例えですが「木目調家具」は消したくない場合はどのように書けばいいのでしょうか
>>216 少し上のレスにもある否定戻り読みを使って
(?<!木目調)家具
218 :
デフォルトの名無しさん :2012/09/11(火) 07:26:49.98
青空文庫の注記をエディタ類の置換でやろうと思うのですが なんとか吹喋[#「喋」に「ママ」の注記]かんとか ↓ なんとか吹<ruby><rb>喋</rb><rp>(</rp><rt>ママ</rt><rp>)</rp></ruby>かんとか \1[#「([^「」]+?)」に「([^「」]+?)」の注記] とか後方参照は出来るエディタは無かったですね やっぱり スクリプト組むしかないのかな
219 :
デフォルトの名無しさん :2012/09/11(火) 16:55:28.27
オートマトンって何ですか?
殴投魔団
https://example.com/ (abcABC123)/apple/(123456)
にはマッチして
https://example.com/ (abcABC123)/apple/(123456)/orange/1
にはマッチしない、定義を教えてください。
()内は変動します。
https?://example\.com/[^/]+/apple/\d+
ですと、両方マッチするみたいですが、上だけにマッチするように手直しよろしくお願いします。
最後に $ を付ける?
224 :
218 :2012/09/12(水) 07:13:43.25
結局
>>218 はWSH(VB)で
s = rfp.ReadText
Set regEx = New RegExp
Set reg2 = New RegExp
regEx.Pattern = "[#「([^「」]+)」に「([^「」]+)」の注記]"
regEx.Global = True
Set Matches = regEx.Execute(s)
For Each Match in Matches
d1 = regEx.Replace( Match.Value,"$1" )
d2 = regEx.Replace( Match.Value,"$2" )
d = d1+ Match.Value
reg2.Pattern =d
s = reg2.Replace( s , "<ruby><rb>"&d1&"</rb><rp>(</rp><rt>"&d2&"</rt><rp>)</rp></ruby>")
Next
wfp.WriteText s
とやりました
マッチさせた部分文字列が後にあるから、2度読みしないとたぶん無理だと思うからスクリプトで処理して正解だと思うよ
すみません、質問させて下さい
一括ファイル整理ソフト:Classifier
ttp://realize.jounin.jp/classifier.html こちらのソフトを使い、正規表現で大量にあるファイルの整理を行おうとしております
【写真】[イベント名] [苗字名前] 詳細.jpg
こういった形式のファイルに対して、苗字の頭一文字目が『あ行』なら
あ行のフォルダへ移動、『い行』ならい行のフォルダへ移動、という
処理をさせようと、以下の正規表現を入力し実行しました
【[^】]*】\[[^\]]*\]\s\[[亜-音][^\]]*\].*
結果を見ると、仕分けは実行されたのですが、あ行以外の苗字の方もあ行
フォルダへ仕分けされてしまいました。
こちらのソフトは開発環境がVisualBasicで、内部的には2バイトのUnicode規格に
基づいているせいで、シフトJISの漢字コード(音読み)で仕分けるにはこの正規表現
では駄目との事でした。
Unicodeの正規表現でシフトJISコードの亜-音と同じ結果が出せる正規表現方法は
無いでしょうか?もしご存知の方がいらしたら教えて下さい
よろしくお願いいたします
あるかないかで言えばあるけどそんな単純じゃないよ
ファイルが大量にあることは想像できました。 よくあるリネームではなく、特定フォルダーへの移動でしょ? だったらdir結果をテキストエディターで1行ずつ move ファイル名 読み仮名_あ_始まり\ って書いたら? 読みが「あ」で始まるかどうかは単なる漢字の音読み、訓読みでは判断できない場合が存在します。 人名だとどうしても人力で頑張るしかない場面だと思いましたがどうでしょうか。 自分だったら1,000人程度だったら空いた時間にしこしこ作業しますね。
migemoでふりがな取得出来ないかな…
debianとかはパッケージに含まれてた気がする。<kakasi hがあるかないかで良く見つからないけど。 文章をchasenで解析して単語をkakasiで読み順に並び替えてた記憶がある。
たとえば河野と書いて「かわの」さんも「こうの」さんもいるのでkakasiでも どうにもならないと思うけどなぁ。割り切れるならいいけど。
お題はそんな読みを厳密にやる必要なくて、[亜-音]レベルの仕分けでいいんでしょ? [亜唖娃阿哀愛(途中は略)音]って正規表現生成すれば? Shift JISで↑こういう正規表現作ってから、(その方が生成プログラムが簡単なので) Unicodeに変換すればいいよね。GUIのアプリなら、コピペするだけじゃないのかな?
コレだけだけど、ア行の苗字の1/10もない気がする 亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷 安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣 謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭 院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲 荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円 園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応押 旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音
あれま
こういう事例見ると、ファイル名に全角カタカナでフリガナを持っとくのも有りだな。
>>239 そのアイデア、正規表現関係ないけどファイル整理に便利そうだな。
いや、ファイル検索のときは正規表現使うから関係あるか。
ファイル名に頼らないで、一行目に漢字とカナとローマ字入れとくとか、dbに入れといた方がよさそうだ。
dbってlinuxコマンドのdb? RDBMS(MySQLとかPostgreSQL)にファイル名用テーブルでも作っとけばいい感じはする。
>dbってlinuxコマンドのdb? Berkeley DBのことか
複雑度によるけど、どっちでもいいんじゃない。ファイルシステムという単純なdbじゃ大変そうという話。
>235 ニホンゴムズカシイデスネ
>>245 英語でもPh-はF-と同じ発音だしKn-はしばしばKを発音しない。
読みで分類するからそういう問題に直面するわけで。
# じゃぁ読みで分類するのをやめようとなると、それはそれで別の問題があるけれど。
247 :
デフォルトの名無しさん :2012/09/22(土) 23:39:02.10
ちょっと質問、null文字を検索したら全部ヒットするんだっけ?
>>247 の質問訂正
配列のデータすべてヒットさせるのは//ではなく/.*/の方がいいかな?
配列ってどの言語の配列よ?
>>4 のテンプレに従って環境書こうぜ
>>250 捕捉
ActivePerl5.14.2で配列を検索で、全データをヒットさせたい場合は
空文字列を検索でも全データがヒットするけど、きちんと.*を指定したほうが
いいのかと思っての質問
単純にperl5の環境で空文字列を検索したら全データヒットと定義されてるのか疑問に思った
●正規表現の使用環境 Perl ●検索か置換か? 検索 ●説明 文字列中の数字を配列の各要素に格納したい。以下のプログラムを作りました。 9がresultの先頭に入るのみなのです。このような場合splitを用いるのでしょうか? $str = "TEST 0 1 2 3 4 5 6 7 8 9"; @result = $str =~ m/^TEST(?:\s(\d))+$/g;
253 :
デフォルトの名無しさん :2012/09/23(日) 23:54:17.31
>>252 はPerlスレに現れた荒らし
条件後出しするわブログでもないのに自分の行動予定書いていくわのマジキチ
スルーよろ
>>253 情報サンクス。今真面目に回答書いて投稿前にリロードしたら書いてあって助かったよ。
ギリギリだったw
255 :
252 :2012/09/23(日) 23:56:15.93
別に荒らしのつもりじゃ無いので、判る人回答お願いします。
>>252 に回答しても後から情報出されてどうこう言われる
一人粘着質のキチガイがいるけど気にしないでね
>>252 自分で荒らすだけじゃ飽きたらず向こうの荒らしまで連れてきたのかよ
本当に迷惑だな
社会からさっさと消えればいいのに
今まで質問しただけで、こんなに叩かれたことなかったんで…
死ねよカス
基地害
>>252 荒らしかた
暴れる奴の多いスレに釣り質問を投下する
↓
条件を後だしする
↓
初心者を免罪符にする
↓
ブログ代わりにする
↓
暴れてる奴がついてくるように次の行き先を明示
↓
次のスレを荒らす←いまココ
>>259 ここはテメーの愚痴スレじゃねーぞ精神障害
どんなks親に育てられたんだコイツ
どうせ馬鹿が叩いてるだけだろうと思って一応回答は書き上げたが、 念のためにと思って元のスレ(どことは書かないけど分かると思う) を見に行ってみたら、これは本物の釣りっぽいね。 どう見てもわざと煽ってるようにしか見えないし、万が一釣りじゃ なかったとしても同じように後から注文つけられる可能性が高い。
264 :
デフォルトの名無しさん :2012/09/24(月) 00:53:53.21
>>252 が荒らしじゃないなら本気で頭おかしいと思う
しかも自覚なさそうだからかなりヤバい
そういう時は、マルチと一言書くだけにしてください 個人的な感想はいらない
マルチっていうか、機能不全に陥ってるスレで質問しちゃった人が むりくり荒らし認定する人に絡まれて逃げてきたら、 余計な人も付いてきちゃったという流れ
逃げるのにわざわざ行き先言って逃げるのか?w どう考えても不自然
マルチと言ったら「はわわ」と返すのがマ板の流儀だと思っていた
??? ここはム板だぞ
NullPointerException すまん
272 :
uy :2012/09/25(火) 03:48:48.13
板全体の荒れ方がひどいな あと人の集まってるC++、C#スレあたり荒らしたら板終わるんじゃね
>>272 Schme/LISP/関数型言語のtwitterでの書き込みは一日平均500を超えるようだけれど、
2chではほとんど0に近い。もうダメ的な状態ではないか。
しかもまともな人に限ってTwitterにさっさと行ってしまってるしねぇ。
(2chにまともな人材がいたとは)知らなかった
いるとか、考え方が気持ち悪い
めんどくさいでしょ
(Twitterに)まともな人材がいたとは知らなかった
>>279 関数型言語全体でいうと、大学生+院生+研究者だけで数千人いるのではないか。
一方、2chは珠に読む人を加えても100人にも満たない。
昨年一年間に、関数型言語ではないが、プログラミングの話題として日本語でPrologとツイートした 人だけで延べでなく2400人いた。関数型言語全体だと多分その10倍以上。
Prologダメだなとつぶやいたヒトがそんなに。
>>283 よくご存知だね。Prologワカンネの方が多い。
授業中にツイートするやつが多い
>>282 Prologのプログラマ人口から考えると脅威のツイッター組織率だ
スレ違いな話題が多すぎるんで、正規表現の話にせめて絡めたいんだけど、 正規表現で2chやtwitterとかを検索できるサイトとかアプリってないのかな? まあそれ以前にGoogleやらBingやらYahooやらの検索サイトに正規表現検索機能が欲しいんだが、 一般ユーザーが必要としないマニアックな検索方法を提供する気はないんだろうな
>>288 いちいち全文検索してるわけじゃなく、インデックスから引いているだけだからあまり意味ないんじゃないか。もしできても、利用者どれくらいだよ。否定やorも使われてないだろう。
or はたしかに使わないけど、否定は使うだろ。
コマンドオプションをそのまま貼って否定になってたりな。-help
>>290 以前は、たとえば「インタフェース OR インターフェース」みたいな、
表記の揺れを吸収するためにときどき使ってたんだが、
いまのGoogleじゃ全部向こうで勝手に吸収してくれるからな。
「interface」すら検索してくれる。
いんたーふぇすでも通る
もしかして 朝鮮人
ν速に帰れば?
●正規表現の使用環境 C# ●検索か置換か? 検索 ●説明 タグの外にある文字列を順に取り出したい ●対象データ <hoge><hoge></hoge>あああ<hoge><hoge></hoge>いいい<hoge></hoge>ううう<hoge><hoge>・・・ ●希望する結果 while (m.Success) の繰り返しの中であああ、いいい、ううう・・・と順に取り出していきたい よろしくお願いします。
どれもタグの中にあるように見えます。 タグ以外ということでしょうか?
タグ以外ということでOKです。あと改行が含まれているのでその辺はどうなるでしょうか?
対象データがダメダメじゃん。
まあ、タグの定義を細かくやると書ききれない話になるので、 var list = from x in System.Text.RegularExpressions.Regex.Split( text,"<.*?>", System.Text.RegularExpressions.RegexOptions.Singleline) where x!="" select x ; 程度でいいのならこれで。
よろしくお願いします。 ●正規表現の使用環境 サクラエディタ bregonig.dll Ver.3.02 ●検索か置換か? 検索 ●説明 "START"から"END"に囲まれた"HOGE"を最短一致(というのか?)で含まれる行を検索したい ●対象データ 1.xxxxxxxSTARTyyyyyyyyHOGEzzzzzzzzzzzENDaaaaaaa 2.xxxxxxxSTARTyyyyyyyyENDbbbbbbbHOGEzzzzzzzzzzzENDaaaaaaa ●希望する結果 1.だけマッチ 2.は"END"が"HOGE"の前に入ってるのでマッチ対象外
1の小文字部分にENDがないものと解釈した場合 ^((?!END).)*?START((?!END).)*?HOGE((?!END).)*?END((?!END).)*?$
303 :
301 :2012/10/02(火) 12:16:03.97
>>302 ありがとうございます。
なるほど、((?!END).)*?の部分がポイントですね。
えと、すみません説明が不十分でした。
・1.の"yyyyyyyy"部分以外の小文字部分いずれかに"END"があってもマッチ
・1.の"zzzzzzzzzzz"部分に"END"があればそこまで(最短で)マッチ
・1.の小文字部分いずれかに"START"があっても"START〜HOGE〜END”の最短パターンでマッチ
・1.と2.の複合(1.の後ろに2.のパターンとかその逆とか)の場合でもマッチ
(条件がまだ足りてなかったり、冗長だったりするかもしれませんが)の場合は、レスの答えを参考に
START((?!END).)*?HOGE.*?END
として試してるところですが、これで良いのかな?
>>303 条件を満たす行だったので
START((?!END).)*?HOGE.*?END
は STARTとHOGEの間にENDがなくHOGEの後ろにENDが少なくともひとつある
つまり、このマッチする部分の前か後ろ、HOGEとENDの間に
*STARTとHOGEの間にENDがある部分* があっても良ければそれで
305 :
301 :2012/10/02(火) 14:59:07.75
>>304 > 行だったので
あぁー!自分で「行を検索」と書いてました。すみません。正確には「部分を検索」です。
> このマッチする部分の前か後ろ、HOGEとENDの間に
> *STARTとHOGEの間にENDがある部分* があっても良ければそれで
えと、波下線(~~~)をマッチ対象部分とすると、
a. このマッチする部分の前か後ろに *STARTとHOGEの間にENDがある部分*がある
a-1:STARTaaaaaENDbbbbbHOGEcccccSTARTdddddHOGEeeeeeEND (前にある場合)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
a-2:STARTaaaaaHOGEbbbbbENDcccccSTARTdddddENDeeeeeHOGE (後ろにある場合)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
b. HOGEとENDの間に *STARTとHOGEの間にENDがある部分* がある
b-1:STARTaaaaaHOGEbbbbbSTARTcccccENDdddddHOGEeeeeeEND
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
a,bいずかでも良ければ、と解釈しました。
a,bとも下線のように、期待通りにマッチしていますが、
誤解とか頓珍漢な事を言ってるようなら、何なりと指摘してください。
国語が苦手なうえに回転が悪くてスミマセン(´・ω・`)
STARTaaaaaHOGEbbbbbENDcccENDで最短にならないぐらいかな
307 :
301 :2012/10/02(火) 15:18:10.19
連投スミマセン。 START((?!END).)*?HOGE.*?END を使っていろいろやってみてる最中ですが、(波下線部分がマッチ対象部分) xxxxxxxSTARTyyyyyyyyHOGEzzzzzzzzzzzSTARTaaaaaaHOGEbbbbbbbENDcccccccc a~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ b~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 上のケースでは、aの部分がマッチしてしまうようです。 bの部分をマッチさせたかったのですが… START((?!END).)*?HOGE((?!START).)*?END "HOGE"と"END"の間に"START"は無しを条件にすればと 解らないなりに、こうか?wとやってみたのですが、結果は変わりませんでした_ノ乙(、ン、)_
その場合は、 ((?!END).)*? が yyyyyyyyHOGEzzzzzzzzzzzSTARTaaaaaa にマッチするので
START HOGE ENDの間に許容される条件が分からないので・・・ START((?!START|HOGE|END).)*?HOGE((?!START|HOGE|END).)*?END だと?
レスありがとうございます。
相変わらずの長文でゴメンナサイ
>>306 えと、こちらの環境だと
STARTaaaaaHOGEbbbbbENDcccEND と最短でマッチしています…
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>308 > ((?!END).)*? が yyyyyyyyHOGEzzzzzzzzzzzSTARTaaaaaa にマッチするので
HOGE.*?ENDの部分で短めにマッチするからということですかねムツカチ━━━(;´д`)━━━イィィ
>>309 ぉおおっ!
> START((?!START|HOGE|END).)*?HOGE((?!START|HOGE|END).)*?END だと?
を見てなんとなくわかったような気がしてるような気がします。
> 許容される条件が分からないので・・・
ずびばぜん。゚(。ノωヽ。)゚。まとめます。
>>303 みたいに書かずに
*マッチ対象部分では*
1)"START"と"END"の間は、"START"と"END"は出現しない
2)"HOGE"は一つ以上出現しても良い
でよいのかな?やっぱりなんか混乱してるかも…σ(・´ω・`;)アハアハアハ ということで、
START((?!START|END).)*?HOGE((?!START|END).)*?END
こうですかね?これで様子を見ます。本当にありがとうございました。
311 :
sage :2012/10/08(月) 18:38:19.35
●正規表現の使用環境 練馬、nemery等のリネームソフト 可能なソフトに乗り換えようと思ってます ●検索か置換か? 置換 ●説明 1.ファイル名末尾の数字が1桁の場合、0をつける。2桁の場合はそのまま ファイル名途中の数字はスルーさせたい 2.特定の文字(例では#)から特定の文字(例では-)の前までを削除したい ●対象データ キリン#◯☓動物園-10月1 しろくま#△☓◯動物園-5月12 猫(2匹目)#我が家-11月5 ●希望する結果 キリン-10月01 しろくま-5月12 猫(2匹目)-11月05 よろしくお願いします
練馬 SJIS版 1 s/(?<![0-9])([0-9]{1})$/0\1/k 2 s/#.*-/-/k
>>312 ありがとうございます
練馬で頑張ってみますね
314 :
デフォルトの名無しさん :2012/10/11(木) 18:53:52.96
tで始まる文字列を文頭のthe[スペース]を無視して検索する場合 ^t[^h]|^th[^e]|^the tが思いついたけど、もっといい正規表現ありますか? 環境はActive Perl5で否定演算子!は使えません
>>314 の訂正
×^t[^h]|^th[^e]|^the t
○^t[^h]|^th[^e]|^the[^ ]|^the t
×の正規表現だと"there"とかがヒットしなくなってしまう。失礼しました
よろしくお願いします
lookbehindが使えないって意味じゃないよな? (?<!^the )t
317 :
デフォルトの名無しさん :2012/10/11(木) 21:09:22.06
>>316 レスありがとうございます
(?<!^the )tを使ってみましたがうまくいきませんでした
lookbehindは知りませんでした、勉強していろいろ試してみようと思います
(?!^the\b)\bt\w+ こう?
/(?!the )t\w+/ これだと末尾のtheという単語拾うけど
320 :
デフォルトの名無しさん :2012/10/11(木) 21:55:51.23
>>318 たびたびすいません
それもうまくいきませんでした。文字列の途中の"t"もヒットしているようです
"abc this def"とかもヒットして"t"で始まる文字列のみのヒットにはなってないです
>>320 文頭のtheを除くtで始まる語全てを拾うようにした(=そうなるようにした)んだけど
ものすごく要件読み違えてたのか
322 :
デフォルトの名無しさん :2012/10/11(木) 22:31:43.65
>>321 "文頭のtheを除くtで始まる語全てを拾う"でいいんですけど
僕の環境だと(?!^the\b)\bt\w+でもうまくいかないんです
やりたいことは"the abc"とかは排除して"the tuv"や"there"や"tabc"とかはヒットさせたいということです
配列の各文字列を検索してるんですが、配列には"abc this def"や"abc the def"
とかも入ってます
^(?!the\b)t\w+ こうなのか?
324 :
デフォルトの名無しさん :2012/10/11(木) 22:47:53.42
>>323 それでほぼヒットしたんですが、"the t"で始まる("the "の後に"t"で始まる)
文字列だけがヒットしてないです
たびたびすいません
>>322 うーん自分は"文頭のtheを除くtで始まる語全てを拾う"だと思ったから
> "abc this def"や"abc the def"
このthisやtheにもマッチさせてたんだよ
"the tuv" は tuv でマッチすべきだけど
"abc tuv def" なら tuv にはマッチしちゃいけないのか
^(?:(?!the\b)t\w+|the t\w+)
>>323-324 を見たらこうなったけど要件はわかってない
327 :
デフォルトの名無しさん :2012/10/11(木) 23:01:51.10
>>325 わかりにくくてすいません
配列内の文字列全体で"文頭のtheを除くtで始まる語全てを拾う"であって
ワード単位で"文頭のtheを除くtで始まる語全てを拾う"ではありませんでした
"abc tuv def"はマッチさせません。あくまで配列内の文字列全体で"t"で始まるです
配列内の文字列の最初が"t"で、最初の"the "は無視するということです
328 :
デフォルトの名無しさん :2012/10/11(木) 23:08:33.82
>>324 訂正
"the t"で始まる("the "の後に"t"で始まる)文字列だけでなく
"t'abc"や"t.a.b.c"などがヒットしてなかったです
>>326 レスありがとうございます
"the t"で始まる文字列もヒットしましたが、"t'abc"や"t.a.b.c"などがヒットしていないです
\w はおせっかいだったのか ^(?:(?!the\b)t|the t)
"the the"の場合は?
331 :
デフォルトの名無しさん :2012/10/11(木) 23:21:45.68
>>329 ありがとうございます。すべてヒットしました
正規表現は初心者で"|"を多数使って力技でヒットさせてました
もっと正規表現の勉強が必要だと痛感しました
>>330 それは想定していませんでしたw
最初の"the "だけを無視ということで・・・
t.A.T.u.
最初からテンプレに沿って例題集を提示して欲しかったな。
>>311 みたいに。
今度からはそうして。
…thereだけでなくthe:4にもヒットしてくれとか、もう言わないよね?
ちょw
>>331 否定演算子!を使えなかった理由は?
334 :
デフォルトの名無しさん :2012/10/11(木) 23:40:21.32
>>332 拙速な質問ですいませんでした。以後気をつけます
the:4はヒットしなくていいです
どうもありがとうございました
335 :
デフォルトの名無しさん :2012/10/11(木) 23:45:15.76
>>333 理由はわかりません。僕の環境では/^t!h/で検索してみても"tuv"や"true abc"
などがまったくヒットしないです
>>335 Perlの否定演算子って、 !~ とかを指してるんじゃなかったのかw
そりゃ無理っしょ
337 :
デフォルトの名無しさん :2012/10/11(木) 23:55:30.32
>>336 すいません、perlも最近使い始めたばかりであまりよくわかってないです
勉強してみます
/\*[^*]*\*+([^/*][^*]*\*+)*/ Cのコメントをとりのぞく 詳説 正規表現 p.192 p.326
339 :
こんまけ :2012/10/13(土) 10:48:59.23
\*+の後なら[^*]なので。 /\*[^*]*\*+([^/][^*]*\*+)*/ じゃダメな理由とか例は出せられます?
339のだと/****/*/みたいのにもマッチできるので良くない。 単独でマッチさせるだけだと普通の正規表現エンジンなら /****/の部分まででマッチしちゃってそっから先には行かない けど、他の正規表現を前後につけると違いが出てくると思う。 例えば全体を^と$で挟むとか。
コンパイラの構文解析機を使うのが確実。自分のコーディングルールだけで使うなら、自分のツールボックスにしまっておけばいい。
342 :
339 :2012/10/13(土) 15:38:32.78
れすさんくす、 338 も 339 もベストじゃなくて、339 が 338 よりベターなんですね。 例えば、コメントの後ろにAという文字がある場合を検索したいとか…
AAA : BBBB CCCC DDD1[0] DDD2[1] DDD3[2] DDD4[3] がある場合にDDD1[0] DDD2[1] DDD3[2] DDD4[3]のみ取得したい。 もしくはAAA : BBBB CCCC を削除したいです。 よろしくお願いします。
環境書かない方も悪いけど、互換性低い\dで回答するのはどうなんだろう
正規表現における # ってどんな意味を持つのですか?
>>345 ごめん。 \d=[0-9]
質問から察するに、数字部分は可変だろうね。
>>346 特に意味なし。単なる「#」という文字。
>>345 \dが[0-9]でないのって、どんなのがあるの?
>>351 秀丸はバージョン7あたりまで\dとか\sあたりが使えなかった
grepとかsedコマンドとかviエディタ内の正規表現とか
まあこの辺になってくると()や|の前にバックスラッシュつけないと
正規表現として機能しないという点でも非互換だけどもw
>>351 鬼車や鬼雲の\dは[0-90-9]と等価
Ruby 1.9系の正規表現エンジンは鬼車だけどカスタマイズされたフォーク版なので、\dを [0-9]と等価になるように修正してある
>>352 なるほど。
古めのエンジン、正規表現の源流に近いあたりでは\dは無いのね。
しかし秀丸バージョン7って、かなり最近じゃ。ちょっとひどいな。
>>353 そうなのかー。
先進的すぎても主流との互換性の点で問題あるよね。
>>353 >鬼車や鬼雲の\dは[0-90-9]と等価
うお、なんかイメージよりも範囲広すぎ。
敢えて[0-9]って書いといた方が無難なのね。
>>353 鬼雲は(?u),(?a)でUnicodeの範囲かASCIIの範囲かを制御できる。
\d,\s,\wがUnicodeの範囲でマッチするのはPerlに合わせた仕様。
●正規表現の使用環境 MSVC2012 / .NET Framework 4.5 ●検索か置換か? 検索 ●説明 「|」「(」「)」が文字として入っているデータから、特定の文字列を抜き出したい。 ●対象データ area|name (value) tokyo|yamada benzo (123) kyoto|namae tarou (21) saga|shitemo mitukaranai you (7) ●希望する結果 area, name, value "tokyo", "yamada benzo", "123" "kyoto", "namae tarou", "21" "saga", "shitemo mitukaranai you", "7" このように取り出したいのですが、どのように書くとよいでしょうか
カッコの整合を取りたいのでなければ "tokyo|yamada benzo (123)".Split(new char[] { '|', '(', ')' },StringSplitOptions.RemoveEmptyEntries) でよかったりしない?
>>358 あ、本当ですね…。
このやり方のほうがさっぱりしてていいですね。
こちらでやらせてもらいます。
解決できちゃいました。
どうもありがとうございました。
あー! 正規表現で空白を縮めればいいのか
361 :
360 :2012/11/01(木) 12:23:30.20
すみません自己解決しました
「CDATA」を含まない行を検索したいのですが、先読み否定を使用しましたがうまく検索できませんでした。 ^(?!.*?CDATA) 指定文字列を含まない行をどのような指定で検索できるでしょうか?
つ[grep -v]
>>362 自己レス
Java → ×
サクラエディタ → ○
Javaの問題?
^((?!CDATA).)*$
●正規表現の使用環境 perl5 ●検索か置換か? 置換 ●説明 keyとvalueの間はコロン区切り、keyとvalueのペアの間はカンマ区切りになっている key1:value1,key2:value2,key3:value3 という形式で書かれている文字列で、 指定したkeyに対応するvalueの値を取得したい。 ・valueの文字列にはコロンやカンマが入っている可能性があるので、それを区切り文字にはできません。 ・valueの文字列は、:value:や,value,のように、先頭や末尾がコロンやカンマの可能性があります。 ・key3:value3,key2:value2,key1:value1 のように順番は変わる可能性があります。 ・keyとvalueのペアは、何個あるかはわかりません。0個の場合もあり。 ・指定するkey以外のkeyについても、何があるかはわかりません。 ・keyもvalueも可変長で、valueが空という場合もあります。 ●対象データ AAA:V,:1,BBB:V,,::2,CCC:V,,,:::3,DDD:,V4:,EEE: ●希望する結果 AAAをkeyとすると、V,:1 BBBをkeyとすると、V,,::2 CCCをkeyとすると、V,,,:::3 DDDをkeyとすると、,V4: EEEをkeyとすると、空 FFFをkeyとすると、空 3日くらい試行錯誤してますが、全然解決できず気が狂いそうです・・・ 完全に、論理的に無理ゲーでしょうか?
値(orKey)にデリミタがエスケープ無しで出るなら区別できないんじゃね? 例に挙げているのでも DDD=空 V4=空 EEE=空 と言う解釈も出来る(FFFは存在しないKey)
369 :
デフォルトの名無しさん :2012/11/10(土) 00:32:09.53
デリミタ制限してないなら無理ゲーだろ V,:1,BBB:V,,::2,CCC:V,,,:::3,DDD:,V4:,EEE: たとえば↑これ全体がAAAのvalueならどこで切れるんだよ
> DDDをkeyとすると、,V4:
これは何故なんだ?書かれてる条件だけ見ると
>>367 が書いてる通り DDD=空 になるように思える
そこが明確にならなければ正規表現使うどころか
実直に一文字ずつパースしても無理に思える
手作業でやっても一意に決まらないようなのはどうしようも無いぞ
正規表現がどうのより、データの出力形式を見直したほうがいいな。 表計算ソフトのCSVの出力形式とか参考にしてさ。 正直、正規表現の出番以前の問題だよ。まずは論理的で明確なデータを用意するべき。
373 :
366 :2012/11/10(土) 21:43:20.41
>>367 , 368, 369, 370, 371, 372
たくさんのレス、アドバイスありがとうございます。お礼が遅くなりすみません
>>367 , 369
やはり、デリミタが値の中に出てくる時点で、無理なデータぽいですよね。
>>368 splitするにも、カンマがデータ中に出てきたりするもので・・・
>>370 「,V4:」という部分が、データなのです。この場合のカンマは、デリミタではなく値でして・・・
>>371 , 372
やはり、論理的に矛盾したフォーマットですよね・・・
結論として、とりあえずsplitでパースしたものがだいたい正常になるので、後は目視・手作業でやることにしました。
無茶苦茶なフォーマットのデータを置いて行った前任者を恨みます・・・
, と : がデータの一部として使われるときにある程度の規則性があるならそれを利用して判別 するといいかもね。まぁこれにも限界があるし誤爆の可能性もあるから目視は必須だけどね。
前任者がキ印とかカワイソス
目視で決められるのなら何か規則性があるんじゃないの? キー名だと分かる何かが?
値に隠された制約があるはず。 でなければ目視で出来ない。
わからない時は古くからいる人に聞く、 これも「目視」のうちに入るのかもしれんしな。
>>376 文脈で判断だと、規則が膨大になりすぎるんじゃない。
●正規表現の使用環境 perl ●検索か置換か? 置換 ●説明 1文字だけのAを空白に置換(または削除)したい ●対象データ appleAisAdeliciousAAA ●希望する結果 apple is deliciousAAA 前後に同じ文字が連続していない場合、その文字だけを消したいです。
先頭のaも消してよければコレ (?<!a)a(?!a)
あ、大文字だけか。 perlはよくわからんけどオプションかなんか指定して aをAにすりゃたぶん大丈夫
383 :
380 :2012/11/11(日) 23:15:05.09
>>382 ありがとうございます。
先頭にAがあると消えてしまいますが、教えて頂いた方法でできました。
$string =~ s/(?<!A)A(?!A)//g; という文です。
できれば、先頭のAが消えないパターンが理想なので、
引き続きアドバイスを募集させてください。
んじゃ、これでは? (?<!^|A)A(?!A)
>>384 ありがとうございます。
ただ、こちらの表現は「Variable length lookbehind not implemented in regex」
というエラーになって実行できませんでした。
どうやら、戻り読み?というものに対応できていないようです。
環境を書き忘れましたが、xammpを入れてperl 5.16.1で実験してます。
もっと原始的に、これはどうか。 (^|[^A])A([^A]|$) \1 \2 \1\2 ただ、よく分からないのは >前後に同じ文字が連続していない場合、その文字だけを消したいです。 文字? 置換対象はAだけだよね?
あれ、
>>383 をよく読んでなかった。
>先頭のAが消えないパターンが理想
条件追加/変更なら改めて例示をやり直してくれるとありがたいんだけど。
これならいいかな?
([^A])A([^A]|$)
(?<!^)(?<A)A(?!A)
( ´д)ヒソ(´д`)ヒソ(д` )
390 :
388 :2012/11/12(月) 11:02:29.20
すまん。!が抜けてた。(?<!A)
テストしてから書き込んでないってのがよく分かるな。せめて動作確認してから貼れよ。
ちょっとかっこ悪い (?<=.)(?<!A)A(?!A)
戻り読みより\K使えよ 固定長の必要なくなるぞ
perlなら文字列操作関数で頑張ればいいのに。人に聞けばいいや、はイカン。
同じ英数字が4文字以上、の正規表現は(a{4,}|b{4,})…と地道に指定しないとダメでしょうか?
●正規表現の使用環境 php ●検索か置換か? 置換 ●説明 2文字目以降の「.」以外の数字を「*」に置換したい。 ●対象データ 12.34 ●希望する結果 1*.**
>>395 ([a-zA-Z0-9])\1{3,}
●正規表現の使用環境 jruby1.7.0 ●検索か置換か? 検索 ●説明 <abc def/>とあるようなタグを検索したい ●対象データ <bbb><aaa><abc/></aaa></bbb> ●希望する結果 <abc/> タグ内の文字列は記号を含んだ任意の文字列です <.*?\/> とすると <bbb><aaa><abc/> とか <aaa><abc/> とかでヒットするのでどうにか <abc/> だけでヒットさせることができないものでしょうか?
その説明だと /<abc¥/>/ でいいんじゃねーのとしか読めないなw
ほれ <[^<]*\/> 例であげてた<.*?\/>の?はなんか意味あるの?
402 :
デフォルトの名無しさん :2012/11/18(日) 11:44:52.55
質問者の環境で使えるかどうかは知らんが最小マッチな
>>401 できましたありがとうございます!
^は行頭の意味で覚えていたので思いつきませんでした…
?は一応、後ろの方に対して最小一致のつもりでした
量指定子のオプション ? が「ものぐさマッチ」である好例だね。 最小/最短という言葉だと、一番短くなる箇所でマッチするのかと誤解して覚えてしまう。 本当の最短マッチを探索する環境もあったような?
あー最小一致か。あったね、そういえば。 (個人的には)あんまり使わないからすっかり忘れてた
xxxは長さも値もランダムな文字列で hoge+xxx/fuge+xxx/test+xxx ↓ hoge+xxx/fuge+xxx や hoge+xxx/test+xxx や fuge+xxx/test+xxx としたいのですが、例えばfuge+xxx/test+xxxとしたいとき hoge.+(/)?とやるとfugeもtestも削除されてしまうんですがどうすればいいのでしょうか? .に/も含まれてしまうのが問題だと思うのですが
407 :
デフォルトの名無しさん :2012/11/18(日) 15:01:22.03
>>406 環境書いて欲しいところだが「.+」の代わりに
[^/]+
か
[^\/]+
でどうよ?
408 :
406 :2012/11/18(日) 15:13:14.89
>>407 できました!ありがとうございます!
その考え方は無かったです
409 :
407 :2012/11/18(日) 15:36:08.79
410 :
406 :2012/11/18(日) 15:38:57.16
自分はphpでしたが似てますね もっとよーく見てから質問するべきでした
411 :
407 :2012/11/18(日) 16:20:51.12
>>410 同一人物でなかったのならお気になさらずに
さすがに同一人物だったら
>>401 の意味を自分で理解しようよって感じでしたが
Windows用で正規表現に対応したファイル検索ソフトってありませんか?
たくさんあるよ。
コマンドプロンプトからperlやphpでも行けそう。 フリーソフトなら腐るほどありそう。
>>396 対象データって小数点以下がある数字?
それともIPアドレスみたいに . が複数存在する場合もある?
00.1 ←数字ではあり得ない並び
1.2.3 ←ピリオドが2つ以上あるデータ
1.2. ←ピリオドで終わるデータ
こういうデータは置換対象にする?しない?
↑今日中に応答がない場合はもうこのスレ開くことないと思うのでご了承ください。。
正規表現使うべき所じゃないよねぇ
s/(?!^)[^.]/#/g
>>417 いえ、普通に使えるケースです。
>>418 これだと数字とピリオド以外の文字がデータに存在した場合、意図しない動作になってしまいます。
(文頭に半角スペースが入った場合など)
小出しェ
シェルスクリプトスレより誘導されてきました 以下のような文章があったとします 〜aaa〜bbbaaa〜bbbaaa〜bbb〜 (〜は文字数の定まっていない文字列を表しています。) ここから、それぞれ最初のaaa〜bbbだけを抽出、真ん中のaaa〜bbbだけを抽出、最後のaaa〜bbbだけをgrep -oなどで抽出したい時、どう正規表現で表せばよいのでしょうか?
>>421 言語は何?あと与えられたテキストがaaaa〜bbbbだったらどこでaaaとbbbを区切るの。
必ず3回aaa〜bbbが出てくるの? もうチョイ詳しく書いてくれないとどうにも どっちにしろ正規表現以外のサポートが受けれるなら そっちと組み合わせたほうがはやいと思うよ
>>422 言語というかunixのシェルスクリプトです
与えられたテキストが、とはどういう事でしょうか?
〜以外の部分は上記の文で確定しています
aaa〜bbbaaa〜bbbaaa〜bbbは何回続くのかは確定していません
この文自体を正規表現で表すとこんな感じだと思います
.*(aaa.*bbb)+.*
この中からn番目のaaa.*bbbだけを抽出したいのですが無理でしょうか?(実際にはaaaとbbbの間の文字列を取得したいです)
説明が下手で申し訳ありません・・・
>>424 質問の意図は分かったけどシェルスクリプトで使える正規表現を知らないから
それを調べるのにちょっとかかりそう。それさえ分かれば簡単なんだけどねw
aaa[^b]*bbb でぶった切って、煮るなり焼くなり。
最初のaaaより手前と最後のbbbより後をsedで切り落とせば、あとはawkで bbbaaaを区切りに指定して$1でも$2でも好きなの取り出せるよ sed 's/^¥([^a]¥|a[^a]¥|aa[^a]¥)*aaa//'|sed 's/bbb¥([^b]¥|b[^b]¥|bb[^b]¥)*$//' | awk -Fbbbaaa '{print $2}'
>>431 perlそのままで書くと↓
((?!aaa).)*(aaa((?!bbb).)*bbb){1}aaa\K((?!bbb).)*(?=bbb)
ただしシェルスクリプトだと\Kが使えない可能性が高いな・・その場合は
>>428 さんので。
{1} の数字を変えると取り出したい組み合わせを何番目にするか調整出来る。
{ } の中には 「取り出したい何番目かの数字」 - 1 を入れる。1番目なら0、2番目なら1、3番目なら2・・・
基本正規表現で十分だろ aaa[^b]*\(b\{1,2\}[^b]\+\)*b\{0,2\}bbb
>>432 はgrep -oで取り出すのを前提にしてます。
$1や$2で取り出せるならもっとシンプルに書けるんですけどね・・
aaa123bbbbaaa456bbb これから123bを正しく取り出すには..
echo 'aaa123bbbbaaa456bbb' | grep -o 'aaa[^b]*\(b\{1,2\}[^b]\+\)*b\{0,2\}bbb' | sed -e 's/^aaa//' -e 's/bbb$//'
>>398 これJavaの正規表現だとどうなりますか?
>>432 上手く動作しなかったので
>>428 さんのを使わせてもらいます!色々ありがとうございました
最後に、
〜aaa〜bbb〜aaa〜bbb〜aaa〜bbb〜
からn番目のaaa〜bbbを抽出する方法を教えてもらえるとありがたいです
>>440 スクリプトで式を生成する、とはどういう事でしょうか?教えてもらえるとありがたいです
横だけど。
>>442 nが3のとき、4のとき、5のとき……って、必要なコマンドが全て違うわけだ。
でも、よ〜く見てみると完全に別のコマンドって訳じゃなくて、法則性があったりする。
だったらこの法則性を利用して、コマンドの文字列自体を出力するプログラムを書いてしまえということ。
自分で正規表現作れるようになろうっていう意思がまるっきり感じられないのがなぁ。 ただのクレクレには答える気ないというのが総意だろう。
ruby初心者です テキスト中の指定した記号を削除したいのですが text = 任意のテキストファイルにしておいて text2 = "#{text}".gsub(/[\[\]\(\)\/"「」!@`~-.]/, "") と書くと invalid regular expression: /[\[\]\(\)\/"\242\243!@`~-.]/ となってしまいます ついさきまでなんのエラーもなくできていたのですがどこがおかしいのでしょうか
マイナスでは。 "#{text}".gsub(/[\[\]\(\)\/"「」!@`~.-]/, "") "#{text}".gsub(/[\[\]\(\)\/"「」!@`~\-.]/, "")
>>446 本当だ…
なんでさっきまでできてたんだろう
間違ってマイナス追加しちゃったのかもしれないけど記憶にないw
ありがとうございました助かりました
質問良いでしょうか? サクラエディタの置換処理の[該当行マーク]で取得範囲のテストをしています。 フルパスからドライブレターや(ネットワーク越しの)PC名を一発で切り出したいのですが どのようにすれば良いでしょうか? c:\windows\system32\drivers\etc\hosts \\安藤PC\共有\excelデータ\ といった環境で、[c]や[安藤PC]を切り出したいです。 ([^\\]+?)[\\:] と言うところまでこれたのですが、 行内で複数一致してしまい、うまく切り出せません。
449 :
デフォルトの名無しさん :2012/12/08(土) 19:15:47.14
テストは一切してない こんな感じか? ^( ([^\\ ]+): #頭から:の手前までの(*\と半角スペース*以外で1字以上) | \\\\([^\\\: ][^\\\:]*) #頭の\\の次から(*\と半角スペース*以外で1字)(*\と:と半角スペース*以外で1字以上) )
>>448 文字クラスの外で使う^が行頭ってことがわかれば
自力でいけそうな感じだな、がんばれよ。
>>449 返信ありがとうございます
しかしながら[c:][\\安藤PC]となってしまい、コロンや\\が残留するようです。
このコロンや\\を一発で除去したいのが目的なので…
>>450 ^が行頭は知ってます。
^ $ . + * ? [ ][^ ] ( ) | \\ \d \s \r \n \t $1 $2
単純な構造なら、↑ここらへんは書けますが、複雑になったり
回数指定や16進とかになると解説読んでなんとか…というレベルです。
2週なら[行頭の \\ 削除]、[行頭から最初の \ : まで取得]で簡単な話なんですが
452 :
451 :2012/12/08(土) 20:14:29.95
レス直後に自己解決しました。 $1一発で取るんじゃ無くて、>449さんに $2$3 で取得すれば行けますね。 ありがとうございました。
別パターン ^(\\\\)?([^\\:]+) \2
解決したみたいだけどサクラエディタで質問する時は本体バージョンと、 使ってる正規表現DLLとそのバージョンを書くべき
自分だったら\や\\を\tに変換して、エクセルで作業しちゃう。
${2}1
同じ文字列が繰り返されるような文字列にマッチさせるようにするにはどのように記述したら良いでしょうか? ex) apple_and_orange/1687646/abcde/abcde/hogehoge apple_and_orange/5646818/fghijk/fghijk/hogehoge apple_and_orange/1984687/lmnop/lmnop/hogehoge /abcde/abcde/や/fghijk/fghijk/のように同じ文字列が繰り返されます これが良い例えかどうかは分かりませんが、参照で説明したら apple_and_orange/\d+/$1/$1/hogehoge といった感じです
/([^/]+)/\1
Javaで正規表現を使ってHTMLの終了タグを順番に一つずつ抽出しようと思ったのですが失敗しました。 \\[/.*\\] Hello regex world! [a href="foo.html"]This is link text.[/a] [strong][em]woohooo![/em][/strong] ⇒[/a] [strong][em]woohooo![/em][/strong] いろいろ調べて最短修飾子を使えばいいのかなと思いましたがこれも失敗しました。
461 :
460 :2013/01/03(木) 20:54:16.82
すいません途中で間違えて描いてしまいました。 最短一致で次のように試して失敗しました。 \\[/.*\\]+? Hello regex world! [a href="foo.html"]This is link text.[/a] [strong][em]woohooo![/em][/strong] ⇒[/a] [strong][em]woohooo![/em][/strong] 結果は変わりませんでした。 何が間違っているのでしょうか?
\[/[^\]]+\] エスケープの仕方が間違ってる
回答してから気がついたんだけど、コレほんとにHTMLなの? JAVAでは<>が[]で表現されるとか?
>>462 回答ありがとうございます!
Javaだと角かっこをエスケープする\をエスケープするために\\[とか\\]としないとエラーになるようで、
\\[/[^\\]]+\\]
としたら無事一つずつ抽出できました!
[^]で角かっこに含まれない一文字にマッチという意味のようなのでこれは
/と]以外にマッチするということですか?
>>463 すいませんHTMLじゃなくてHTMLのtextareaの中に含める独自タグでした……括弧が違うだけで原理は一緒です。
エスケープしてるほうの[]は単なる文字で 素の[]は文字クラス なので\\[/[^\\]]+\\] は []に囲まれた]以外の1文字以上の任意の文字列にマッチ
あ、/忘れた []に囲まれた先頭が/の]以外の1文字以上の任意の文字列にマッチ 文章にすると逆に分かりづらいな 日本語のうまい他の人に期待
エスケープ文字が邪魔でわかりにくかったので<>で見てみました。 </[^>]> こうなりますよね…… </と>に囲まれた>以外の1文字以上の任意の文字列にマッチ Hello regex world! <a href="foo.html">This is link text.</a> <strong><em>woohooo!</em></strong> で </ と > に囲まれた a> <strong><em>woohooo!</em></strong> とはならない理由がいまいちつかめてないです……たぶん[^>]の意味がちゃんと理解できてないんだと思います。 詳しい解説感謝です!
間違えました、 </ と > に囲まれた a> <strong><em>woohooo!</em></strong です。
あ、aタグの後ろの>で引っかかってaまでが[^>]の部分とみなされたってことですかね? そして後ろに囲む>がくっついたと。 なんとなくわかったかもです!
解説書いてたら自己解決してたでござる。 それであってるよ。 あと、念のため </[^>]> じゃなくて </[^>]+> ね。
あっ、+が無いと<と>の間に何もない時マッチしないですね 丁寧にほんと感謝です!
そういうときは事前に【 】などに変換しておくと、ややこしくならなくて良いよ。
>>473 遅くなりましたがアドバイスありがとうございます!
後方参照で$1の後に特定の数字を続けたいんだけど、どう書けばいいんだろう $12とか書くと、当然12番目のグループと解釈されて駄目
${1}2
ああごめん ググッたら一番上に出てきたわ 本当めんご
へぇ。知らなんだ。 ずっと"$1\x32"みたいなメンドくさいことしてたわ。 横からおいしくいただきましたw プログラミング言語関連の調べ物って、ググるにしても キーワードが"$"とか"#"みたいな記号だったりして難しいよね。
後ろからもおいしく頂きます。
boost regexでの話なのですが、後読みが使えないのですが何とかして先読みで代用できないものでしょうか? 先読み後読みの仕組みもそこそこにしか理解してないものの、無理そうな気配は感じております が、この道の先人であるところの皆様なら何かすごい裏技をご存知なのではと一縷の望みを託しに参上いたしました
481 :
デフォルトの名無しさん :2013/01/07(月) 00:37:46.83
後読みって戻り読みの別称でいいんだっけ?
はい。英語ではlook-behindと書かれる↓です (?<=),(?<!)
>>483 それです
可変長というのがよく分かりませんが
具体的には、
(?<!やす|ひろし|てつや)さん
で検索すると
のりこさん、ちぐささん、ひろしさん、てつやさん
の内 のりこさん と ちぐささん のさんがマッチしますが、(?<=),(?<!)が仕様上無いとのこと
どうにかなりませんでしょうか……?
> (?<=),(?<!)が仕様上無いとのこと ある (?<!やす|(?<=ひ)ろし|(?<=て)つや)さん でいける よく調べようね
>>485 ありがとうございます
それがいわゆる可変長と言うやつでしょうか
やす、ひろ、てつなら問題なかったと
487 :
デフォルトの名無しさん :2013/01/08(火) 21:09:21.66
行頭と行末にリストタグを追加したいのですが、うまくいきません。。。 秀丸使っています。。どのように書けばいいのでしょうか?? あああ いいい ううう ↓望む結果 <li>あああ</li> <li>いいい</li> <li>ううう</li>
(.*) <li>\1</li>
もし空行があった場合<li></li>だけの行になってしまうと多分まずいので *より+のほうがいいと思う
^(.*\S.*)$ スペースだけの行もカット。\Sは詳説・正規表現でよく出てくる。
つまりだな 質問者はテンプレ使えって事だ
テンプレの要項は満たしてるけど説明欄が不十分
^(\s*)(.+)$ \1<li>\2</li> インデント殺さないでほしいってなったときに。
>> 488-493 質問者です。どうもありがとうござました。遅くなりました。 これでできました。 (.+) <li>\1</li> ^(.*\S.*)$ <li>\1</li> スペースの違いがあまりわからず、、いろいろと深いですね><
PHPにて、2chで見るようなレスアンカーを検知して
その内容を区分けするようなプログラムを組んでいます。
例えば$testというstring型の中から
特定のアンカーがついた文章ごとに
配列に格納するようにstrposを使い
for($i = 0; $i <= 1001; $i++){
$res = '>>'.$i.'';
if(strpos($test, $res) !== false)){
//配列に入れる諸々処理
}}
という風に、簡略化はしてますがこんなのを書いたところ
動いてはくれるのですが、
>>1 とついた文章と
>>15 とついた文章が区別できてません。
>>1 がついた文章用の配列の中に
>>15 がついたのまで入っちゃいます。
その逆もです。
うまくそれらを区別するにはどんな正規表現を使えばいいのか、どなたかご教授願います。。
496 :
デフォルトの名無しさん :2013/01/18(金) 12:09:05.36
皇潤 数字以外を検出
497 :
495 :2013/01/18(金) 13:22:49.52
>>496 レスありがとうございます。
確かに>>数字、の後には何かしら数字以外がくるので桁数を指定できますねなるほど…。
しかし、preg_matchで'/>>'.$i.'\D/'を条件にしてみましたがうまくいきません。
書き方が悪いのでしょうか?
降順もググッたりしましたがもう少しヒントを…
forをデクリメントで回したりしても結果変わらず…です…。
498 :
デフォルトの名無しさん :2013/01/18(金) 13:33:13.42
自分の投稿内容よく読めよ
499 :
495 :2013/01/18(金) 14:02:53.49
>>498 正規表現と全然関係ないとこでミスってました。
'/>>'.$i.'\D/'こいつでいけてたんですが
preg_matchは !== false じゃなく
=== 1 で条件つけるべきだったんですね。
ありがとございましたー。
アフィかな、がんばれ。
ちなみに、 \D を (?!\d) にするのが模範解答な。\Dの場合、数字以外の文字が必ず必要だが、(?!\d)の場合、 後ろに文字が存在しない場合でもマッチする。まぁ実用的には変わらないかもだが。
笑いを取るための模範解答ってこと?
>>501 その部分については安価のみを除外したい意図があるのかもしれないし。
数字をキャプチャするのが模範解答()には必要だと思うよ
アンカのみを除外とか・・数字のキャプチャとか・・何言ってんだこいつは。 プログラミング出来ない馬鹿は黙ってろ。
キャプチャはいらないよね。それより全角
507 :
503 :2013/01/21(月) 13:41:04.68
>>504 for($i = 0; $i <= 1001; $i++){
$res = '>>'.$i.'';
プログラミングできる頭いい人ならこの時点でクソプログラムだってつっこめよ。
人のミスを探す前に自分のミスを認めて謝罪して土下座するのが先じゃないの? それが出来ないなら明日から来なくていいよ?
あ、、アンカのみ除外ってそういうことか。 計算量を考えたら数字のキャプチャも必要か。。 プログラミングできない馬鹿はこちらでした。すみませんでした。
●正規表現の使用環境 秀丸エディタver8.11マクロ(正規表現:HMJRE.DLL V3.41) ●検索か置換か? 置換 ●説明 ”(ダブルクォーテーション)で囲まれた文字列の中のある文字を置換したい。 ●対象データ BASICテキスト 10 A$="AR_2_ZBG":B$="_GDA_" 20 C=D_2 30 G$="_":E=F_2:IF G$>"_" THEN 100
>>510 の続き
例えば上記のようなBASICテキストにおいて、行番号10,30の""の中にある_を-に変換したい。
但し、行番号20のC=D_2と30のE=F_2の_は変換しない。
なお上記のBASICテキストの””内は_の他に任意の半角文字とします。
●希望する結果
10 A$="AR-2-ZBG":B$="-GDA-"
20 C=D_2
30 G$="-":E=F_2:IF G$>"-" THEN 100
>>510 正規表現だけでやろうとするな
秀丸なら追加の条件を使うのが定石
514 :
512 :2013/01/22(火) 04:20:59.49
516 :
510 :2013/01/22(火) 13:07:41.94
>>512 、
>>513 、
>>514 、
>>515 皆様、ご回答有難うございます。
別のDLLを使う事や追加の条件を使う事を考えます。
昨日連続で書き込み出来なかったのですが、
replaceall "([<|>|=]\"[^\"]*)_([^\"]*\")"
, "\\1\-\\2" , regular;
このようなマクロを考えて悩んで相談しました。
有難うございます。
[<|>|=] ←これだと 「|」 も検索されちゃうよ、[<>=] ね。
518 :
510 :2013/01/23(水) 12:52:35.13
>>517 有難うございます。ご指摘の通り「|」も検索されていました。
頭をもう一度整理します。
文字列に複数回数字が出現する時に 最後の数字だけ判定するには正規表現はどう書けばいいでしょうか? 具体的には "foo 111 333 bar 222-hoge" では"222"にマッチして "aaa 22" とある場合には 22 にマッチさせたいです。 環境はrubyです。
>>519 \d+(?!.*\d)
先読み慣れてないけど、こんな感じかな。
521 :
デフォルトの名無しさん :2013/01/23(水) 16:03:41.71
[\d]+[^\d]*$
環境っつーか間違ってるから動かないんだろ
繰り返しの後ろに先読み否定を置くと落とし穴になることある。 (?>X+)(?!Y) みたいに前の繰り返しを強制的に最長消費させれば落とし穴を埋められる。
test(100) という文字列があって、(100)にマッチさせたいのですが、 \(.*\) ←この正規表現ではマッチしませんでした wikiを呼んだら >>"\(" や "\)" で囲まれた表現に続く "*" は無効とされる。しかし、一部の環境ではそうならない。 と書いてありました。 それでは(100)にマッチするパターンはどう記述するのでしょうか?
まず環境が分からない
>>527 QtというC++のライブラリです
Qtのスレもあるんでそっちで聞いたほうがいいですかね?
マルチ
正規表現を身につけようと思ってググったら 正規表現練習ツールってのを見つけたんですけど どうなんですか?
練習用
534 :
516 :2013/01/26(土) 20:22:42.91
>>531 いますよー。もし可能でしたらお願い致します。<(_ _)>
結局、正規表現だけでは難しかったので、
取りあえずマクロと組み合わせて動かしています。
536 :
516 :2013/01/26(土) 22:51:09.97
>>535 お時間を取らせてしまい申し訳ないです。了解致しました。
正規表現_part10_res510も拝見しました。
私はマクロで、正規表現で『[<>=]"文字"の中の最初の「_」】
をマッチさせた上で、
その後は1文字ずつ「_」があるか「"」が出るまで調べ、
「_」があれば都度、「_」を削除、「-」を挿入する処理を繰り返してます。
>>536 おまたせです。書き込むときに長すぎると怒られたので【検索欄】を2行に分割してます。(一行に繋げて使って下さい)
【検索欄】
(?<C1>(?>(?:[^"\\_]|\\\p{ASCII})*)){0}(?<C2>(?:\g<C1>|_)*){0}(?:^(?<CAP1>(?:\g<C2>"\g<C1>")*\g<C2>"\g<C1>)_
|\G(?<=.)(?<CAP2>\g<C1>(?:"(?:\g<C2>"\g<C1>")*\g<C2>"\g<C1>)?)_)
【置換欄】
\3\4-
これの動作は
--------------------------------
カッコ外"カッコ内"カッコ外"カッコ内"
--------------------------------
というように、"が出現するごとにカッコの外か内かを判定してます。
よって、"の数が合わない場合、誤作動します。
-----------
〜"〜"〜"〜
-----------
↑最後の〜がカッコ内と判定される。
また、\"のエスケープに対応しています
------------
〜"〜\"〜"〜
------------
↑正常に動く。
539 :
516 :2013/01/28(月) 04:47:14.90
>>537 すごい、完璧に動作しました!有り難く使用させて頂きます。
記載頂いた表現の中身をまだ理解しきれていないので勉強します。
今回は誠に有難うございました。また返答が遅くなり
申し訳ございませんでした。
>>539 丁寧にどうもです。後から手を加えやすい作り方をしたので何か要望があればお気軽にー。
マクロでやれば簡単なのに
●正規表現の使用環境 sakuraテキストエディタ (bregonig.dll ver3.02 with Onigma 5.13.2) ●検索か置換か? 置換 ●説明 入れ子のデータを分離したい。 ●対象データ (あいう[えお]) これをキャプチャして、(あいう)[えお]と分離したいです。 よろしくお願いします。
(?:\(([^\(\)\{\}]*)\[([^\(\)\{\}]*)\]\)) ($1)[$2]
ありがとうございます。 試してみます。
545 :
デフォルトの名無しさん :2013/02/03(日) 06:34:15.67
正規表現の定義は スレッドプロセスに聞いてくれ
546 :
デフォルトの名無しさん :2013/02/05(火) 23:25:17.22
性器表現
(?:^|<br>)[ ]*[^ < ](?:(?:[ ]*<br>)+[ ]*[^ < ]){3}(?=[ ]*(?:<br>|$))
JAVAのsplitで「|」を目安に配列に分ける作業があります 正規表現で¥マークそのものを対象にするなら¥¥ですが |については¥|ではなく¥¥|で動作します どうして¥マークが二つなのでしょうか?
Javaは余り詳しくないのだが、 C/C++だと言語仕様としての \\ → \ の置換があって、そこから更に正規表現ライブラリに渡してるな。
Javaも
>>549 のとおりだね
ソースコードの "\\|"
→Java文字列表記のエスケープがかかって「\|」
→正規表現エスケープでリテラルの『|』を指定したことになる
このへんC#だとエスケープ無し文字列表記をつかって @"hoge\|fuga"なんてささっと書けて見やすいんだけどなぁ
「|」にマッチさせたい →正規表現の仕様で「|」そのものを表すためには「\|」と書く →javaコンパイラにとってはただの文字列なので「\」をエスケープして”\\|”と書く
> 正規表現で¥マークそのものを対象にするなら¥¥ですが 俺はここが重要だと思うんだわ。 \\\\じゃなくて\\で\にマッチするあたりが。
どこかに「|をパイプと呼ぶな」というスレがあったな
セパレータでいいやん
Pythonで非ASCIIとして日本語を含むけど、 それ以外の非ASCIIを含まない正規表現はどうかけばいいでしょうか? print re.match(u'([ぁ-んー]+|[ァ-ンー]+|[\u4e00-\u9FFF]+)',u"a") print re.match(u'([ぁ-んー]+|[ァ-ンー]+|[\u4e00-\u9FFF]+)',u"あ") print re.match(u'([ぁ-んー]+|[ァ-ンー]+|[\u4e00-\u9FFF]+)',u"ü") print re.match(u'([ぁ-んー]+|[ァ-ンー]+|[\u4e00-\u9FFF]+)',u"가") print re.match(u'([ぁ-んー]+|[ァ-ンー]+|[\u4e00-\u9FFF]+)',u"あ가") と書いたんですが、これだと2個めだけじゃなくて、5個目もマッチしてしまうんですが、 2個めだけをマッチするようにはできますか?
558 :
548 :2013/02/10(日) 01:38:11.88
>C/C++だと言語仕様としての \\ → \ の置換があって、そこから更に正規表現ライブラリに渡してるな。 >→Java文字列表記のエスケープがかかって「\|」 →正規表現エスケープでリテラルの『|』を指定したことになる 興味深いお話ありがとうございました
>>558 C++で正規表現書いてると、よくコンパイラに「不正なエスケープだけど間違ってない?」って突っ込まれるw
>>558 \n とか \t ぐらいは普段から目にしてそうだけどね
>>558 二重にエスケープをしないといけない場面はJavaに限らず遭遇するので良い経験だと思う
562 :
デフォルトの名無しさん :2013/02/11(月) 15:52:39.80
\|がそのまま使えないとわかったら\u007Cみたいなコードポイント表記を使うのが無難 VBだったらchr(124)とかね
563 :
558 :2013/02/12(火) 09:35:19.72
特殊記号「.」 → \. = 「.」 特殊記号「|」 → \\| = 「|」 しかし思えば他の特殊記号と処理が違うのでしょうか… |の例のままでいえば . ? なども同様の\\が必要なはずですし
>>563 変わらないと思う。たまたま上手く動いてただけと予想。
もちろん、原因が全然別の所にあるなら分からないけども。
正規表現中のエスケープの規則はアドホックだから、そういうものと思うしかない。 [] の中ではまた違うし。 POSIXの標準でも、拡張正規表現とそうでないので違うし。
| はエスケープしないとJAVAに区切りだと思われてしまうんでしょ? 区切りではないという意味で \ が余計に1つ必要になる。 . や ? はJAVAの解釈時に影響を受けないので ¥ を余計に付ける必要がない。 ・・とJAVA触ったことない人間が予想してみる。
> 特殊記号「.」 → \. = 「.」 これは文字列 "." にマッチさせたいなら、期待するようにエスケープできてないはず。
>>563 記述したい正規表現の\を一個増やすと覚えておけばいいんじゃないかなぁ。
\| を書きたいなら \\|
\. を書きたいなら \\.
\\ を書きたいなら \\\\
| を書きたいなら |
569 :
566 :2013/02/12(火) 13:54:03.88
>>567 ああ、「.」は「.」に"も"マッチするからなぁ。それが正解かもね。
570 :
558 :2013/02/13(水) 09:19:41.77
例文を見ると\\.となっていました 秀丸やPHPでも拡張子".foo"で拾うなどやっていましたが perl互換云々などで間違えていたのかしら… String text = "www.hoge.net"; Pattern p = Pattern.compile("\\.net"); Matcher m = p.matcher(text);
> C/C++だと言語仕様としての \\ → \ の置換があって と説明されてるだろ? Javaでも同じだけど、 ソースコード中の文字列リテラル(ダブルクオートで囲った文字列)の中身においては、 「ソースコードを解釈する時点で」バックスラッシュ2個が1個になるわけ。 正規表現とは関係なく。
\をバックスラッシュに置き換えるフォントってどれだっけ
>>572 \は始めからバックスラッシュだと思うが?
そう見える人にはそうだな
バックスラッシュが円マークとして表示されてるだけであって、
置き換わってるわけじゃないっていう揚げ足取りじゃないかなぁ
>>572 適当にプログラマ向けとされているフォント入れるといいと思うよ。
0Oや1lI|の区別がつきやすいやつ
文字判別が良いから、¥が\になるVLゴシック使ってるけど… 正直¥の方が良くね? ¥って、ほとんどの言語でかなり強い意味を持つから、 さらっとした\より、もじゃもじゃした¥の方が目に入りやすい気がする。
普段見慣れてないから / と間違えそうw
githubにアップしたファイルやテキストをwebで見たら勝手に\で表示してくれてた
>>571 ああ今やっと流れがわかりました
代入したパターン「\.」がストレートに関数へ使われるのではなくて
その言語で表現する仕様を踏んでから次に関数へ入るわけなんですね
JAVAだったら"\\|"と書いて初めて渡すものが"\|"になると…
「"」内で「"」を描くには「\"」と同じ様に考えていましたが
そういうエスケープじゃなくて結果として\|を渡さないといけないんですね
そんなことはみんな知ってて言わないだけだから いちいち報告しなくてもいいよ
そんな意地悪言わないで、判らなかったことが解ったときは、褒めてあげようよ。
まとめ乙。 皆、最初は知らない。 考えればわかることもあるけど。
どう分かったのかを言い残してくれる人のほうがいいに決まってる。 「自己解決しました」、とだけ言っていなくなる人と比べたら1億倍マシ。
そだね、報告はうれしいもの。 質問する人からすれば他の人の報告はどうでもいいように思えたりするけれど、 そう思ってるうちはいつまでも質問する側になっちゃうことに気づくべき。
「ありがとう」より嬉しかったりするよね
587 :
デフォルトの名無しさん :2013/02/14(木) 02:01:19.59
順追って処理するということが出来ない奴多いよな
俺はヒントや考え方の方向だけ示すことが多いんだが、 それを理解して正解を導いたと報告されると嬉しい。 教え甲斐があるってもんだ。
魔法はいきなり結果が出るものだからな。<順
どうせ中途半端な知識なんだから 知ってる事全部さらけだした方が答える方も得だろ あんまもったいつけんなよ
591 :
デフォルトの名無しさん :2013/02/18(月) 02:52:27.06
●正規表現の使用環境 Perl ●検索か置換か? 検索 ●説明 トップから第三レベルドメインまでをマッチさせたい。 www.(mydomain.co.jp)※括弧の中 サブドメインが無い場合も想定されます。 mydomain.com www.aaa.mydomain.com aaa.bbb.mydomain.com ●対象データ www.mydomain.co.jp mydomain.co.jp mydomain.com www.aaa.mydomain.com aaa.bbb.mydomain.com ●希望する結果 mydomain.co.jp mydomain.com よろしくお願いします。
\w+\.\w+\.\w+$
つ "-"
594 :
デフォルトの名無しさん :2013/02/18(月) 12:49:26.12
***.com.auとか***.jpとかあるから各国の状況調べる必要があるな
595 :
デフォルトの名無しさん :2013/02/19(火) 02:28:49.80
>>591 重複する結果が出てはくるけど手っ取り早いものだと
say $& if $text =~ m/mydomain\..+?$/;
ではどうだろう?
596 :
595 :2013/02/19(火) 02:30:53.24
>>595 「&amp;」は実際は半角「&」1文字ね。
2ちゃんの仕様が変わって直接 & 書けるようになってるって
古いチンクル使ってるとかだったら更新した方が・・・
じゃあ最初に見つかった > アンダーバー以降の末尾の自然数が商品IDなのですが(これなら簡単) でいいんじゃないの
あまりにも適当なレスしてしまったわ。 /ref/以降を除去してからやれば?
>>600 ^
http:\/\/ (?:www\.)?hmv\.co\.jp\/artist_[^/]+\/item_[^/_]+_(\d+)(?:\/ref\/[^/]*)?$
>>603 ありがとうございます。
文字列の否定や後方参照を使うのですね。
>>602 たしかにそれもそうなのですが
どのような正規表現で実現できるか気になったので質問しました。
605 :
デフォルトの名無しさん :2013/02/19(火) 22:45:38.08
item_.+?_(\d+)/ こんだけで取り出せるんじゃねーの? 商品名に/_入ったら別だが
>商品名に/_入ったら別だが 商品名に/が入るなんてことはあり得ないでしょ
入ってたらエスケープされるだろうしな。
>>609 URL欄なんだからありえないと言ってるんだろう。
商品名にあったらエスケープされてるはずだし。
>>609 みたいに1レスだけ読んで脊髄反射で書き込みする奴ってどうしようもないな・・・
/(スラッシュ)とか *(アスタリスク)とかいう名前の 中二病っぽいロックバンドとかいそうだよな。 まあ、エスケープするか全角文字を使えばよいよな。
urlエンコードされるだろ。%20とか。スラッシュのコード忘れたけど。
614 :
デフォルトの名無しさん :2013/02/20(水) 21:38:17.57
2f
616 :
デフォルトの名無しさん :2013/02/21(木) 00:44:46.10
使いもしないhmvサイトの仕様なんてしらねえからな ないとかエスケープされるとか推測で断定するのは責任感のないど素人か厨房
エスケープするのはURIの仕様だが
正規表現をある程度理解していてhttpの基本仕様知らないとか そのほうが嘘だろと疑うわ
>>616 んでも、あるとmod_rewriteの正規表現がめんどくさくなるよ
>>617 URIにスラッシュを使ってはいけない理屈はもちろんないので的外れ
作るほうの事を考えたらそのまま入ることはないって考えるのが妥当だけどね
>>618 正規表現の前提知識にHTTPを要求するほうがうそだろとおもうわ
キュレーションとかクローリングにしか使わない人なんかな
>>620 あまりにも屁理屈がすぎるのでマジレスしてみる。
RFC3986に、URI構成要素に区切り文字が含まれる時はパーセントエンコードされなければならないと
明言されている。
百歩譲ってアプリケーションの仕様だとしても、それは、URI設計の段階で意味的な一貫性を保つために
決定される事で、mod_rewriteの正規表現〜とか実装上の都合で避けられるようなたぐいのものではない。
URIって部分ごとにエスケープが必要だったり必要でなかったりするよ?
624 :
デフォルトの名無しさん :2013/02/21(木) 14:14:09.44
そもそもRequestForCommentsに強制力はない 鯖や倉がどう処理するかは実装依存だし そもそもの600がどういうソースから元データを得るのかすら明示されてない RFCに何かが明言されていたらどうだというのか 他人叩きたいだけの頭の悪いゴミだという自己紹介ならよそでやれ 621なんて使い物にならんのは即刻クビだわ
httpの仕様とは関係ない。 通常はディレクトリなどの区切りでも、HMVは商品名に/を使うかもしれない。
RFCのどこそこにこう書いてある、と示さないのが悪いだけで、 ぶっちぎり上等を公言するのはバカのすること。
>>600 これでいいだろ
/item_.*?_(\d+)(/|$)
628 :
600 :2013/02/21(木) 17:22:20.25
>>621 まず、URIの区切りとサーバ上のディレクトリが必ずしも一致しないというのは知ってるよね。
httpの基礎知識を要求するなり、RFCを持ち出すなりするぐらいだから。
なので、区切り文字が区切りとして扱われることを期待する範囲で、
区切り文字を表現する場合にエスケープを行えばそれでいいのよ。
>>629 混乱してきた
その前提があるからエスケープされるだろって事なんだが?
「商品名に含まれる'/'が区切り文字として扱われてもいいじゃないか」というのは屁理屈じゃないのか?
いまいち詰めがあまかったな。 商品名が'/artist_a/item_b_1789889/ref/1448035'だったらどうする? だな。 まあ、言いたいことはあれだ どうせ詳しい仕様は分からないんだから、わざわざ'/'をエスケープしないケースを考えて 話をややこしくするより、「(普通は)エスケープされるだろ」で終わらせればいいじゃないかって事だ。
>>633 >>631 の例の場合は書いているように、アンダースコアがセパレータとして働くので、
その場合においては、その商品名に含まれるアンダースコアをエスケープしなければならない。
>>620 でも書いたけど、めんどくさいのはもちろん同意するし、
そのほうがいかにもそれらしいURLになるよね。
こう使ってもいいだろ。文字列全体をエンコードしなくても文法上は問題ない。日本語部分は英字のほうが安全だが。 エバラ/焼肉のたれ/醤油味/300g エバラ/焼肉のたれ/味噌醤油味/295g エバラ/ステーキ御膳焙煎にんにく風味/165g エバラ/キムチ鍋の汁/500g
日本語やスペース含むデータなのだからエスケープしないとブラウザが解釈できない。スラッシュを特別扱いしてそのままで何とか動くようにする理由が考えられない。
久しぶりに来たらRFCとか持ちだしてる馬鹿がいてびっくりした。現実を見ろよ現実を。
janetterというTwitterクライアントで非公式リツイートをミュートしたいのですが ^RT @ だと公式RTも全部ミュートされてしまうため 非公式リツイートのみ非表示にする正規表現を教えて下さい
639 :
デフォルトの名無しさん :2013/02/21(木) 22:25:38.67
>>638 特定のサービスのことをさも誰でも知ってるようなききかたされても分かるわけないだろゴミクズ
公式RTと非公式RTのテキスト上での違いくらい言えないのかキチガイ
これがJanetter使いです 低能でしょ?
松ケンサンバー♪
643 :
デフォルトの名無しさん :2013/02/22(金) 15:36:57.97
性器表現
>>643 時々それを嬉しそうに書いてくる小学生がいるんだよ
そう、お前のことだ
素で誤変換する奴がいるからNGワードにも入れられないという罠。
単語だけのやつをはじくようにすればよくね?
647 :
デフォルトの名無しさん :2013/02/22(金) 17:27:22.06
性 器表現ですよね
じゃこれで ^[ ]*性[ ]*器[ ]*表[ ]*現.{0,10}$
ホワイトスペースを効率よく全無視する性器表現って どうやって書けばいいんだろうね
小生 器 表 王見 とか倍角文字を使う奴も現れるかもしれないね
たかが性器表現くらいでNGなんて不自由な世の中だ
おちおち誤変換もできないな
★性★ ★器★ ★表★ ★現★
[性器表現]{4}
もう助詞入ってないやつはNGにするは
女子無会話
正規表現の面倒なところはコマンドプロンプトとかVisualStudioとかPowerShellとかサクラエディタとか それぞれで書き方やエスケープ文字が若干異なるところだな
それを正規表現の所為だと思えるのはなぜだ
659 :
デフォルトの名無しさん :2013/02/22(金) 22:43:00.41
亞汰魔がおかしいから
つかこのスレにいるような人達は痴漢してると思うんだ。
>>658 正規表現に方言が多いのが面倒だと言っているのに
おまえこそ何でそういう解釈になるわけ?
正規表現はわかるのに、人の言葉は解釈できないのかよ。
663 :
デフォルトの名無しさん :2013/02/23(土) 02:29:57.61
ジョン「料理の面倒なところは和食とかフレンチとかイタリアンとか中華とか それぞれで材料やダシの取り方が若干異なるところだな」 エディ「それを料理の所為だと思えるのはなぜだ」
>>662 いいから答えろよ
人に変な疑問投げておいて
黙ってろで済ませるな
正規表現って、プログラマがかんがえたのじゃなくて、けっこうむかしに研究されたらしいよ いろいろあって当然
性格に問題のある人間は正規表現にハマりやすい。 正規表現にはゲーム性がある。 論理的な上に単純なので性格に問題がある馬鹿でも解けるのが魅力らしい。 断っておくが、「正規表現にハマってる人間は性格に問題がある」と言っているのでは「ない」ことに注意されたし。 ちなみに性格に問題がある馬鹿には難しいことは理解出来ないのでDFAなどの話には付いてこれない。
>>663 それもおかしい
なぜ「料理のせい」などという明後日の方を向いたレスになるんだ?
ジョンは同意を求めているのだから、
エディの返しとしては、「そうだな」か、「そうは思わん」のどちらかだ。
おまえらコンピュータをやり過ぎて、人としての基本的な
会話のキャッチボールができなくなってるだろ
ちょっと落ち着けw
正規表現の起源は、50年以上前にさかのぼる(注1) 神経生理学者のWarren McCullochとWalter Pittsは1940年代,オートマトンを使って神経回路網をモデル化 (中略) 数学者のStephen Kleeneは1956年,数学的な集合である正則集合(regular sets)を使って McCullochとPittsのモデルを記述し直し(中略) 正則集合を記述するために作られたのが正規表現(regular expression) 情報科学 Ken Tompsonは、正規表現を(中略)行エディタqedに組み込み,パターンマッチによる検索機能を実装した。 この検索機能を独立させ,行単位のテキストフィルタとしたのがgrep スクリプト言語処理系など(以下略) (注1)Cマガジン2001年12月号p.14コラム
>>669 の原典は、詳説 正規表現らしい(p.66)
いま改訂版がでている(.NET, Java, PHPを追加)
詳説 正規表現 第3版
第三版、今手元にあるお。
標準化・規格化しないのかなあ rubyですらしたというのに
POSIX
標準化されたとしても形骸化するのが目に見えてるけどな。 RFCとそれに従わずに独自拡張を入れまくるIEみたいな関係だ。
正直、やれPOSIXだ、やれPerlだ……とかよりも、 ツール等で使う場合には「パターンにマッチしなかったもの」というオプションを入れてくれればそれでいいやw
ツールで使う場合は変数を使えるようにするのが最重要課題だと思うわ。 tr/a-z/A-Z/ をツール上の正規表現でやろうとしたらえらいことになるからな。
678 :
デフォルトの名無しさん :2013/02/23(土) 16:40:03.27
外部コマンド実行とか付いてるだろ低脳 それ使ってPerlで置換しろ池沼
正規表現上で出来ないのが問題だと言ってるんだが。まぁ馬鹿を相手にしても時間の無駄か。
エディタの置換だったら大概\1だの$1だのあると思うけど、どういうツールの事言ってんの?
>>675 W3C標準とRFCが混ざってるわけじゃないなら、
番号教えてもらえると嬉しいです
>>680 \1だの$1だのじゃ解決できない話だと思うよ
>>679 ね。
>>681 あ、trのことか、変数じゃなくて式の評価が必要ってことね。
確かにそういうの出来るエディタはあまりないかもな。
>>682 <span>a</span> を <span>A</span> のようにspanタグに挟まれてる小文字のアルファベット1文字を
大文字に置換したいとする、さて、正規表現で置換するにはどう書けば良いか。
この答えは26行の正規表現になる。もし変数が使えられたとしたらこれを一行で済ませられる。
↓変数xに大文字のアルファベットを代入し、置換時に取り出す。
検索欄
<span>(a$x=A|b$x=B|c$x=C|・・・|z$x=Z)</span>
置換欄
<span>$x</span>
これが出来れば全部の検索にかかる時間が大幅に減り、処理速度も向上する。
・・という例えで分かるかなぁ?
>>683 あまりの無知ぶりに、見てるこっちが恥ずかしくなる
686 :
デフォルトの名無しさん :2013/02/23(土) 21:52:47.60
よう分からんけど <span>([a-z])</span> <span>$($1.toupper())</span> の方がいいんでない?
1文字ならそうだけど、文字数が4文字だったら?
単純に検索パターンが <span>([a-z]{4})</span> とかになるだけなんでは?
まぁ方法はどうあれ、現状では
>>683 の置換をツール上の正規表現で行うには26行も必要なわけで。
それを1行で書けるようにすれば便利じゃねって話。
小文字から大文字に置換する ってとこに囚われてる人が多いな。 読解力無さ過ぎて呆れる。
>>690 ちなみにemacsならこう
\(<span>\)\([a-z]\)\(</span>\)
\,(concat \1 (upcase \2) \3)
プログラミング用のエディタ探せば多分他にもある
だからさぁ、話の筋を理解しようよ。emacsでそれが出来たって何の意味もないでしょ。
どういう筋だ?
>>683 >>682 は理解してるのに何でそんなことしちゃったの?
正規表現と置換は密接な関係にあるけど異なるものだと理解してほしいものです。
それを正規表現で行いたいという気持ちはわからんでもないけど、
できるとしてもマッチグループに属性をつけることで後方参照時に何らかのフィルタがかかることを定義する
どまりじゃないかなぁ
とはいってもそんなもの重くなるだけで、置換側の仕事だろってのはわかってるよとあわてて連レスフォロー。
なんつーかロクに人の話も聞かないで突っ走っちゃう人だなw もう疲れたから寝るよ。
プログラマってそういうやつばっかだし気にしてもしょうがないだろ とりあえず一緒に寝ようず
699 :
デフォルトの名無しさん :2013/02/24(日) 01:06:32.85
アッー!
>>697 話が具体的すぎたかもしれないね。お休み。って、もう朝だわ
●正規表現の使用環境 VBscript ●検索か置換か? 検索 ●説明 HTMLソースのタグを除去して抽出した文字列X,Yについて X,Y間のHTMLソースの文字列A,Bの有無 ●対象データ *************X***********A********Y*********** *************X***********B********Y*********** 単純に文字列A,Bを検索してもいいのですが、以下のパターンがあるので X,Y間を指定しなければなりません *************X***********A********Y*****B***** *************X***********B********Y*****A***** *はHTMLソース X-A間、A-Y間の文字数は任意 今はソース全体から文字列X,Y間を切り出して、検索しています 切り出す作業を減らせるのでは考えました
検索はA,Bそれぞれで検索(検索回数2回)になっても構いません
705 :
677 :2013/02/24(日) 17:25:18.75
>ツールで使う場合は変数を使えるようにするのが最重要課題だと思うわ。
この真意が正しく伝わって無かったようでスマソ。
『ツールで使う場合』とは、bregonig.dllのようなライブラリをツール(サクラエディタ等)で使用する場合のことを言ったつもりでした。
つまり、bregonig.dllのような外部ライブラリに
>>683 のような正規表現が標準で実装されると良いな、という意味です。
サクラエディタで
<span>sun</span> を <span>日曜日</span> に置換。
<span>mon</span> を <span>月曜日</span> に置換。
・・・
<span>sata</span> を <span>土曜日</span> に置換。
という7つの置換を正規表現を使った置換でやろうとすると7回の置換実行が必要ですが、
>>683 の記述が可能になれば
1回の実行で済むんです。perlやruby、マクロなどではプログラムのコード記述で補えるため、この機能は要りませんが、
外部ライブラリとして使われる場合には無いと不便な機能なんです。
これは
>>695 さんの言う通り、本来は正規表現の仕事ではありません。あくまで外部ライブラリに期待している機能です。
言葉足らずで申し訳ない。m()m
>>703 こういうことかい?
(A|B).*?(?=Y)
>>703 文字列A,文字列Bはタグを全体または部分的に含んでも構わないし、
タグそのものでも構わない。
という解釈でいいですか?
>>708 X,Yはいくつタグを跨いでも構わないということになるね。
ただし、文字列としてはタグを除去して認識される。
>>709 ということは
X=qaz, Y=vwx になるとして、 A = ab</tr>cd の時に
q<tr>az ab</tr>cd vwx は true
q<tr>az abcd vwx は fail
こういうことですね。
711 :
703 :2013/02/24(日) 19:17:41.66
>>706 A.*?(?=Y)、B.*?(?=Y) ともにできました
Xが条件に入っていないので不安なところもあります
>>707 A.*Yで検索はできましたが、X.*A、X.*?Aが不可となります。文字列中だから?
Xのみ、Yのみ、Aのみでは検索できています
>>708 具体的には <span calss="検索文字列A"> です
712 :
703 :2013/02/24(日) 19:21:54.50
正 <span class="検索文字列A">
>>711 上の話の続きであるとは全く思わなかったよ。
714 :
703 :2013/02/24(日) 19:50:41.27
XとAの間の何かの制御コードがジャマしているような \r、\nでいろいろやりました X*(.|\r\n)*Aでできました
715 :
デフォルトの名無しさん :2013/02/24(日) 20:02:51.75
馬鹿は大変だな
正規表現ってある限度を超えて複雑になるといきなり処理に膨大な時間がかかるようになったりとかあるの?
717 :
デフォルトの名無しさん :2013/02/24(日) 23:18:54.97
>>716 >ある限度を超えて複雑
ある限度って何?
複雑と判断する条件は?
>膨大な時間
何年をすぎたら膨大な時間?
お前みたいなゴミはプログラミングに向いてない
消えろ
>>716 20文字くらいの正規表現なのに異様に時間のかかるのを見たことある。
正規表現のアルゴリズムの弱点をツンツンしたやつ。
>>716 複雑さとは関係なく、対象データが大きくなるとコストでかくなったりするよ。
指数的に大きくなってるかどうかはわかんない
>>719 分からないならレスするな基地害
ブログにでも書いてろよ
その糞テクストを掲示板に投稿せずにはいられないほど自己顕示欲旺盛なの?
>>718 のって意外と知られてないよね、このスレに常駐してる人でも知ってる人は少ないだろう。
なんだこれ、RFCの人の気が狂っちゃったのかな
グロ注意
725 :
デフォルトの名無しさん :2013/02/25(月) 05:22:27.95
726 :
デフォルトの名無しさん :2013/02/25(月) 09:40:47.89
童貞にはちょっとハードすぎたか
失せろゴミ
729 :
デフォルトの名無しさん :2013/02/25(月) 11:23:44.29
>>722 よりもロリコンに中出ししてる画像のほうがグロだと思うけどね。
何でホモが出てくるんだ
ロリコンに中出しはグロとか以前に犯罪行為
ロリコン=ロリータコンプレックスをわずらっている男 ロリータ=幼女 じゃないの?w
以前ようかんマンで話題になった人は 先日死刑が執行されたようだ
735 :
デフォルトの名無しさん :2013/02/25(月) 13:55:16.13
グロ画像とロリコンとホモの好きなニートが平日昼間から集会を開くスレ
クソスレ化の一途を辿る
737 :
デフォルトの名無しさん :2013/02/25(月) 18:58:10.10
双方18歳以上で同意のうえならロリコンに中出ししても犯罪にならないのでは?
重い正規表現 検索 \A"(?:\\.|[^"\\]+)*"\z テキスト "aaaaaaaaaaaaaaaaaaaaaaaa bregonig.dllで動作確認。
739 :
デフォルトの名無しさん :2013/02/25(月) 20:27:54.73
>>738 はいはい、マシンスペックも測定結果も比較できる値も書けない脳弱乙
そんなゴミの「たいかんでおそかったですw」みたいな糞レスをここに書き込むな
脳弱はブログと2chの区別もつかないのか?
bregonig.dllって時点で低能Jane厨何だろうけどね
>>739 ゴミレスしてる暇があったら試してみろって。ゴミだから時間はたっぷりあるんだろ?わらわら
>>740 bregonig.dllからJaneを連想するか?これが2ch脳ってやつか。
>>739 測定結果や比較表があるとあなたは何をしてくれるの?
むしろ詳細を送りたいからコミュニティなり連絡先を教えてほしい
>>742 個人的なやりとりがしたいなら最初からどっかのコミュニティでどうぞ。
ベンチも好評する相手も中途半端。
>>738 みたいに根拠も示さずにマーケティングの結果云々って会議で言う奴いるよねw陰では氏ねばいいのにって言われてるのに本人気付かずwww
746 :
デフォルトの名無しさん :2013/02/25(月) 20:52:29.08
>>742 何もしねーよ
じゃあお前は何の目的があって書き込んだの?
ああ、自己顕示欲だけは旺盛なゴミだったか
>>744 いやあ、マシンスペックや測定結果がほしい人を「中途半端」だなんて、そんな持ち上げる必要ないよ。
まともな開発をしたことがないのは明々白々なんだから。
>>746 何もできないの間違いでしょう?日本語は正しく。
つか早く試してみろよ、明らかに遅いのが体感出来るぞ
>>741 本人じゃないやつは黙って貰えませんかね?
気持ちが悪いですよ
>>749 たぶん、通常どのくらいの速度であるかを知らないから、そういうもんだろって納得する
いや、そういうレベルじゃねぇ、フリーズしたのか?って思うほど重くなるぞ。
755 :
デフォルトの名無しさん :2013/02/25(月) 21:02:22.76
遅いとか重いとか体感でしか言えないゴミが大きい顔して何言ってんだ? こういうゴミがスレの質を低下させてるんだろうな
756 :
738 :2013/02/25(月) 21:04:36.24
俺は小学生のときからプログラムやってるプログラム歴14年だぞ だからベンチマークなんか取らなくてもわずかな速度の違いも認知できる
試したのかどうか知らんが、試した結果
>>756 のようなレスをしたんだったらやっぱり素質がない
>>755 おい、フリーズに近い状態になるのに計測とかしたって意味ないだろアフォ。
そもそも、このスレにプログラマいねーだろw
正規表現に詳しい奴すらいないけどなw詳しい奴なら
>>738 を見たらピンとくる。
まぁオートマトンって何?なレベルのカスの集まりに何を言っても分からんだろうが。わらわら
重いのは確かだけど4秒くらいで終わった フリーズってどんな環境だ
4秒も動かなかったらフリーズしたかって思うだろ?あの検索に4秒かかるって思わないだろ普通。馬鹿かおめえ。
ん?とは思うけどフリーズかと言われると……
ていうか普通にふくろう本に書いてあるだろ
重いのは確かって書いてるんだから4秒かかると思ってはいなかったのは明らかだろ。 頭に血が上りすぎだわ。煽り耐性ないのか コア1個4秒占有されたところでなんともなかろ。
そうそう、素直にそうやってあやまればいいんだよ。
検索1つに4秒も占有されんだぞ?大問題だろ?サーバだったらえらいことになるだぞ?分かってんのかこのチンピラが。
770 :
デフォルトの名無しさん :2013/02/25(月) 21:21:20.19
>747:デフォルトの名無しさん :2013/02/25(月) 20:53:01.08 [sage] >まともな開発をしたことがないのは明々白々なんだから。 >764:デフォルトの名無しさん :2013/02/25(月) 21:14:45.78 [sage] >4秒も動かなかったらフリーズしたかって思うだろ?あの検索に4秒かかるって思わないだろ普通。馬鹿かおめえ。 ぶふあああああああああぁぁぁぁぁぁぁぁぁぁぁぁwwwwwwwwwwwwwwwwwwwwwww まともに開発したことあったら予想外の挙動なんて腐るほど経験するのにwwwwwwww 4秒でフリーズ判断wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww ヴァカの思考回路SUGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEwwwwwwwwwwwwwwwwwwwwwwwwwwwww
フリーズって言うから1分くらいかかるのかと思ってたら 4秒で終わって拍子抜けだった でもこの程度で4秒かかるのは面白くはある
今度はマシンスペックも書かずに4秒の議論か。 このスレのレベルも本当に落ちたな。
774 :
デフォルトの名無しさん :2013/02/25(月) 21:24:25.61
>>722 ん?
その2人は同一人物じゃないと話が通じないか?
どゆこと? いみふ
犯人は20−30、もしくは40−60だ
777
>>774 typoが過ぎるので真意がわからないけど、その二人は別人。
うるさいゴミ
>>779 誰に命令してんだボンクラ
お前がベンチ結果貼れば済む話
ま さ に ク ソ ス レ
>>766 おま、察してやれよ、このスレにふくろう買えるお金と意味を理解する頭を持った奴なんていねえだろ?
弱い者いじめするなよ・・
お前らいつも
>>738 みたいなクソ正規表現書いてるんだろ
>>785 おまえがいつも作ってるのってあんなんだろ?
え?
>>738 が実用的な正規表現だと思ってる人がいるの?
じゃあ何をどう検索して どういう場合に使うのか説明してくれ
嫌だと言ったら?
何をやってるか理解できない正規表現をクソだとよく言えたもんだ。
煽るためには相応の知識が必要だという好例
何かは教えてやんないけど遅いからマネしちゃだめだぞ
で、なんで4秒もかかるの?
うんこスペックだから
796 :
デフォルトの名無しさん :2013/02/26(火) 03:48:25.87
スペック晒さないでよく煽れるな 馬鹿は無敵の好例w そりゃマシンが粗大ゴミでFAだろw
797 :
デフォルトの名無しさん :2013/02/26(火) 05:09:42.84
結局
>>738 は性器表現とか書いてる小学生と同じレベルだった。
>>538 のツールで処理時間を取ってみた。
\A"(?:\\.|[^"\\]+)*"\z の場合↓(3回計測)
[マッチ= No ] [検索=1589.758 ms] [置換=1592.005 ms] [ループ= 1 ] [文字数= 25 byte]
[マッチ= No ] [検索=1586.236 ms] [置換=1584.322 ms] [ループ= 1 ] [文字数= 25 byte]
[マッチ= No ] [検索=1588.603 ms] [置換=1601.471 ms] [ループ= 1 ] [文字数= 25 byte]
\A".*"\z に書き換えて計測↓(3回計測)
[マッチ= No ] [検索= 0.004 ms] [置換= 0.043 ms] [ループ= 1 ] [文字数= 25 byte]
[マッチ= No ] [検索= 0.004 ms] [置換= 0.042 ms] [ループ= 1 ] [文字数= 25 byte]
[マッチ= No ] [検索= 0.004 ms] [置換= 0.043 ms] [ループ= 1 ] [文字数= 25 byte]
前者は後者の40万倍の遅さ。
なるほど、ものによっては正規表現使うより単純にループさせた方が速いってことか。 もう正規表現(゚听)イラネ
>>798 便乗してすまんが
\A"(?:\\.|[^"\\])*"\z
も計測出来る?
できたらお願いします。
801 :
デフォルトの名無しさん :2013/02/26(火) 10:57:08.17
自分でベンチも取れないゴミはム板から出ていけ
>>799 正規表現エンジンの種類によるんだよ。
ふくろう本も読まずにイラネとか言うなカス。
803 :
デフォルトの名無しさん :2013/02/26(火) 15:13:26.15
>>802 は4秒もかかるゴミエンジンを使用しています
804 :
デフォルトの名無しさん :2013/02/26(火) 15:22:20.35
性器と生殖器って違うの?
>>804 雄蕊は生殖器だが普通、性器とは言わない。
>>800 なんでツールまであるのに自分でやらないの?
ツールにコピペしてボタン押すだけでしょ?
808 :
デフォルトの名無しさん :2013/02/27(水) 05:12:19.09
お前の頭に生えているのはケツ毛だ、頭髪ではない。 頭に頭髪がない → ハゲ つまり頭にケツ毛しか生えていないお前はハゲだということだ。
regular expression Rex で良かったな standard expression だったら目も当てられん
>>776 31−39は犯人じゃないのは確実なのね
811 :
デフォルトの名無しさん :2013/02/27(水) 17:04:54.27
お前の頭に生えているのはケツ毛だ、頭髪ではない。 頭に頭髪がない → ハゲ つまり頭にケツ毛しか生えていないお前はハゲだということだ。
812 :
デフォルトの名無しさん :2013/03/02(土) 00:51:03.92
性器表現
╰⋃╯
814 :
デフォルトの名無しさん :2013/03/02(土) 03:06:01.52
まんこー
815 :
デフォルトの名無しさん :2013/03/02(土) 13:33:57.60
>>812 問題:女性器と男性器の結合を正規表現で表せ。
配点は50点とする。
816 :
デフォルトの名無しさん :2013/03/02(土) 19:37:37.76
(())
◎ ∩
性器の大発見
819 :
デフォルトの名無しさん :2013/03/03(日) 12:50:25.98
荒らしのドメインは性器ょう.net
820 :
デフォルトの名無しさん :2013/03/04(月) 15:43:42.31
政府からの女性器ん
このスレ電車の中で開くの恥ずかしいんだが ネタスレならネタスレと最初に書いとけよ
「Regular Expression」を「正規表現」なんて和訳した奴が悪い これなら「規則性表現」とかの方がマシ
性表現の規則か。。バリエーションが減っちゃうのは残念だな
>>822 全くだ。
俺のIT人生で、これだけ違和感の強い訳語はない。
考えた香具師に小一時間問い詰めたい。
せめて正則とできなかったものかねー 正規だとnormalだよなあ
826 :
デフォルトの名無しさん :2013/03/05(火) 00:09:30.17
でもこういう文化・・・文化じゃないけど言葉って誰かが変えなきゃ変わらないよ 俺たちで変えよう まずはスレタイとテンプレート、それに回答者から変えていこう どう変えるかって? 回帰するのさ ライブラリ、プログラム、スクリプト、パターンマッチング・・・全て和訳なんかせずにそのままだ そう、「レギュラーエクスプレッション」でいこう
827 :
デフォルトの名無しさん :2013/03/05(火) 00:11:48.53
次のスレタイは レギュラーエクスプレッション(正規表現) Part11 だ、そして次は レギュラーエクスプレッション Part12 にする
828 :
テンプレ :2013/03/05(火) 00:13:11.14
スルーされにくい質問のテンプレと例 ●レギュラーエクスプレッションの使用環境 Java1.5 ●検索か置換か? 検索 ●説明 各行の1番目のAまでを検索したい ●対象データ ABCA BCAA CABA ●希望する結果 ABCA ^ BCAA ^^^ CABA ^^ ※ ^ はアンダーラインだそうな ^^;
>>828 >※ ^ はアンダーラインだそうな ^^;
最後の顔文字のせいでアンダーラインが顔にしか見えなくなったぞw
拡張検索 とかのほうが直感的だよねw カタカナならマッチングランゲージとか? これ以外にも妥当なのが色々あると思うけどね。
レギュラーエクスプレッションでいいよ 下手に違う単語持ってくると面倒
長いからレギエクで
どうでもいいよ。次スレは普通に正規表現 part11になるだろうし。
ならないよ 「正規表現」で建てたほうは潰すから
和訳しないなら普通に英語でよくね。カタカナ長ったらしい
スレタイとテンプレは変えられても、関連サイトの名前はどうしようもないな。 関連サイトやページの名前に含まれてる「正規表現」は固有名詞としての性質だしな。 そこは諦めなきゃならないと思う。
837 :
デフォルトの名無しさん :2013/03/05(火) 14:33:14.01
わざわざオリジナルの略語を作らなくても Regex(レジェックス)という略語があるだろ
symbolic expression -> S式 regular expression -> R式
おまいら正規化や正規雇用でもおっきすんの?
>>834 じゃあレギュラーなんとかスレはおまえの隔離スレってことで。
そして正規表現スレは性器厨と性器AA厨の隔離スレになるのであった。
何だかんだで性器表現キチガイと
>>840 が隔離されるんだろうなw
まぁ仲良くやれやw
未だに根拠のない自演認定して草生やしてる馬鹿発見。
俄然盛り上がってきたなあ
―┼‐ ノ / | --ヒ_/ / \ヽヽ ー―''7 `」 ┼, 二Z二 レ / /´レ' \ ―7 ̄} | ー-、 / (__ (|フ) (__ノ _ノ ∨` ノ / / _ノ \_ ─┼- / | ‐┼- | ー|― ─┼─ | \ レ /  ̄Tー / ノ -─ (二フヽ \/ _ノ (二フ\ ヽ_ノ / 、__ i';i /__Y ||真|| /⌒彡 _ ||露|| /⌒\ /冫、 ) ・・・・・・。 \ || || ̄ ̄ ̄ ̄ ̄ ̄ ̄\ `./⌒ i ` /ゝ _,,..,,,,_ ||\`~~´ (キムチ) \( > ('\\ ./ ,' 3 `ヽーっ ・・・・・・。 ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄\`つ ⌒ _) l ⊃ ⌒_つ .|| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|| `'ー---‐ ( 'A) ・・・。 〃∩ ∧_∧ <⌒/ヽ___ /(ヘ)ヘ ⊂⌒( ・ω・) ・・・。 <_/____/ zzzz・・・ `ヽ_っ⌒/⌒c
性器厨が必死の抵抗
スレタイやスレナイで使われてるのが「正規表現」じゃないと「性器表現」とか書きにくいもんなw
regular coffee 普通のコーヒー regular holiday 定休日 regular client 常連 regular army 正規軍 regular lesson 正規の授業 辞典調べてみたけどregularって割りと使うんだね。
おまえらは補欠なのにな。
「正規」ってーと「正式な」とか「正しい」ってイメージなんだよな。 だから「正規雇用」だと「正式な雇用」っ感じで感覚的にも落ち着くんだよな。 だけど、「正式な表現」だと、ニュアンス変わってきちゃうし、 「正しい表現」も何か違うんだよな。 そうすると違和感から余計なことを考えてしまうんだよ。
有理数、無理数 無理な数?
「ことわり(理)のない(無)かず(数)」ですな。
856 :
デフォルトの名無しさん :2013/03/06(水) 07:04:31.31
>>853 正しく規則的である、と受け入れてしまえば何てことはない。
・正しい規則 ・規則正しい これが同じだと思える知能って・・
あ、「ただしく」でなくて「まさしく」ね。 これぞまさしくほうそくにのっとったやりかたである、みたいなね。
訳なんかするからだろ プログラムもライブラリもみんなそのまま使ってるんだからレジェックスのままでいいんだよ レジェックスを正規表現と訳すのは、ライブラリを図書館と訳すのと同じ愚行
860 :
デフォルトの名無しさん :2013/03/06(水) 09:43:15.05
ネイサン「きいてくれよリンディ、僕が昨日コンパイルしたソフトウェアが起動しないんだ」 リンディ「まあそれは大変ねネイサン、エラーは何て出たの?」 ネイサン「ああ、"図書館が見つかりません"って出たんだ、僕には何が何やら・・・」 リンディ「あなたのソフトウェアで使う全ての図書館はソフトウェアから見える位置にあるのかしら?」 ネイサン「ちょっと待ってくれよ、図書館・・・図書館・・・ああ!なんてことだ!一つの図書館が他のディレクトリに入っているよ」 リンディ「図書館の問題は解決したわねネイサン、よかったわ」 ネイサン「ああ、君のお陰だよ、感謝するよリンディ」
>>859 図書館は良いだろ
他になんて言うんだよ
街中にあるライブラリを図書館と訳すのはいいけど プログラムの分野におけるライブラリを図書館と訳すのはおかしい 同様にレギュラーエクスペクションを正規表現と訳すのはおかしい
>>861 正規表現ライブラリを訳して正規表現図書館にする馬鹿か?
こういう意味って分からない知能なのね。
>>863 が議論に参加できてない。
もうちょっと優しくしてやってくれ。
865 :
デフォルトの名無しさん :2013/03/06(水) 10:01:43.62
>>863 そういう話してないだろ?いいからケツの力抜けよ
もうレギュラーエクスペクションでいいよ
>いいからケツの力抜けよ 漏れちゃう!><
868 :
デフォルトの名無しさん :2013/03/06(水) 10:10:08.52
>>867 大丈夫だ、漏れる前に入っていくから問題ない
アナルって気持ちいいの?
気持ちいいよ。 一度味わったら抜け出せない。 いわゆる女の犯されるって感覚。
あーなるほど
872 :
デフォルトの名無しさん :2013/03/06(水) 10:50:04.73
アナルは性器に含まれますか?
モザイクがかからないから違う
俺以外変態しかいないのかこのスレは
秘密変態アナレンジャー
>>874 一回アナルやってみろって
男にハメられるのが嫌なら上王様にペニバンでやってもらえ
アーカイブってなに? 「図書館みたいなものだ」
スレチだけど、 オブジェクト指向絡みの単語を和訳しなかった時点で、 日本の情報産業は終わったと思うわ。 訳は微妙だとしても正規表現(正則表現)はまだマシ。
物至上主義
>>878 KnuthのThe Art of Computer Programmingの旧翻訳版を読んでみて、それでも同じことが言えるかなw
〉:::::::::ノ ゝ:::::::::ノ ゝ:::::::::イ 「`ヽ′`}´ ` ´ イ V--、 }::::, ::ヘ /:/ :,:::/ ゞ:{ Vヘ、 / / |/ 「::{::) \::〉 〈::/ () |フ `{ j }r‐ 、 ,′ ハ{ ハ \ /イ / | ‘, ヽ ヽ // : ハ | '. }、 ! j {ィ ‖ } / い〉{ | 〈ノ.:,′/ 呼んだ? .′ ヽ J{ { {/ / ,ハ . ィ / ‘, ´ ------ ` / }\ / .{ ‘,/ ヽ / } 丶 / } / 、 | , ‘, j \ ´ { ゝ __|__,ノ } '. / 、 ―‐ ´{ ゝ-- ,ノ / } ` ..,,______,,... ´ / .′ \ / / /
>>880 読んだことないから知らないんだけど、
オブジェクトやメッセージってなんて和訳されてるの?
あまりにひどい和訳で、しかも誰も、より良い言い換えができなかったから、
現状の和訳の放棄に至ってるんだと思うけど…。
もうJISにはいってたら、翻訳者は、訳語を創造できない
あなるのいいところは射精と違ってイッてもイッても醒めないところだな。 連続でイかされると体のコントロールが利かなくなって半狂乱になるよ。 AVでよくAV嬢が半狂乱になってる演技してるけど、まさにあの状態になる。 失禁したりもするけどもう恥ずかしいとかそれどころじゃない。 本気で気がふれそうになる。
885 :
デフォルトの名無しさん :2013/03/06(水) 18:18:35.64
アヘアヘアヘ
安定のくだらなさw
アナフィラキシー
8 8 8
>>885 アヘアへどころじゃないぞ。
全身の筋肉に限界まで力が入って、勝手に体が悶える。
喘ぎ声というより呻き声が出る。
唾液を飲み込むこともできなくなる。
コントロール利かないから逃げることもできない。
>>851 なるほど、「regular lesson」ってのは「性器のレッスン」って意味になるのか…(*´д`*)ハァハァ
>>891 正規表現厨のふりしたレギュラーエクスプレッション厨はさっさと失せろ
>>884 >>889 あなた本気で言っているみたいだから忠告するけど(スレ違い御免)、過度の肉体的快感を繰り返し経験すると、廃人になりかねないよ。
脳の快感物質が過度に放出されると、反動で快感物質のレセプターが破壊されるから、日常的には相対的に不幸な状態になる。
AV女優についてはあながち演技ではなく、自殺したり不幸になる人が少なくないのがそれを物語っている。
しゃぶしゃぶ脳ですねわかります
>>893 昼間なんかだるいのとか常に眠いのって関係ある?
こんな時間に起きてたら昼間眠たくなっても不思議じゃない。
ギャフン!
898 :
デフォルトの名無しさん :2013/03/07(木) 12:10:22.90
アニキとやったら30分くらい経ってから精子が漏れてきたりするから困る 30分くらいでは締まりも戻りきってないから帰りの電車の中で染み出してきたりするとマジで困る
たまに座席に染みをつけてるのはお前か。
いくら気持ちよくても角刈りガチムチ黒光りの兄貴に掘られるのはゴメンだ
902 :
デフォルトの名無しさん :2013/03/07(木) 15:45:28.44
じゃあ猫耳カチューシャとしっぽ付けた20歳で身長154cmの萌え声眼鏡っ子お姉さんにペニバンで掘ってもらえばいいだろうが。 ペニバンなら太さも長さも形状も自由自在、兄貴のよりはるかに太くてイボのついたペニバン着けてもらってそのお姉さんのねっとりした腰の動きで鳴かせてもらえ。
春休みなんだな
春休みはホモが湧くのか…
春だからな
ホモが湧く→春休み どういうwwwwwwwwwwwwww
徒党を組んで荒らしてるよな。 ホント、1レスいくらで荒らしてんじゃないかと。
ホモじゃなくてアナルだと思うんですが・・・
あのな、アナルなんてやったらチンコ抜いた時に猛烈なウンコ臭がして普通は2度とやらなくなるんだよ。 たまに事前の浣腸がうまくいかなくてチンコがウンコまみれになることもあるし。 そういうのを何度か経験して最早それが平然というかそれによって逆に興奮するぐらいにならないと楽しめないよ。
YYYYMMDD-99 というのを判定する場合は下記で大丈夫でしょうか? ^[0-9]{8}[\-][0-9]{2}$
やってみろよ
914 :
デフォルトの名無しさん :2013/03/07(木) 21:31:49.08
>>912 なんでやらずにきくの?
やったほうがはるかに早いと思うけど
馬鹿なの?
^
>>YYYY
(19|20)
\d{2}
>>MM
(
0[1-9]
|1[0-2]
)
>>DD
(
0[1-9]
|[12]\d
|3[01]
)
>>-
-
>>99 \d{2}
$
919 :
デフォルトの名無しさん :2013/03/07(木) 23:32:49.99
>>918 コードコピペの基地害は消えろ
お前みたいな基地害がスレの質を低下させてんだ自覚しろ
>>918 はスレ潰すためにやってんのにそんなこと言われましてもwwwwwwww
>>918 ^(
(20(1[0-3]|0[0-9])|19[0-9]{2})(1[0-2]|0[0-9])
((0[1-9]|1[0-2])(0[1-9]|1[0-9]|2[0-8])|(0[13-9]|1[0-2])(29|30)|(0[13578]|1[02])31)
|
(19(0[48]|[2468][048]|[13579][26])|20(12|0[048]))0229
)
-[0-9]{2}$
↓さぁコード乞食のゴミが他人に丸投げしたお礼を書き込みます、みんなで哀れみましょうw
このスレ普通だとつまんねーな
924 :
1/2 :2013/03/08(金) 01:56:23.84
正規表現を作ってください。言語はPHPです。 りんご 150円 3個で 400円 (値引き 50円) 5個で 500円 (値引き 250円) 上記の「金額部分」を 文字列 $ringo = '150/400/50/500/250' ;// 「/」による区切り または 変数 $ringo_1 = '150'、$ringo_3 = '400'、$nebiki_3 = '50'、$ringo_5 = '500'、$nebiki_5 = '250' または 配列 $ringo[0] = '150'、$ringo[1] = '400'、$ringo[2] = '50'、$ringo[3] = '500'、$ringo[5] = '250' のように代入される正規表現を作ってください。
925 :
2/2 :2013/03/08(金) 01:57:23.63
●補足 常に 「りんご1個の価格 → りんご3個の価格 → りんご3個の値引き金額 → りんご5個の価格 → りんご5個の値引き金額」 という流れです。 歯抜けになる場合も対応可能な式でお願いします。 金額設定が無い部分は空で残るようにお願いします。 ■例) りんご3個が抜ける場合。 りんご 150円 5個で 500円 (値引き 250円) ●希望する結果 文字列 $ringo = '150///500/250' ; または 変数 $ringo_1 = '150'、$ringo_3 = ''、$nebiki_3 = ''、$ringo_5 = '500'、$nebiki_5 = '250' または 配列 $ringo[0] = '150'、$ringo[1] = ''、$ringo[2] = ''、$ringo[3] = '500'、$ringo[5] = '250' ■例) 値引きが無い場合。 りんご 150円 3個で 450円 5個で 750円 ●希望する結果 文字列 $ringo = '150/450//500/' ; または 変数 $ringo_1 = '150'、$ringo_3 = '450'、$nebiki_3 = ''、$ringo_5 = '750'、$nebiki_5 = '' または 配列 $ringo[0] = '150'、$ringo[1] = '450'、$ringo[2] = ''、$ringo[3] = '750'、$ringo[5] = ''
重要なことを書き忘れ。 検索前の文字列は "りんご 150円 3個で 400円 (値引き 50円) 5個で 500円 (値引き 250円) (値引き 0円)(値引き 50円)(値引き 100円)(値引き 200円)" と、文字列後半に無駄に関係のない「(値引き xx円)」という文字列がくっついています。 ですから上手く必要な金額だけを抽出できないので質問させていただきました。 よろしくお願いします。 m(_ _)m
928 :
デフォルトの名無しさん :2013/03/08(金) 02:15:24.77
>>927 誰も回答しないから重要じゃないよ。
早くプロバイダ解約してね。
そうだ! みんなで浣腸だ! 深夜の浣腸パーティー!
931 :
デフォルトの名無しさん :2013/03/08(金) 02:48:13.25
>>927 > と、文字列後半に無駄に関係のない「(値引き xx円)」という文字列がくっついています。
それを先に削除してしまえばいい。
>>924 /⌒ヽ⌒ヽ
Y
八 ヽ
( __//. ヽ,, ,)
丶1 八. !/
ζ, 八. j
i 丿 、 j
,. -‐=≦=| 八 |=≧=‐- 、
/´ ! i 、 `ヽ
.,v─ーv_ .{:::.: ,:. i し " i ' .:、 :.:::}
..,i(厂 _,,,从vy |::.:.: l::. ノ ( i i .::l . :.:.::|
..l ,zll^゛″ ゛ミ ∧:.:... i::, '~ヽ ! .::i ...:.:∧
..《 il|′ フーv,_ !: :ヽ:. ::. . ..:. ,. | i .l .、.:.. . .:: .:ノ: :! _( "''''''::::.
\《 ヽ .゛li ._¨''ーv,,_ { ノ| ! || ヽ } __ ____,,,... --‐'''^~ ヽ ゛゛:ヽ
\ ,゛r_ lア' .゛⌒>-vzトヽ / }.| │ | { \ ノ⌒:::....:"""" ・ ・ . \::. 丿
゛'=ミ:┐ .「 ./ .^〃 ,i| | | | i、 ::::::::::::::::::: ・ ....:::::::彡''ヘ::::/
゛\ア' .-- ,,ノ| ノ| | | | ヽ :::::::::::::::::::::::::::::;;;;;,, ---‐'' "^
>>924 ゛^ー、,,,¨ - ''¨.─ / | ! | |  ̄ ―-‐‐ ''^~
^ー-v、,,,_,:_____/ ,;-‐'′ `'‐-;,
/ \
/ ノ;; ,.‐ ;;-.;i \
,/ ,;-/;;; /' '' ;;;X;, ヽ
i' /_,,;-‐'' |;; ;i;;.. 〜 ;;| ''‐-;,,_\_ 'i
i `i X〜 ;i;;; ;;,. ;;;/ i' i
| | ヽ;;__\_;;/ | |
| ,! .l、 |
| { } .|
ノ i i {
c_'____) (___'_っ
934 :
デフォルトの名無しさん :2013/03/08(金) 02:51:49.62
>>931 お前みたいに自己顕示欲の強い馬鹿がコミュニティを駄目にするんだろうな。
計画的なのか本物の馬鹿なのか分からんが。
確実に本物の馬鹿だよ。自分で言うのだから間違いない。
>>931 先に無駄な部分を先に削除と ....φ( . . ) メモメモ
無駄な部分を削除して
>>924-925 の例えのような行に整形されました。
ここから金額部分を文字列や変数や配列に代入する方法を教えて下さい。
mb_ereg_replace を使って 1行の正規表現の式で間に合わすのは可能でしょうか?
お前に浣腸してやりたい気分だ
この板はプログラムを作る人たちのための板であって 馬鹿質問に答えるだけの知恵袋板ではない
丸かじり一つ入りましたー
941 :
デフォルトの名無しさん :2013/03/08(金) 12:48:43.29
>>936 普通の人には可能でも
キチガイのお前には無理
今、「一応可能なんだ!」って思っただろ
キチガイのお前には無理
>>936 顔文字とかつけてアホな質問してんじゃねーぞ池沼
アホな質問に回答する奴も程度が低いってことを理解しとけよ馬鹿雑魚童貞
>>936 そこまでずらずらと書いて自分で考えることは他人任せって
お前ほんとに日本人の頭?
>>936 こういうバカげた質問にも答えるバカが居るから
ヤフー知恵袋感覚で気軽にでも質問すれば解決すると思ってレス乞食の馬鹿質問者がわんさか出てくる
で、ひとつのコミュニティが糞化していくんだよな
PHPスレはがんばらなくていいのかな
>>939 ありがとうございます!
すごい正規表現だなぁ・・・・。1行でできている点も希望通りで大満足しています。
作っていただいた正規表現は今回だけにとどまらず、ずっと先まで応用していくつもりです。
また正規表現の部分だけでなく、全体の作りも普段自分が作るものと違っており、
こちらもすごく興味深く勉強になります。
作っていただいたスクリプトを見て、美しいものを見ていると同じ気分を感じています。
週末は作っていただいたスクリプトを題材にして勉強会を開きます。
今後作る自作PHPスクリプトの幅が大きく広がると同時に高度なものになるような気がして
わくわくしています。
2ちゃんねるではたまに優れた人をみかけますが、このスレに優れた人がいた。
本当にありがとうございました。
う ん こ
ほめ殺しに挑戦してみたのかな
951 :
デフォルトの名無しさん :2013/03/08(金) 21:43:17.49
>今後作る自作PHPスクリプトの幅が大きく広がると同時に高度なものになるような気がして お前みたいな糞質問してる奴の天井はすでに見えてるけど 本気で書いてないよな?
回答のスクリプトは柔軟性を持たせていつまでも価値を失わない構造になっています。 それがすごいなと。本当にすごい。 荒れるといけませんのでスレを離れます。 お世話になりました。失礼致します。m(_ _)m
うわーこいつきもいよー 確実にきもいよー
せやな
こいつをうちで時間給で働かせるとしたら、給料は半分しか払いたくないな
957 :
デフォルトの名無しさん :2013/03/09(土) 16:37:04.74
文字列による性器表現で特に卑猥なものは何がありますでしょうか? 先週官能小説を書き始めたばかりの初心者ですがご教示お願い致します
蜜壺
おちんちんびろーん
男根
961 :
デフォルトの名無しさん :2013/03/09(土) 16:49:14.72
女の花弁
秘唇
ヒクヒクと息づくアワビ
964 :
デフォルトの名無しさん :2013/03/09(土) 17:36:38.40
あっぐぅ〜〜〜!!!! イグゥ〜!!!! アへ・・・・・
965 :
デフォルトの名無しさん :2013/03/09(土) 18:19:35.13
マン穴
966 :
デフォルトの名無しさん :2013/03/09(土) 18:45:58.00
マンホール
オナホ
淫液を溢れさせる肉唇
赤いびらびら
s/./淫/g
お前ら全員壇蜜にしてやる
してくれ!
973 :
デフォルトの名無しさん :2013/03/10(日) 09:51:17.83
どす黒いびらびら
974 :
デフォルトの名無しさん :2013/03/10(日) 16:32:21.34
マン肉
女肉
977 :
デフォルトの名無しさん :2013/03/10(日) 23:42:37.74
下のお口
ちんぽ吸い付き
ンギモッヂイイ!!
ヤリマン
性器で埋めとくわ
982 :
デフォルトの名無しさん :2013/03/11(月) 09:00:43.34
まあなんていやらしいスレッド
くぱぁ
984 :
デフォルトの名無しさん :2013/03/11(月) 10:39:46.57
あんあんいくー
ぷるるん
おっぱいは性器ではない
987 :
デフォルトの名無しさん :2013/03/11(月) 17:05:00.54
コーマン機動隊
うめ
うめぼし
() *
性的割れ目噴火
うめ
うめぼし
うめぼしババア
見て肛門
入れて肛門
腕入れて肛門
肛門JAPAN!
百万本のバラのアナル〜 あなたにあなたにあなたに見せる〜
NO ANAL, NO LIFE
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。