- 1 名前:nobodyさん [2007/01/11(木) 02:40:43 ID:uW7xEbZY]
- 【正規表現道場の掟】
・言語不問 ・質問も大歓迎。使用言語を書くのを忘れずに。 正規表現と関係ない話・質問は他スレへどうぞ。
- 697 名前:nobodyさん mailto:sage [2011/01/19(水) 21:48:50 ID:???]
- >>690でe修飾子と言っているのに
- 698 名前:nobodyさん [2011/01/19(水) 23:40:21 ID:zqG6AlFK]
- 抽象的な質問で申し訳ないんですが、本の話が出たのでついでに伺いたいんですが。
今まで表計算ソフトやデータベースソフトなど普通に習得し、 更に興味が出てきたのでMySQLとPHPを使ってプログラミングしたり、 apacheやPostFixなども何とか使えるようになり、何となく分かってきた感じがしてるのですが、 正規表現に関しては、未だに「どうにか使っているけど、理解は出来ていない感じ」がします。 とりあえずやってみて、だめで違う手を試してみたりして.... まるで別種類な考え方が必要な気がします。 なので質問なのですが、正規表現を理解するのに一番良い本とか、 正規表現について「目から鱗が落ちた!!一皮むけた!!理解が深まった」 って思えるような本とかあったら、紹介いただけないでしょうか?? それとも忍耐強く、失敗しては考える繰り返しでなければ、習得できない物なのでしょうか?? 当方今年で三十路なので、頭が固くなってきてるのかもしれませんが、いまいち頭にしみ込みにくくなってるような気がしてます。 もしよろしければお教え願います。
- 699 名前:nobodyさん mailto:sage [2011/01/20(木) 00:05:42 ID:???]
- >>698
何となく分かった気になっている時は何も分かってないからもっと簡単なのからやれ
- 700 名前:693 [2011/01/20(木) 01:01:52 ID:973KUxXQ]
- >>695
ありがとうございます。 基礎から勉強したいので、買います。
- 701 名前:nobodyさん mailto:sage [2011/01/20(木) 13:16:18 ID:???]
- 正規表現のスレ (プログラム板や UNIX 板にもある) のログを見て、
質問のお題を片っ端から解いていくと、結構良い練習になると思う。
- 702 名前:nobodyさん [2011/01/20(木) 23:13:37 ID:LxK6uyro]
- 次の正規表現でhogeフォルダ以下の最後の「/」の後に「i/」が挟まるようにURLを変換しております。
RewriteRule ^/hoge(.*)/(.*).html$ example.com/hoge/$1/i/$2.html [L] 下記のような場合は問題ないのですが example.com/hoge → example.com/hoge/i/ example.com/hoge/saitama/2011/01/index.html → example.com/hoge/saitama/2011/01/i/index.html ↓のようにhogeで始まるディレクトリまでも変換されてしまいます。 example.com/hogehoge/kankeinai.html hogeフォルダ配下のみ変換されるようにするには、どうしたらいいでしょうか? 環境は CentOS5 Apache2
- 703 名前:nobodyさん mailto:sage [2011/01/21(金) 00:15:43 ID:???]
- /hoge/(.*)〜にすればいいじゃん
- 704 名前:nobodyさん mailto:sage [2011/01/21(金) 18:26:53 ID:???]
- >>698
頭の良い人だとまた違うのかもしれないけど、 我々のような凡人は繰り返しやって経験値を積むしかないかなあ、って気がする。 で、何か読んで一つ山を越えたいなら、現状ではオライリー本の一択しか無いと思う。
- 705 名前:nobodyさん mailto:sage [2011/02/10(木) 13:57:44 ID:???]
- 対象の文字列にハングル文字が含まれるかどうかを判断したいのですが
よい方法が思い浮かびません。 javascriptです。
- 706 名前:nobodyさん [2011/02/27(日) 08:37:54.94 ID:GexZY7hJ]
- 1. preg_match('/[\(]{2}?(.*?)\:(.*?)[\)]{2}?/', $text, $match)
この変換を変数展開で実行したいのですが、 正規表現で使える記号の変数展開のやりかたを教えてください。 2.$exprString = '/[\(]{2}?(.*?)\:(.*?)[\)]{2}?/'; preg_match("/$exprString/", $text, $match); これだとうまく行きません。
- 707 名前:nobodyさん mailto:sage [2011/02/27(日) 09:01:28.34 ID:???]
- "/$exprString/"を展開したら"//[\(]{2}?(.*?)\:(.*?)[\)]{2}?//"になるぜ?
- 708 名前:706 mailto:sage [2011/02/27(日) 09:23:38.46 ID:???]
- >>707
解決しました。全く気がつかずに悩んでました。ありがとうございます。
- 709 名前:nobodyさん [2011/02/27(日) 16:36:06.93 ID:KOnmSusx]
- 反復学習ソフト付き 正規表現書き方ドリル
やりました。 非常に勉強になりました。楽しかったし、なんかパズルをといている みたいで、ただ残念ながらソフトはうごきませんでした。
- 710 名前:nobodyさん [2011/03/03(木) 19:14:51.88 ID:v/2VFVai]
- 以下はqdmail_receiver.phpというメール受信のプログラムの一部で、
添付ファイルのファイル名を取得している部分になります。 しかし、ファイル名に半角スペースがあると、半角スペースで文字列が切れてしまう という現象があります。 半角スペースで途切れないようにするのはどのようにすればよいのでしょうか? preg_match('/name\s*=\s*"?([^"\s\r\n]+)"?\r?\n?/is',$header['content-type'] , $matches ) よろしくお願いします。
- 711 名前:nobodyさん mailto:sage [2011/03/03(木) 20:18:10.39 ID:???]
- [^"\s\r\n]+
"でもスペースでも改行でもない文字が続く限り〜 って自分で書いてるやん
- 712 名前:nobodyさん mailto:sage [2011/03/04(金) 10:24:26.15 ID:???]
- ここで聞いてるくらいだから [^"\r\n]+ こう書き換えれって教えないと
- 713 名前:710 [2011/03/04(金) 13:32:58.16 ID:8WvXj1g+]
- >>712
ありがとうございます。 うまくいきました。 <(_ _)>
- 714 名前:712 mailto:sage [2011/03/04(金) 16:50:29.72 ID:???]
- うまくいったならいいけど、ファイル名抜き出し部分の後続がすべて?だから
もし"で囲まれてないのが来たらアウトだけどな /name=(?:"([^"\r\n]+)"|([^\s\r\n]+))/i でマッチさせて if (empty($matches[1])) $matches[1] = $matches[2]; みたいにしたほうが手堅いかもな
- 715 名前:nobodyさん mailto:sage [2011/03/06(日) 18:00:58.46 ID:???]
- 【言語】PHP5.3
【OS】XP 自前のBBSをもっていますが、最近、レス番号にリンクをつけたく思い、「>>1」のようなレスをpreg_matchでリンクタグ生成しようと試みました。 preg_match('/>>[0-9]+/',$text,$link); preg_replace('/>>[0-9]+/','<a href="#">'.$link[$n].'</a>',$text); この関数では最初にマッチするレスしか変換できませんでした。 何かよい案がありましたらお願いします。
- 716 名前:nobodyさん mailto:sage [2011/03/08(火) 00:32:23.62 ID:???]
- preg_match_all 使えば?
- 717 名前:nobodyさん [2011/06/04(土) 18:19:07.23 ID:GeFi3irL]
- <html>......<div class="list">画像リスト<br>1枚目<br><img src="example.com/aaa.jpg"><br>
2枚目<br><img src="example.com/bbb.jpg"><br> 3枚目<br><img src="example.com/ccc.jpg"><br>もっと見る<br></div>........</html> これで<div class="list">と</div>の間のアドレスだけ抜き出すのってどうやりますか? ........の中にも画像アドレスがあります。そっちはマッチさせないようにしたい。 preg_match_all("/list\".+?src=\"(.+)\".+</div>/", $html, $m);
- 718 名前:nobodyさん mailto:sage [2011/06/04(土) 19:29:38.67 ID:???]
- 2段階に分けるべし
- 719 名前:nobodyさん mailto:sage [2011/06/04(土) 19:32:39.30 ID:???]
- >>717
なんでそれを正規表現でやろうとするのかがわからん。視野狭窄か。
- 720 名前:nobodyさん mailto:sage [2011/06/04(土) 22:11:24.15 ID:???]
- >>717
php.net/manual/ja/function.preg-replace-callback.php
- 721 名前: 忍法帖【Lv=4,xxxP】 mailto:sage [2011/06/04(土) 22:38:07.91 ID:???]
- 質問者が言語を指定していない時点でお察し下さいレベル。
- 722 名前:nobodyさん mailto:sage [2011/06/04(土) 23:04:45.68 ID:???]
- preg_match_all は PHP の関数
- 723 名前:nobodyさん [2011/06/05(日) 14:02:49.98 ID:uEzVCQDA]
- >>717
正規表現一発でできそうな気がするんですが、無理ですか? 固定単語--- この中を検索 ---固定単語 こんな場面てよくあるような
- 724 名前:nobodyさん mailto:sage [2011/06/06(月) 08:01:30.97 ID:???]
- >>709
win7HP?
- 725 名前:nobodyさん [2011/06/16(木) 23:36:27.10 ID:SYj2PUn3]
- phpでpreg使っています。
あるファイル内の <td width="71%" valign="top" align="center"><div align = "center"> を <td width="71%" valign="top" align="center"> だけに変換したいとおもい $regTxt = "/<td ([a-z0-9\"=\s\%]+)><div ([a-z0-9\"=\s\%]+)>/is"; preg_match($regTxt,$x,$exchangeArr); で$exchangeArr[1]を削除するため、preg_replaceを使おうと思っています。 ただ、最初のpreg_matchでマッチしません。 どうしたら出来るのでしょうか?? どなたかお教えください。お願いします。
- 726 名前:nobodyさん mailto:sage [2011/06/16(木) 23:41:03.98 ID:???]
- preg_matchで$exchangeArr[1]を削除するためpreg_replace?
日本語でおk
- 727 名前:nobodyさん [2011/06/16(木) 23:44:03.44 ID:SYj2PUn3]
- <div align = "center"> を削除するため
でお願いします。
- 728 名前:nobodyさん mailto:sage [2011/06/16(木) 23:45:43.17 ID:???]
- preg_matchとpreg_replaceを併用する必要があんの?
- 729 名前:nobodyさん [2011/06/16(木) 23:52:34.42 ID:SYj2PUn3]
- <td....>が様々な形をとっているため、まずはそれらを取り出す必要があるかと思い、そうしてます。
<td....><div...>という形で、<td...>も<div...>のそれぞれの...が、様々な形をとっているけど、<td...>だけをきれいに残したいのです。 ただ、<div...>だけのもの(前に<td...>がついていない)は変換したくないのです。 こんな説明でわかります?
- 730 名前:nobodyさん mailto:sage [2011/06/16(木) 23:56:08.62 ID:???]
- 正規表現を細分化して問題の切り分けしてみるといいと思うよ
- 731 名前:nobodyさん mailto:sage [2011/06/18(土) 14:34:02.52 ID:???]
- >>725,729
その様々な形を正規表現で指定すればいいと思うけどね。 $string = '<td width="71%" valign="top" align="center"><div align = "center">'; $string = preg_replace('/(<td [^>]+><div) [^>]+/', '$1', $string);
- 732 名前:nobodyさん mailto:sage [2011/06/18(土) 14:41:26.83 ID:???]
- 閉じタグのことは無視かい
- 733 名前:731 mailto:sage [2011/06/18(土) 17:07:20.38 ID:???]
- >>732
それは俺も思った。 divがネストしていたら対応関係がおかしくなるはずなんで開始タグは残すべきだと思うな。
- 734 名前:nobodyさん [2011/06/30(木) 00:52:32.34 ID:hWRw8zI0]
- PHP5.3のpreg_replaceで
/<td[^>]+><div[^>]+/とかで正規表現をやっても、全く変更されません。 preg_matchでやってみると<td[^>]+>までならmatchするけど、「<」以降を入れると、全く引っかかってきません。 何か思い当たること、ないでしょうか?
- 735 名前:nobodyさん mailto:sage [2011/06/30(木) 06:05:38.15 ID:???]
- 対象としている文字列にその正規表現にマッチする部分が存在しない
- 736 名前:nobodyさん mailto:sage [2011/06/30(木) 07:23:46.62 ID:???]
- 何か勘違いしているとか見落としているとしか思えない
- 737 名前:nobodyさん mailto:sage [2011/06/30(木) 21:31:52.67 ID:???]
- 量指定子を'+'から'*'にしてみたらマッチしました、みたいな話な気がしてならない。
- 738 名前:734 [2011/07/03(日) 22:32:36.09 ID:8QAPbG3u]
- どうやら正規表現は問題なかったみたいです。
phpでファイルをfopenで読み込んで、 while ($x = fgets($fp,1092)) {...}で変換をさせているんだけど、 <td..>部分と<div..>部分の間に改行が入っているから、変換できないらしい。 どうしたらいいでしょう??
- 739 名前:nobodyさん mailto:sage [2011/07/03(日) 22:39:11.31 ID:???]
- 工夫すれば?
- 740 名前:nobodyさん [2011/07/03(日) 23:37:07.72 ID:ypX399q3]
- $string = preg_replace('/<div align = \"center\"> /', '', $string);
$string = preg_replace('/<\/div>/', '', $string); か、 $string = preg_replace('/<div(.*?)> /', '', $string); $string = preg_replace('/<\/div>/', '', $string); じゃねえの
- 741 名前:734 [2011/07/03(日) 23:45:10.46 ID:8QAPbG3u]
- 全てのdivを削除したい訳でなく、<td....></td>間にある<div></div>を削除したいのです。
<td....></td>間にあるものは削除して、それ以外は改行したいのです。
- 742 名前:nobodyさん mailto:sage [2011/07/05(火) 00:46:35.42 ID:???]
- preg_replaceを連打して取りたいのだけ取ればええやん
- 743 名前:nobodyさん mailto:sage [2011/07/16(土) 18:02:18.22 ID:???]
- http://から最初の空白までを抽出する正規表現はどうなりますか?
- 744 名前:nobodyさん mailto:sage [2011/07/16(土) 22:16:17.55 ID:???]
- /http:\/\/[^ ]* /
- 745 名前:nobodyさん [2011/07/23(土) 20:12:09.44 ID:lXdqpzgT]
- Aの繰り返しはA+とかA{m,n}でマッチできますが、
繰り返された個数を元にAAAAAをA*5などに置換する「うまい」方法はあるでしょうか。 言語はとりあえずJavaScriptで考えています。 replace(/A+/g, 'A*'); //←ここから進まない。
- 746 名前:nobodyさん mailto:sage [2011/07/23(土) 20:22:41.87 ID:???]
- >>745
正規表現にはないのでJavaScriptスレへ
- 747 名前:nobodyさん [2011/07/23(土) 20:34:12.11 ID:lXdqpzgT]
- >>746
ありがとうございます。以下で質問し直しました。 hibari.2ch.net/test/read.cgi/hp/1311096825/90n
- 748 名前:nobodyさん [2011/07/24(日) 19:06:14.31 ID:/DoWXp9n]
- 「次の人」または「前の人」という文字列を文章内から拾う場合、どの様な書き方が良いのでしょうか??
[次の人 | 前の人] だと「の」一文字だけでも拾ってしまいます…
- 749 名前:nobodyさん mailto:sage [2011/07/24(日) 21:04:07.81 ID:???]
- "[abc]"は「『a』か『b』か『c』にマッチ」だぞ…。
君の書いた正規表現は「『次』か『前』か『の』か『人』か『|』か『 』にマッチ」だ。 多分"(次の人|前の人)"みたいなことがしたかったんだろうけど、 "[次前]の人"でいいと思う。
- 750 名前:nobodyさん mailto:sage [2011/07/24(日) 21:07:51.65 ID:???]
- あと、似たようなのでありがちなのが
"[^hogehoge]"で文字列の否定を指定したつもりになっちゃう人。 もちろん間違い。念の為。
- 751 名前:nobodyさん [2011/07/24(日) 22:38:19.38 ID:X7IDpmYo]
- >>750
では何が正しいのでしょうか?
- 752 名前:nobodyさん mailto:sage [2011/07/24(日) 22:54:58.14 ID:???]
- >>751
[次前]の人
- 753 名前:nobodyさん mailto:sage [2011/07/24(日) 23:02:35.46 ID:???]
- あ、とんちんかんだった。
文字列の否定は (?!.*文字列.*).* みたいのかなぁ
- 754 名前:nobodyさん [2011/07/25(月) 21:55:36.12 ID:RVWZInKC]
- formからの情報を編集しているんですがケータイ絵文字(5社の)が入ったら消すというのはできますか?
PHP5です。
- 755 名前:nobodyさん mailto:sage [2011/07/25(月) 22:46:11.52 ID:???]
- >>754
3社だけど、 Emo PHP携帯絵文字ライブラリ gard.no-ip.info/emo/readme/study/reg.html
- 756 名前:nobodyさん [2011/07/25(月) 23:06:55.26 ID:RVWZInKC]
- >>754
ありがとうございました
- 757 名前:nobodyさん [2011/07/27(水) 20:41:33.29 ID:PkulA4Dr]
- 40過ぎたオッサンが、訓練校出てWebで独立するとか寝言いってますwwwwww
サラリーマンに、無理だと指摘され発狂中wwww Webデザインの基金訓練を受講してる人 Part2 yuzuru.2ch.net/test/read.cgi/dame/1308059991 >>505 俺は40代で基金訓練受けて、これから独立しようと考えてるがな。 まぁ若干経験あるからその方面での話だけど。 基金訓練は単に「バナーくらい作れますよ」って言うだけのために受けた。 30代ならデジハリにもいっぱいいるぞ、余裕だろ。 ちゃんとした社会人経験があればだが。
- 758 名前:nobodyさん mailto:sage [2011/07/30(土) 14:00:39.72 ID:???]
- >>757
ID:1gQ87Cnm がきもかった
- 759 名前:nobodyさん mailto:sage [2011/08/01(月) 07:47:20.91 ID:???]
- ^(\d{3},)*\d{3}$
上記正規表現で123がヒットする理由が分かりません カンマがなくても何故ヒットするんですか? *の前が()だからであってますか? <対象文字列> 123 123,456 987,654,321 123,789,456,012 9876,543 123,456, <HIT文字列> 123 123,456 987,654,321 123,789,456,012
- 760 名前:nobodyさん mailto:sage [2011/08/01(月) 07:59:48.61 ID:???]
- >>759
*の意味を調べよう
- 761 名前:nobodyさん mailto:sage [2011/08/01(月) 07:59:51.56 ID:???]
- * → + で解決しない?
*はゼロ個以上でマッチだから。
- 762 名前:759 mailto:sage [2011/08/01(月) 08:58:25.47 ID:???]
- >>760
調べなくても分かってますが()*も同様なのかと思いまして >>761 いえ、nnnの場合もヒットさせたかったので*でいいのです 仕様というか動きの確認だけが目的で書き込んだので
- 763 名前:nobodyさん [2011/08/01(月) 09:39:13.59 ID:3IgNAOvk]
- >>759の意図がいまいちよくわからんが、
「a*」の時と「(abc)*」の時とで*の機能が変わらないことを確認したかったの? あと若干言葉遣いに波風が立つ雰囲気を感じてしまうのはオレだけ(笑)?
- 764 名前:nobodyさん mailto:sage [2011/08/01(月) 09:43:31.28 ID:???]
- ヒント:ID隠し
- 765 名前:nobodyさん mailto:sage [2011/08/01(月) 09:48:49.11 ID:???]
- 俺もちょっとイラッときた
- 766 名前:nobodyさん mailto:sage [2011/08/01(月) 09:52:47.51 ID:???]
- (\d{3},)* 関係ないじゃんw
- 767 名前:nobodyさん mailto:sage [2011/08/01(月) 10:28:45.34 ID:???]
- >>762
どう見てもわかってないだろw
- 768 名前:nobodyさん mailto:sage [2011/08/01(月) 17:56:48.08 ID:???]
- >>763
> >>759の意図がいまいちよくわからんが、 > 「a*」の時と「(abc)*」の時とで*の機能が変わらないことを確認したかったの? はい > あと若干言葉遣いに波風が立つ雰囲気を感じてしまうのはオレだけ(笑)? イラッ☆
- 769 名前:nobodyさん mailto:sage [2011/08/01(月) 17:59:56.76 ID:???]
- 機能が変わらない事の確認なのに質問内容が
>ヒットする理由がわかりません っておかしいだろw
- 770 名前:nobodyさん mailto:sage [2011/08/01(月) 18:00:59.64 ID:???]
- >>766
どう言う事でしょうか? もっとスマートな方法があるのであれば是非ご教示願います >>767 何がいけないのかさっぱりです 直近文字の0回以上のhitって事でないの?
- 771 名前:nobodyさん mailto:sage [2011/08/01(月) 18:02:51.58 ID:???]
- >>769
そんなおかしいですかね でも、確かに表現が悪くて申し訳ないです
- 772 名前:nobodyさん [2011/08/01(月) 18:11:52.38 ID:3IgNAOvk]
- 根はいいやつそうでよかった(´ω`)…。
- 773 名前:nobodyさん mailto:sage [2011/08/01(月) 18:44:25.32 ID:???]
- 直近「文字」とは限らないだよ。
(お題のこんなのとか)*(?:ほかにもこんなのとか)*[いろ]*あるでしょう。
- 774 名前:nobodyさん mailto:sage [2011/08/01(月) 19:21:33.25 ID:???]
- >>770
123がヒットしたのは \d{3}の部分だけといえば分かるだろうか (\d{3},)*は0回ってことで
- 775 名前:nobodyさん mailto:sage [2011/08/01(月) 22:22:11.88 ID:???]
- >>774
超絶完全理解感謝激励歓迎降臨! 謝謝!! 伝わり難い文章で多レスしてしまってすいませんでした
- 776 名前:nobodyさん [2011/08/01(月) 22:37:10.25 ID:3IgNAOvk]
- >>774の指摘がそこまで的確なものだったってのもいまいちピンと来ない件(笑)
まあよかったな( ´∀`)
- 777 名前:nobodyさん mailto:sage [2011/08/01(月) 22:54:31.04 ID:???]
- わろた
- 778 名前:nobodyさん mailto:sage [2011/08/02(火) 11:07:19.68 ID:???]
- 結局わかってなかったんじゃんw
- 779 名前:nobodyさん mailto:sage [2011/08/03(水) 19:33:03.57 ID:???]
- 762 名前: 759 [sage] 投稿日: 2011/08/01(月) 08:58:25.47 ID:???
>>760 調べなくても分かってますが()*も同様なのかと思いまして >>761 いえ、nnnの場合もヒットさせたかったので*でいいのです 仕様というか動きの確認だけが目的で書き込んだので
- 780 名前:nobodyさん mailto:sage [2011/08/04(木) 09:41:51.16 ID:???]
- 動きの確認ならパターン出してテストすりゃいいだけじゃん
なんかイラッとするな
- 781 名前:nobodyさん mailto:sage [2011/08/04(木) 12:34:18.67 ID:???]
- >>780
イラッ☆
- 782 名前:nobodyさん mailto:sage [2011/08/26(金) 08:02:24.21 ID:???]
- test
- 783 名前:nobodyさん mailto:sage [2011/09/02(金) 00:33:38.37 ID:???]
- >>782
イラッ☆
- 784 名前:nobodyさん mailto:sage [2011/09/06(火) 00:06:31.30 ID:???]
- ttp//aaa.co.jp:8888
http//bbb.com:9999/ を除外しつつ 他の h?ttp//○○○.△△△.□□□:☆☆☆/? ↑ここから ここまで↑ をヒットさせたいのですが色々試したのですが出来ませんでした 何か方法がありますでしょうか?
- 785 名前:nobodyさん mailto:sage [2011/09/06(火) 00:20:00.51 ID:???]
- h?ttp:\/\/(?!aaa.co.jp:8888|bbb.com:9999)(\w+\.)+\w+(:\d+)?\/?
- 786 名前:nobodyさん mailto:sage [2011/09/06(火) 00:28:37.10 ID:???]
- >>785
レスありがとうございます 助かりました
- 787 名前:nobodyさん mailto:sage [2011/09/14(水) 01:54:57.08 ID:???]
- 2chのdatの1(1行目)のレス内にトリップ(10桁以上でも10〜12桁でもok)が
含まれてる場合にヒットさせたいのですが、一部除外したいトリップあります ◆(?!5s5hPZiJeU|ozOtJW9BFA).{10} まではできたような気がするのですが1行目にマッチさせるにはどうしたら良いでしょうか SJISです。
- 788 名前:nobodyさん mailto:sage [2011/09/14(水) 08:26:15.86 ID:???]
- >>787
^?dとか
- 789 名前:nobodyさん mailto:sage [2011/09/14(水) 13:20:15.86 ID:???]
- >>787
mフラグ >>788 ?
- 790 名前:nobodyさん mailto:sage [2011/09/15(木) 22:42:04.53 ID:???]
- >>789
ありがとうございます よく分からなかったので調べてみると複数行の行頭、文末にマッチさせることができるのですね 残念ながら行頭、文末にトリップがあるわけでないのでうまくないようです。。
- 791 名前:nobodyさん mailto:sage [2011/09/16(金) 01:40:23.90 ID:???]
- >>790
789ではないが、mフラグをつけたら駄目だ ^ を利用すれば一行目のトリップにマッチできる mフラグをつけたら破綻する
- 792 名前:nobodyさん mailto:sage [2011/09/16(金) 01:49:30.98 ID:???]
- 処理系を書かないからでしょ。
>>789のいうmオプションは「改行文字を無視する単一行モード」の意味 (Ruby等の流儀)で書いていて、 >>790はそれを「複数行モード」の意味(Perl等の流儀)に取っている。
- 793 名前:nobodyさん mailto:sage [2011/09/22(木) 02:27:55.73 ID:???]
- >>790
先頭から、最初に改行コードが出てくるまでが1行目だよ
- 794 名前:nobodyさん [2011/10/02(日) 19:26:42.05 ID:Tnal10Vi]
- abcdefgfedcba という文字列から
defという文字列を消すこと出来るのですが、 def以外を消すにはどうすればいいのでしょうか?
- 795 名前:nobodyさん [2011/10/02(日) 20:09:22.37 ID:zbShr9jh]
- 漠然としすぎ
- 796 名前:nobodyさん mailto:sage [2011/10/03(月) 06:19:41.91 ID:???]
- >>794
よくわからんが否定はめんどくさいぞ。 ([^def]|d(?!ef)|(?<!d)e(?!f)|(?<!de)f) でdefの一部であるd,e,f以外の任意の1文字にマッチするから これでなんとかなるだろう。
- 797 名前:nobodyさん mailto:sage [2011/10/03(月) 21:56:35.04 ID:???]
- >>794
環境によるけど、(def)ですべてにマッチさせて、あとから取得した$1的なものに置換すればいいのでは
|

|