トップページ⇒php
825コメント240KB

正規表現道場@2ch Part2

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん02/11/24 22:57ID:LrbVcl3Y
Perlに限らずスクリプト系言語で大活躍の正規表現。
このスレは有用そうな正規表現を紹介したり、どう表現したらいいかわからないときに
質問をしたりするためのスレッドです。
質問するときは使用言語や得たい結果をなるべく詳しく書きましょう。

リンクなどは>>2-5のあたりに。
0693nobodyさん03/07/17 17:00ID:???
>>692
裳前の方が房っぽいがな
069467903/07/17 17:32ID:???
解決しました。^の意味解かってませんでした・・・
0695nobodyさん03/07/17 18:06ID:???
>>679を見て誰が何を答えることができるのだろう。本気で教えてもらおうとしてたんだろうか。
0696nobodyさん03/07/18 01:30ID:???
>>695
釣りでしょ。釣果は芳しくなかったようだが。
0697nobodyさん03/07/18 10:04ID:qmPObEGp
やりたいこと
 PHP4.2.3-9でタグの外側の文字のみ置換したい

<?
$word = "<a href=\"http://hoge.hoge/bb/\">link Bb</a>";
echo "これを$word<br>\n";

$word2 = "<a href=\"http://hoge.hoge/bb/\">link <b>B</b><b>b</b></a>";
echo "こうしたい$word2<br>\n";

$word = preg_replace("/((?:\G|>)[^<]*?)(b)/i","\\1<b>\\2</b>",$word,-1);
echo $word;
?>

実行結果は
<a href="http://hoge.hoge/<;b>b</b>b/">link <b>B</b>b</a>
になりました。
069869703/07/18 10:04ID:qmPObEGp
--- Perlで書くと ---

#!/usr/local/bin/perl

print "Content-type: text/html\n\n";

$word = "base bb<a href=\"http://hoge.hoge/bb/\">link Bb</a>bg big";
print "これを$word<br>\n";

$word2 = "<B>b</B>ase <B>b</B><B>b</B><a href=\"http://hoge.hoge/bb/\">link <B>B</B><B>b</B></a><B>b</B>g <B>b</B>ig";
print "こうしたい$word2<br>\n";

$word =~ s/((?:\G|>)[^<]*?)(b)/$1<B>$2<\/B>/ig;
print "$word";

実行結果は
<B>b</B>ase <B>b</B><B>b</B><a href=\"http://hoge.hoge/bb/\">link <B>B</B><B>b</B></a><B>b</B>g <B>b</B>ig
で意図したとおりになりました。

PHPのpreg_replaceはPerl互換なのに、実行結果が異なるのでしょうか?
0699nobodyさん03/07/18 13:23ID:yTICzsYG
>>697-698
http://jp.php.net/manual/ja/pcre.pattern.syntax.php

6. Perlの\G言明は、一回のパターンマッチに関するものではないため、 サポートされません。
0700nobodyさん03/07/18 17:43ID:???
余裕で 700 GET ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
070169703/07/18 17:49ID:qmPObEGp
>>699
あれれ。そうなんですか。
PHPでどう書けばいいんだろう。
0702nobodyさん03/07/18 22:35ID:5012QaLa
>>701
$word = preg_replace("/((?:^|>)[^<]*?)(b)/i","\\1<b>\\2</b>",$word,-1);
0703703 ◆jhDfq/C6oU 03/07/21 06:22ID:vOgKMI0a
置換についての質問なんですが、

$q1 =~ s/\b1\b/12番目/;
$q1 =~ s/\b2\b/16番目/;

[$q1]が[1]ならば『12番目』を、
[2]だったら『16番目』と置換えたいのですが、
[$q1]が[1]だった時、『12番目16番目』と置換えられてしまいます。

勘違いかもしれませんが、『\b』で境界をやってみても変わりません。

どのようにすると良いでしょうか?
ご教授お願い致します。。。

p.s 条件分岐のほうがいいのでしょうか?
0704nobodyさん03/07/21 09:20ID:???
>>703
漏れのところでは動いているが。
$q1 = '0 1 11 12 2 21 22 3 4 5 9';
$q1 =~ s/\b1\b/12番目/;
$q1 =~ s/\b2\b/16番目/;

printf qq($q1\n);

出力
0 12番目 11 12 16番目 21 22 3 4 5 9
0705nobodyさん03/07/21 18:05ID:???
Perlで、

$a[0] = "HyperTextTransferProtocol = HTTP";
$a[1] = "UniversalResourceLocation = URL";
$a[2] = "DataBase = DB";

これらの=より前の部分を大文字にしてスペースで区切って

HYPER TEXT TRANSFER PROTOCOL
UNIVERSAL RESOURCE LOCATION
DATA BASE

と出力させたい。
どなたかご教授願います。
0706nobodyさん03/07/21 18:21ID:???
取り敢えず、こうヤルしかないかな…

$a[0] =~ s/([a-z]+)/\1 /g;
print $a[0] . "\n";

$a[0] =~ tr/a-z/A-Z/;
print $a[0] . "\n";
070770603/07/21 18:23ID:???
リスト対象だっけ?

foreach ( @a ) {
s/([a-z]+)/\1 /g;
tr/a-z/A-Z/;
}
0708nobodyさん03/07/21 18:36ID:???
なるほど。ありがとうございました。
0709nobodyさん03/07/21 20:27ID:???
>>705
=の前後はsplitで切れるし、置換でもいける

で、大文字の前にスペースを入れてぜんぶおおもじにすりゃぁいいのの?
071069703/07/22 10:45ID:FAepGeTT
>>702
すごい! 動きました。
ありがとうございます。
0711!70203/07/22 10:51ID:???
>>710 そりゃ動くだろ。回答者は質問者以上に慎重にレスしてるんだよ。(とつぶやきたい)
071269703/07/22 10:52ID:FAepGeTT
と思ったのですが
$word = "base bb<a href=\"http://hoge.hoge/bb/\">link Bb</a>bg big";
$word = preg_replace("/((?:^|>)[^<]*?)(b)/i","\\1<b>\\2</b>",$word,-1);

結果
<b>b</b>ase bb<a href="http://hoge.hoge/bb/">link <b>B</b>b</a><b>b</b>g big
になりました。

一部置換されないみたいです。。
0713nobodyさん03/07/22 10:57ID:???
>>711の立場は一体・・・
0714あぼーんNGNG
あぼーん
071570203/07/22 15:04ID:+ex6aWif
>>712
すまん。
$word = "base bb<a href=\"http://hoge.hoge/bb/\">link Bb</a>bg big";
$word = preg_replace('/(?:^|(?<=>))([^<]*)/e', "preg_replace('/(b)/i','<b>\\\\1</b>','\\1')", $word);
echo $word;

で多分OK.
http://www.din.or.jp/~ohzaki/regex.htm#ReplaceOutside
を参考にした。

>>711
ワラタ.ゴメソ.
0716あぼーんNGNG
あぼーん
071769703/07/22 15:36ID:FAepGeTT
>>715
すごい!
ありがとうございます。
ちゃんと置換されてました!
0718nobodyさん03/07/24 18:38ID:9bbcZ2D/
http URL の正規表現についてですが、
Perlメモを見ると、長いバージョンと短いバージョンが以下のようにかかれてますが・・・

$http_URL_regex =
q{\b(?:https?|shttp)://(?:(?:[-_.!~*'()a-zA-Z0-9;:&=+$,]|%[0-9A-Fa-f} .
q{][0-9A-Fa-f])*@)?(?:(?:[a-zA-Z0-9](?:[-a-zA-Z0-9]*[a-zA-Z0-9])?\.)} .
q{*[a-zA-Z](?:[-a-zA-Z0-9]*[a-zA-Z0-9])?\.?|[0-9]+\.[0-9]+\.[0-9]+\.} .
q{[0-9]+)(?::[0-9]*)?(?:/(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f]} .
q{[0-9A-Fa-f])*(?:;(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-} .
q{Fa-f])*)*(?:/(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f} .
q{])*(?:;(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*)*)} .
q{*)?(?:\?(?:[-_.!~*'()a-zA-Z0-9;/?:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])} .
q{*)?(?:#(?:[-_.!~*'()a-zA-Z0-9;/?:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*} .
q{)?};

s?https?://[-_.!~*'()a-zA-Z0-9;/?:@&=+$,%#]+

http:// or https:// がないパターンの正規表現っていうのは、
上記から、
長いバージョンは、(?:https?|shttp):// をとりのぞいたもの、
短いバージョンは、s?https?:// をとりのぞいたもの、
っていう認識は、あってますか?
0719nobodyさん03/07/24 18:47ID:???
>>718
そんなわけないだろう
0720あぼーんNGNG
あぼーん
072171803/07/24 23:48ID:???
>>719
あれ?
指摘きぼんぬ。

少なくとも短いバージョンはこれであってると思ったんだけど。。。
0722nobodyさん03/07/25 00:06ID:???
>>721
それでいいけど、そうすると、一般的すぎるんじゃないかね?
0723nobodyさん03/07/25 00:18ID:???
s?https?://[-_.!~*'()a-zA-Z0-9;/?:@&=+$,%#]+ から s?https?:// を
取り除いて残るのは [-_.!~*'()a-zA-Z0-9;/?:@&=+$,%#]+ だよな?

[ ] 内の文字が1文字以上ってことだ

1-1=2
(,,-_-)
(~*~)ohhoho(-_-;)
1000Get!!

いろいろマッチするけどいいのか?
まあ使う場所によってはいいのかもしれないが
0724nobodyさん03/07/25 00:59ID:???
>>722 >>723
そっとしといてやれよ・・・
0725nobodyさん03/07/25 01:15ID:???
http URL って、 scheme, hostname, pathname の3つに分ける事できるから、
その辺考えれば解ると思うが…
0726nobodyさん03/07/27 03:01ID:2mIqT5H5
すいません、初歩的な質問させてください。
linuxのコマンドライン上で、カレントディレクトリ以下からabcま
たはdefを含むファイル名を表示させたいのですが、
find|grep (abc|def)とかやってもだめなんです。どうすれば
よいんでしょうか?
0727nobodyさん03/07/27 04:08ID:???
>>726
find |egrep "(abc|def)"
0728nobodyさん03/07/27 09:47ID:???
>>725
port番号とユーザ名、パスワード、追加情報 が抜けてるぞ。

http://tokyo.cool.ne.jp/masapico/api_InternetCrackUrl.html
072972603/07/27 09:52ID:95lYaVNF
>>727
ありがとうございました!
0730あぼーんNGNG
あぼーん
0731nobodyさん03/07/27 11:38ID:???
>>728
それはそれぞれの項目に入るよ。rfc 読めば?
073273203/07/27 13:16ID:dJWoBMBZ
置換についてです。
$a内の『7月27日』を『7/27』に換えたいんですが、

$data =~ s/7月27日/7/27/g;

と、すると区切りのスラッシュがダブってしまいますよね。
こんなときの対処方法がご存知でしたら、
御教授お願い致します。
0733nobodyさん03/07/27 13:21ID:???
>>732
エスケープする。
0734nobodyさん03/07/27 13:51ID:???
/7月27日/{7/27}
0735nobodyさん03/07/27 13:56ID:???
>>728
リンク先、どう見ても素人のページだろ。お前マサピコか?
正確な情報を得るにはまともなページ見て勉強しろよ。
073673203/07/27 14:07ID:dJWoBMBZ
レスありがとうございます。
>>732
逆スラッシュ入れてもエラーになりました(T.T)

>>734
それは無理かと…
073773203/07/27 14:09ID:dJWoBMBZ
すいません。
>>732←>>733の間違いです
0738nobodyさん03/07/27 14:10ID:???
>>736
エスケープする。
$data =~ s/7月27日/7\/27/g;
073973203/07/27 15:07ID:dJWoBMBZ
>>738
$data =~ s/7月27日/7/\27/g;

[\]位置が逆でした(汗
ありがとうございます。
もう一つ御教授頂きたいのですが、

$data =~ s/ソ/そ/g;

こちらの置換がエラーとなってしまいます。
解決方法はございますか?
0740nobodyさん03/07/27 15:12ID:???
>>739
うるせーよ!
聞いてばかりいないで試すなりググるなりしやがれ!
0741nobodyさん03/07/27 15:47ID:???
ソとか表とか見飽きたな。
>>739
Shift-JIS分からないくせにわざわざShift-JIS使うな。
0742nobodyさん03/07/27 17:54ID:???
―(0x815C) ソ(0x835C) Ы(0x845C) �\(0x875C) 噂(0x895C) 浬(0x8A5C)
欺(0x8B5C) 圭(0x8C5C) 構(0x8D5C) 蚕(0x8E5C) 十(0x8F5C) 申(0x905C)
曾(0x915C) 箪(0x925C) 貼(0x935C) 能(0x945C) 表(0x955C) 暴(0x965C)
予(0x975C) 禄(0x985C) 兔(0x995C) 喀(0x9A5C) 媾(0x9B5C) 彌(0x9C5C)
拿(0x9D5C) 杤(0x9E5C) 歃(0x9F5C) 濬(0xE05C) 畚(0xE15C) 秉(0xE25C)
綵(0xE35C) 臀(0xE45C) 藹(0xE55C) 觸(0xE65C) 軆(0xE75C) 鐔(0xE85C)
饅(0xE95C) 鷭(0xEA5C) �x(0xED5C) �x(0xEE5C) �\(0xFA5C) �\(0xFB5C)
0743nobodyさん03/07/27 18:05ID:???
美乳テーブルも貼ってあげると、スレの親切度うp。
0744nobodyさん03/07/27 21:27ID:???
データ貼るより参考リンク貼ってあげた方が(ry
0745nobodyさん03/07/28 12:23ID:???
一瞬、曾という漢字がたらこくちびるで眼鏡かけてるつり目のおっさんに見えた
0746nobodyさん03/07/28 13:12ID:???
>>745
曾 よーく見ると絵に見えてくる文字 曾
http://life2.2ch.net/test/read.cgi/kankon/1052576557/
0747nobodyさん03/07/28 15:52ID:???
>>745
たった今、そう見えるようになった。
お前のせいで今後一生見え続けるだろう。どうしてくれる。
0748nobodyさん03/07/28 18:53ID:???
>>746
俺にはサザエさんの家に見える

曾 λλλλλλλλλλλλλ....ユカイダナ..
0749nobodyさん03/07/29 23:53ID:???
可変桁数の数値にマッチさせるような正規表現ってあります?
一桁〜二桁の数字をあぶり出したいのですが、[0-9][0-9]とかだと二桁数字しか見つけられないっす。
if(($_==[0-9])||($_==[0-9][0-9]))みたいな形にするしかないのかな…
0750nobodyさん03/07/30 00:06ID:???
>749
[0-9][0-9]?
[0-9]{1,2}
\d\d?
\d{1,2}
とか?
0751nobodyさん03/07/30 01:51ID:???
>>750
できました…ありがとうございます。
{2}は00とか88とか同じ数字の連続にしかならないと勘違いしてたようです。
0752nobodyさん03/07/30 03:30ID:???
>>751
それは
(\d)\1
だね
0753nobodyさん03/07/30 03:47ID:???
>>751
漏れも始めのうちは勘違いしてたけど、* とか + とか {n,m} とかは、
「前の文字(列)」の繰り返しじゃなくて、「前の正規表現パターン」の繰り返しだからね。
0754nobodyさん03/07/30 07:23ID:zn2EBRaL
$str= "<table>〜<table>〜</table>〜</table>〜"
に対して、真ん中の<table>〜</table>だけを簡単にうまく抽出できないでしょうか?
$str =~ s/<table>(^(<table>))*?<\/table>//;
なんて文字列に対するキャレットみたいなのが有ればいいのですが。
$tmp = $str;
while($tmp =~ m|<table>(.*?)</table>|) {
0755途中送信スマソ03/07/30 07:26ID:???
$str= "<table>〜<table>〜</table>〜</table>〜"
に対して、真ん中の<table>〜</table>だけを簡単にうまく抽出できないでしょうか?
$str =~ s/<table>(^(<table>))*?<\/table>//;
なんて文字列に対するキャレットみたいなのが有ればいいのですが。
$tmp = $str;
while ($tmp =~ s/<table>(.*?<\/table>)/\1/) { }
$str =~ s/$1//;
とするしかないのかな?
0756754-75503/07/30 08:35ID:???
すいません…>>14に答え有りましたね。
首吊って出直してきます…
0757あぼーんNGNG
あぼーん
0758nobodyさん03/07/30 11:57ID:xaoebVIF
やりたいこと
 JavaScriptでタグの外側の文字のみ置換したい (IE6)

<html><body><script language="JavaScript">
<!--
//PHP
//$word = preg_replace('/(?:^|(?<=>))([^<]*)/e', "preg_replace('/(b)/i','<b>\\\\1</b>','\\1')", $word);

//Perl
//$word =~ s/((?:\G|>)[^<]*?)(b)/$1<b">$2<\/b>/ig;

word = "base bb<a href=\"http://hoge.hoge/bb/\">link Bb</a>bg big";
word2 = "<b>b</b>ase <b>b</b><b>b</b><a href=\"http://hoge.hoge/bb/\">link <b>B</b><b>b</b></a><b>b</b>g <b>b</b>ig";

document.write("これを"+word+"<br>");
document.write("こうしたい"+word2+"<br>");

result = word.replace(/(?:^|(?<=>))([^<]*)/e,word.replace(/(b)/i,\"<b>$1</b>\")");
document.write(result+"<br>");
//-->
</script></body></html>

正規表現も言語によってまちまちですね。
実行するとまっしろです。。
0759nobodyさん03/07/30 12:42ID:???
>>758
perlメモよめ(応用を利かせろって事)
076075803/07/30 13:31ID:xaoebVIF
result = word.replace(/(?:^|(?<=>))([^<]*)/,"test");
正規表現で構文エラーが発生しました。

(?<=>)がいけないみたいなのですが、なぜでしょう?
076175803/07/30 15:17ID:xaoebVIF
JavaScriptでは拡張表現(?が使えない…?
0762nobodyさん03/07/30 15:48ID:???
>>761
使えません。
076375803/07/30 16:02ID:xaoebVIF
>>762
あ、やっぱり。
(?<=を自分で作ってやらないといけないわけね。
0764nobodyさん03/07/30 16:06ID:???
…作れるの?
0765あぼーんNGNG
あぼーん
076675803/07/30 16:21ID:xaoebVIF
>>764
うーん --;
別の方法考えたほうが早いかな?
0767あぼーんNGNG
あぼーん
0768nobodyさん03/07/31 02:36ID:???
しかし>>758のパターン(Perl)だと
<a href="c0.html" title="capter0>prologue" target="_blank">
みたいなtagがあったら期待外れの置換をするんじゃないか?
0769nobodyさん03/07/31 03:34ID:???
>>768
文句だけ言ってコードを示さないヘタレですか?
0770nobodyさん03/07/31 04:07ID:???
>>769
アンタの目には文句に映るのか
ならいい 邪魔したな
0771nobodyさん03/07/31 09:42ID:???
>>768
>は&gt;にしろよ。


って言っても屁理屈こねるだろうから

$word = q|base bb<a href="http://hoge.hoge/bb/" title="capter0>prologue" target="_blank">link Bb</a>bg big|;
$word =~s/(^|<(?:[^<>]*"[^"]*"[^<>]*)*>|<(?:[^<>]*'[^']*'[^<>]*)*>|<[^<>"]+>)([^<]*)
                /my $tmp1 = $1; (my $tmp2 = $2) =~ s!(b)!<b>$1<\/b>!ig; $tmp1.$tmp2/xegs;
print $word;


同様にJavaScriptでも

function hoge () {
    word = "base bb<a href=\"http://hoge.hoge/bb/\" title=\"2>1\" blank=\"_blank\">link Bb</a>bg big";
    re = new RegExp("(^|<(?:[^<>]*\"[^\"]*\"[^<>]*)*>|<(?:[^<>]*\'[^\"]*\'[^<>]*)*>|<[^<>\"]+>)([^<>]+)", "g");
    result = word.replace(re,
        function test (str, p1, p2) {
            re = new RegExp("(b)", "ig");
            p2 = p2.replace(re, "<b>$1</b>");
            return p1+p2;
        }
        );
    alert(result);
}
077277103/07/31 10:27ID:???
$word = q|base bb<a href="http://hoge.hoge/bb/" title='"2>1"1>1' target="_blank">link Bb</a>bg big|;
$word =~s/(^|<(?:[^<>'"]*"[^"]*"[^<>'"]*|[^<>'"]*'[^']*'[^<>'"]*)+>|<[^<>'"]+>)([^<>]*)
        /my $tmp1 = $1; (my $tmp2 = $2) =~ s!(b)!<b>$1<\/b>!ig; $tmp1.$tmp2/xegs;
print $word;

function hoge () {
        word = "base bb<a href=\"http://hoge.hoge/bb/\" title='\"2>1\"1>1' target=\"_blank\">link Bb</a>bg big";
        re = new RegExp("(^|<(?:[^<>'\"]*\"[^\"]*\"[^<>'\"]*|[^<>'\"]*'[^']*'[^<>'\"]*)+>|<[^<>'\"]+>)([^<>]*)", "g");
        result = word.replace(re,
                function test (str, p1, p2) {
                        re = new RegExp("(b)", "ig");
                        p2 = p2.replace(re, "<b>$1</b>");
                        return p1+p2;
                }
                );
        alert(result);
}

の方が正確か。
0773nobodyさん03/07/31 10:47ID:???
いい加減にウザイな。因みに script タグのところに javascript バージョン明示してもダメなのカナ?
javascript 嫌いだからどうでもいいが
0774nobodyさん03/07/31 10:58ID:???
>>773
何に対して書いてるんだ?> javascript バージョン明示
0775nobodyさん03/07/31 11:31ID:???
>>774http://tohoho.wakusei.ne.jp/js/write.htm#language
0776nobodyさん03/07/31 12:58ID:???
もちょっとHTMLを勉強しろよな。
5年前の知識をそのまま使ってないか?
0777nobodyさん03/07/31 20:05ID:???
>>775
http://www.ne.jp/asahi/minazuki/bakera/html/reference/headmisc#script
077875803/08/01 09:15ID:9x/frkaP
>>771
JavaScriptでも出来るんだ。

RegExp("(^|<(?:[^<>'\"]*\"[^\"]*\"[^<>'\"]*|[^<>'\"]*'[^']*'[^<>'\"]*)+>|<[^<>'\"]+>)([^<>]*)", "g");
これを自分で解析できないってことは、自力なんてとても無理ですね。

あーあ勉強不足。
0779nobodyさん?03/08/02 00:16ID:lx3eHYOp
ファイル名をフォームから指定させたいのですが、いたずらで変なファイル名
を入力されたら困るので、英数字といくつかの記号と日本語
(EUC-JPで文字セットはJIS X0208の範囲)だけに限定したいのですが、
/[\w_\-: -(?:\xFE\xFE)/
であってますか?
0780nobodyさん?03/08/02 01:18ID:???
rubyなら/\w/eで日本語もマッチするみたいですね。
0781nobodyさん03/08/02 08:54ID:???
あげあげ
0782nobodyさん03/08/05 02:36ID:???
\<[^<>]*\>

↑これってHTMLとかのタグ(+中身)を表すと思ったのですが、間違ってますか?
2ちゃんの適当なスレッドを読み込んで、サクラエディタで空文字""に置換して
txtにしようとすると、置換が永遠に行われ続けます・・。なじぇ?(;´Д⊂
0783nobodyさん03/08/05 15:13ID:???
>>782

>>2 perl メモよめ
0784nobodyさん03/08/06 14:38ID:???
>>773
タグとりたいんなら<[^>]*>でない?
0785nobodyさん03/08/07 15:09ID:???
みなさん、入力されたメールアドレスの形式チェックって、どのくらい厳密にやってますか?
Perlメモには超長いのが載ってますが・・・

ちなみに自分は、
/[\w\.\-\_]+\@[\w\.\-\_]+\.[a-zA-Z]{2,5}$/
ってやってるんですが・・・
0786nobodyさん03/08/07 17:18ID:???
>>785
smtpに繋いでみる。
0787nobodyさん03/08/07 18:00ID:???
1111111とかaaaaaとか、同じ文字がn文字以上続く場合に
マッチさせるのってどうやればよいのでしょうか?
0788nobodyさん03/08/07 18:14ID:???
>>785
if (/@/) {めーるあどれす}
>>787
1{n,} a{n,}
0789nobodyさん03/08/07 18:23ID:???
>>788
1{n,} 2{n,} 3{n,}・・・
と一つずつ指定していかなければならないのでしょうか?
0790nobodyさん03/08/07 18:28ID:???
>>789
・・・ある1文字を表す正規表現は.(ピリオド)だ。
0791nobodyさん03/08/07 18:59ID:???
>>790
.{n,}だと、aaaaaだけじゃなくabcdeもマッチするのですが・・・
0792nobodyさん03/08/07 19:07ID:???
(.)\1{n-1}
■ このスレッドは過去ログ倉庫に格納されています