正規表現道場@2ch
■ このスレッドは過去ログ倉庫に格納されています
0001ヽ(´▽`)ノ
2001/07/26(木) 09:03ID:???でもperlを使いのなす上で避けて通れない道だったりするかもです。
そこで、スクラップブック的に目に止まったカッコイイ正規表現を
書き留めておこうと言うスレッドです。
質問する時は言語と、得たい結果をなるべく詳しく書いてね。
取り合えず僕が知ってる有用なリンクです。
http://www.din.or.jp/~ohzaki/perl.htm
http://www.kt.rim.or.jp/~kbk/regex/regex.html
もっとイイ(・∀・) リンクは>>2-10さん辺りが書いてくれるカモ・・・・
0112名無しさん@お腹いっぱい。
01/10/15 01:29ID:???0113名無しさん@お腹いっぱい。
01/10/15 06:28ID:???その心は「クォート閉じ忘れやクォートなしは不正なのに、
それに対応していない2chを批判するのは馬鹿」という理解でよいですか。
0114名無しさん@お腹いっぱい。
01/10/15 08:08ID:???<a href="http://example.com/">http://example.com/</a>
ということでお題。
&は含むけど<や>は含まないように
リンクを張る正規表現は?
0115名無しさん@お腹いっぱい。
01/10/15 08:11ID:???$message =~ s/(https?|ftp|gopher|telnet|whois|news)\:([\w|\:\!\#\$\%\=\&\-\^\`\\\|\@\~\[\{\]\}\;\+\*\,\.\?\/]+)/<a href=\"$1\:$2\" target=\"_blank\">$1\:$2<\/a>/ig;
0116113
01/10/15 09:07ID:???いや、そういう意味で言ってるんだとしたら間違ってるよ。
っていいたかったの。
> &は含むけど<や>は含まないように
> リンクを張る正規表現は?
URLという意味では<が含まれてても問題(よね?)と思うので、
<や>をはじく必要は無いと思うけど・・・
ちょっと考えるよ。
0117名無しさん@お腹いっぱい。
01/10/15 09:12ID:???$116 =~ s/(問題)/$1無い/;
$116 =~ s/</</g;
$116 =~ s/>/>/g;
0118名無しさん@お腹いっぱい。
01/10/15 10:07ID:???問題あるよ。
http://www.isi.edu/in-notes/rfc2396.txt
0119名無しさん@お腹いっぱい。
01/10/15 10:08ID:???< や > が含まれてると問題あるけど、htmlソース上は
< や > だから含まれてしまうのを
修正したいってことなんだけど。
0120113
01/10/15 10:18ID:???リンク張ってるのがまずいんですね。
リンク張りつつ < > 除去すれば正確になるのかな。
s{
((?:https?|ftp|gopher|telnet|whois|news)://[-_.!~*'()a-zA-Z0-9;/?:\@&=+\$,%]+)
| (<) | (>)
}{
$1 ? "<a href=\"$1\">$1</a>" :
$2 ? '<' :
$3 ? '>' :
''
}xeg;
とかはどうですか?
0121113
01/10/15 10:37ID:???s{(
(?:https?|ftp|gopher|telnet|whois|news)://
(?:[-_.!~*'()a-zA-Z0-9;/?:\@=+\$,%] | &(?![lg]t;) )+
)}
{<a href=\"$1\">$1</a>}xg;
0122名無しさん@お腹いっぱい。
01/10/15 11:23ID:???s{(
(?:(?:https?|ftp|gopher|telnet|whois)://|news:)
(?:[-_.!~*'()a-zA-Z0-9;/?:\@=+\$,%] | &(?![lg]t;) )+
)}
{<a href=\"$1\">$1</a>}xg;
0123名無しさん@お腹いっぱい。
01/10/15 11:35ID:???s{(
(?:(?:https?|ftp|gopher|telnet|whois)://|news:)
(?:[-_.!~*'()a-zA-Z0-9;/?:\@=+\$,%#] | &(?![lg]t;) )+
)}
{<a href=\"$1\">$1</a>}xg;
0124名無しさん@お腹いっぱい。
01/10/15 11:51ID:???これで十分かな?
s{((?:https?|ftp)://(?:[-\w.!~*'();/?:\@=+\$,%#]|&(?![lg]t;))+)}{<a href="$1">$1</a>}g;
どっちにしても中途半端だけど。
0125名無しさん@お腹いっぱい。
01/10/15 12:21ID:???s{((?:https?|ftp)://(?:[-\w.!~*'();/?:\@=+\$,%#]|&(?![lg]t;))+)}{<a href="$1" target=_blank>$1</a>}go;
0126名無しさん@お腹いっぱい。
01/10/15 12:57ID:???ちがうの?
0127名無しさん@お腹いっぱい。
01/10/15 13:01ID:???0128名無しさん@お腹いっぱい。
01/10/19 22:45ID:SauUPYVx0129名無しさん@お腹いっぱい。
01/10/20 00:13ID:???#詳説買って来たけどかなり本棚の肥やしになりそうな感じ・・・
0130名無しさん@お腹いっぱい。
01/10/20 08:13ID:???0131名無しさん@お腹いっぱい。
01/10/20 16:58ID:rS0gfeFk0132名無しさん@お腹いっぱい。
01/10/20 22:31ID:???良く突っ込まれる例:
あめぞうって、2chとかMAGABBSと同じタイプ?
0133名無しさん@お腹いっぱい。
01/10/25 02:00ID:GZ9i4shVhttp://www.2ch.
net/
<a href="http://www.2ch.net/">http://www.2ch.net/</a>
0134名無しさん@お腹いっぱい。
01/10/25 02:24ID:???0135名無しさん@お腹いっぱい。
01/10/25 17:47ID:???0136名無しさん@お腹いっぱい。
01/10/25 17:56ID:???0137名無しさん@お腹いっぱい。
01/10/26 09:05ID:+A/kF3WN0138名無しさん@お腹いっぱい。
01/10/26 11:48ID:???read.cgiでは直ってるみたいね。
0139名無しさん@お腹いっぱい。
01/10/26 11:54ID:???0140名無しさん@お腹いっぱい。
01/10/27 00:02ID:7lO0RLH00141名無しさん@お腹いっぱい。
01/10/28 01:33ID:???0142名無しさん@お腹いっぱい。
01/11/08 04:45ID:???詳説難しいって言う意見が有るけど(確かに ^-^; )
俺は最初詳説買ってチンプンカンプンだったんで、ゆたか氏の正規表現入門を
買ったよ、それから詳説読んだら理解がすすみやすかった
0143名無しさん@お腹いっぱい。
01/11/17 19:17ID:BIcYTt7w0144吉野家シリーズでいってみよう!
01/11/17 22:44ID:Sr4+rAbn先日、正規表現のエンジン書いたんです。NFA.
そしたら単語境界の処理とかどうとか聞いてくるんです。
もうね、アホかと。馬鹿かと。
お前な、正規表現で表せねー機能拡張するんじゃねーよ、ボケが。
機能拡張だよ、機能拡張。
なんか文字クラスかあるし。
よーしパパ繰り返し回数指定サポートだー、とか言ってるの。
ここでぶち切れたね。
正規表現はな、状態数有限、男同士でケツを挿すか挿されるか
そこがいーんじゃねーか、状態数爆発させる奴はすっこんでろ。
あのな、E{8}で8回繰り返すなんてきょうび流行んねーんだよ。ボケが。
得意げな顔して何がPerlの拡張正規表現だ。
お前は本当に前処理展開が必要なのかと問い詰めたい。
小一時間問い詰めたい。
0145sage
01/11/17 22:57ID:???端折らないでちゃんとやってよ〜。
0146名無しさん@お腹いっぱい。
01/11/18 00:31ID:???[0-9a-z]{1,8}
0147143
01/11/18 02:39ID:???0148名無しさん@お腹いっぱい。
01/11/18 02:44ID:???何かネタかと思ったが
0149名無しさん@お腹いっぱい。
01/11/18 03:00ID:???0150名無しさん@お腹いっぱい。
01/11/18 04:31ID:???BBSに削除機能付けるから仕方なくって所だな。。。
0151ひろゆき@管直人
01/11/18 04:41ID:???0152名無しさん@お腹いっぱい。
01/11/18 13:41ID:???「バオー来訪者」に出てきた九官鳥のほうが正しくお礼を言えてるぞ。
0153名無しさん@お腹いっぱい。
01/11/18 17:44ID:???オモロイ
0154名無しさん@お腹いっぱい。
01/12/12 17:13ID:???c:\Program Files\hoge.exe
c:\Program Files\hankaku.mp3
c:\Program Files\全角.mp3
を抽出する方法キボンヌ
m/"\S.*?\S"/g
だと
"c:\Program Files\hoge.exe"
にヒットします.
"なしでヒットする方法キボンヌ(後方参照を使わずに)
0155名無しさん@お腹いっぱい。
01/12/12 17:22ID:9gYD63hd0156名無しさん@お腹いっぱい。
01/12/12 18:22ID:???0157名無しさん@お腹いっぱい。
01/12/12 18:35ID:???目がうろこ
じゃあ
"hoge\\asdf\"hage"
から
hoge\\asdf\"hage
を抜き出す方法って無い?
0158名無しさん@お腹いっぱい。
01/12/12 18:38ID:???そういうファイルがあるってこと?
ファイル名に使えない文字だよ?>"
0159名無しさん@お腹いっぱい。
01/12/12 18:50ID:???0160名無しさん@お腹いっぱい。
01/12/12 19:17ID:???じぶんではやろうとしないんだね。。
/(?:").+(?!"\s)/
0161名無しさん@お腹いっぱい。
01/12/12 21:16ID:???foreach my $n (2..100) {
my $number = '1' x $n;
print "$n\n" if $number !~ /^(11+)\1+$/g;
}
「ほう、正規表現でこんなんできんのかいなー」と思ったコードでした。
0162デフォルトの名無しさん
01/12/12 22:31ID:???0163名無さん@お腹いっぱい
01/12/12 23:48ID:3swbdtRp$_ ='today is monday. tomorrow\ is\ tuesday. I\ hate\ \\\\\\';
while( /\s*((?:\\\S|\\\s|\S)+)\s*/g ){
push( @x, $1 );
}
print join( "\n", @x ), "\n";
切り分けてからバックスラッシュを除去するタイプ。
まとめてやっちゃえないかな。
0164名無しさん@お腹いっぱい。
01/12/13 00:07ID:???0165名無しさん@お腹いっぱい。
01/12/13 00:10ID:???0166名無しさん@お腹いっぱい。
01/12/13 00:12ID:???そこまで古くない
0167名無しさん@お腹いっぱい。
01/12/13 00:37ID:???0168名無しさん@お腹いっぱい。
01/12/13 01:30ID:???0169JAPU@ハーマイオニー萌え ◆JAPUTeX.
01/12/13 03:25ID:???求めているものとは異なると思うけど。
s{\s*((?:\\\S|\\\s|\S)+)\s*}{push @x, $1; $x[-1] =~ s/\G([^\\]*)\\(.)/$1$2/g}eg;
0170名無しさん@お腹いっぱい。
01/12/13 07:49ID:kld8XmGBs///の中にs///いれちゃうってのがおもしろい。
級数的に遅くなっちゃうんだろうけど...
0171名無しさん@お腹いっぱい。
01/12/13 07:53ID:kld8XmGB二つ目は s/\\(.)/$1/g で良いような。
my %escape = ( n => "\n", r => "\r"... );
s{\s*((?:\\\S|\\\s|\S)+)\s*}{push @x, $1; $x[-1] =~ s/\\(.)/$escape{$1}||$1/eg}eg
0172名無しさん@お腹いっぱい。
01/12/13 08:01ID:kld8XmGB# だぶるくおーと
s{\s*"((?:\\[^"]|\\"|[^"])+)"\s*}{push @x, $1; $x[-1] =~ s/\\(.)/$escape{$1}||$1/eg}eg
# しんぐるくおーと
s{\s*'((?:\\[^']|\\'|[^'])+)'\s*}{push @x, $1; $x[-1] =~ s/\\(.)/$escape{$1}||$1/eg}eg
ひとつにまとめたーい
\s*('|")((?:\\[^\1]|\\\1|[^\1])+)\1\s*
うーー。[^\1]って動くのか?
今Perlなし環境なんでためせん....
0173JAPU@ハーマイオニー萌え ◆JAPUTeX.
01/12/13 08:50ID:???何やってるんだろ。
ちなみに、HTMLでは属性値の "..." 内に 「"」を入れたいときには「\"」を
使いません。もちろん、「\n」と書いても改行にはなりません。
あと、欲張りではない .*? とか .+? を使うともう少し簡単に書けそう。
('|") は ['"] と書いた方が微妙に良いかも。
----
どうせなら思い切りトリッキーに
s{\s*((?:\\.|\S)+)\s*}{($x[@x] = $1) =~ s/\\(.)/$1/g }eg;
とか。:-p
# 良く考えたら \\\S|\\\s って \\. ですよね。
そろそろ寝ます。
0174名無さん@お腹いっぱい
01/12/13 10:04ID:MWbyUPNC" を使うのが正解なのかな?
<a title="get it from \"snake hole\"">spank spank</a>
<a title="get it from "snake hole"">spank spank</a>
改行を含める場合はどうしたらいいんだろう...
正規表現パート。
('|") と ['"] はどう違うんだろう。
選択と文字クラス(?) の違い?
諸説正規表現あたり読むとわかるんだろうか。
とりあえず、.+? を使って、
\s*['"]((?:\\.|.)+?)\1\s*
にすることにしました。イロイロサンクス!
0175名無しさん@お腹いっぱい。
01/12/13 10:05ID:???"を使うのが正解です。
0176174
01/12/13 10:59ID:MWbyUPNCあれー? & と quot と ; を書いたはずなんだが... 2ch だと変換されちゃうのか。
もう一個。
今日は(*そりゃもう死ぬほど(ってほどじゃないけど))寒い。
みたいなので、 "(*" から ")" まで一発でマッチさせることって出来ないかな。
ネストしてた場合ってループで処理するしかないのだろうか...
0177JAPU@ハーマイオニー萌え ◆JAPUTeX.
01/12/13 16:38ID:???> 改行を含める場合はどうしたらいいんだろう...
<a title="Mermione
moe">hoehoe</a>
とか。
> ('|") と ['"] はどう違うんだろう。
> 選択と文字クラス(?) の違い?
です。後者の方がバックトラックが発生しないので効率が良いです。
(この場合はそれほど違いは無いですけど。)
>>176
perl5.6以降限定作戦。
$_ = "foo (Hermione (Emma Watson) moe) bar";
$regex = qr/\((?:(??{$regex})|.)*\)/;
($match) = /($regex)/;
print "$match\n";
0178174
01/12/13 19:54ID:???そろそろ尊敬しちゃっていいですか?
でも、
% perl -v
This is perl, version 5.004_05..
なので、諦めて寝ます。
0179JAPU@ハーマイオニー萌え ◆JAPUTeX.
01/12/13 21:54ID:???$regex = qr/\((?:(??{$regex})|.)*?\)/;
($match) = /($regex)/;
こうしないと欲張りマッチになってしまう。
2重まで限定で良ければ、($match) = /(\((?:\(.*?\)|.)*?\))/;
3重まで使いたければ、($match) = /(\((?:\((?:\(.*?\)|.)*?\)|.)*?\))/;
ってのはダメ?
もちろん、(??{ CODE }) 使った方は何重でも使えます。
0180ぴこ
01/12/14 02:30ID:LSCy87gy無くすには、どうすればよいのでしょうか?
$piko =~ s/^[.\n\s ]*//g;
これで無くすと?がHに化けてしまうんです・・・
0181名無しさん@お腹いっぱい。
01/12/14 03:06ID:???同じくらいのレベルの俺だけど…
$piko =~ s/^(?:\s| |\n)+//g;
0182ぴこ
01/12/14 03:34ID:LSCy87gyおぉお〜出来ました感動です!
かなり不安でしたが2chに書き込みしてみてよかったです。
自分の勉強不足が身にしみました
ただ、全角スペースが||で囲まれている理由が
全く分らないのでCGI&Perlポケットリファレンスを
片手に、がばってみます。
このような質問に丁寧に答えていただき
真に有難う御座いました。
0183JAPU@ハーマイオニー萌え ◆JAPUTeX.
01/12/14 03:56ID:???$piko =~ s/^[.\n\s ]*//g;
これは、ソースコードが Shift_JIS で書かれている場合、
$piko =~ s/^[.\n\s\x81\x40]*//g;
と等価になります。
で、さらに言うと、
* (いわゆる) 全角スペースは Shift_JIS で "\x81\x40" です。
* Perlでは原則的に文字列をバイト単位で扱います。
* "?" は Shift_JIS で "\x81\x48" です。
頑張ってください。
あと、このままだと先頭の "." まで削除しちゃいます。
# 文字クラス [...] 中では多くのメタ文字はそのメタ性を失うため。
----
あと、本は少し高いけど「プログラミングPerl改訂版」が良いと思います。(
中身はperldoc に全部載っていますが、本の形態である方が最初のうちは何か
と便利です。)
0184174
01/12/14 13:56ID:eAyIvKrjやりたいことってのは、
普通の文章の中にあらわれる (...) を切取るって作業なんです。
でも、普通の文章の場合、(...) の中に単体で '(' とか ')' が出ることもあるか...
諦めます。
0185名無しさん@お腹いっぱい。
01/12/18 00:11ID:lPs5lnwvあるってどこかで見て一度見てみたいんだけどgoogleで調べても出てこない。
だれか、コード or コードを載せてあるページ知ってる人いない?
恥ずかしながら、どうやって解いているのか見当もつかない。
0186名無しさん@お腹いっぱい。
01/12/18 00:31ID:???0187名無しさん@お腹いっぱい。
01/12/18 00:39ID:???人食い族と宣教師がボートに乗って川を渡る
とかいうやつじゃないの?
0188名無しさん@お腹いっぱい。
01/12/18 01:14ID:???スマン。
問題書いてなかったね。
3 人の宣教師と 3 人の人喰い土人が川の左岸にいます.
1 隻の 2 人乗りボートを使って,
右岸に渡るにはどうすれば良いでしょうか?
ただし土人の人数が宣教師の人数よりも多くなると,
宣教師は喰われてしまいます
という問題。
0189名無しさん@お腹いっぱい。
01/12/18 01:52ID:???0190名無しさん@お腹いっぱい。
01/12/18 02:36ID:???でプログラム技術板で解いてたとか。(18,52あたり)
ちょっと違う問題っぽいけど。
肝心のムの板スレは見つからず・・・
0191190
01/12/18 02:41ID:???0192名無しさん@お腹いっぱい。
01/12/19 00:58ID:???おもしろそうだから探してみたけど見つからなかった (-v-;
正規表現のコンパイラを上手く使って分岐するのかな?
と言うかこの問題ニ分木で解いたけど難しかった。。。
0193名無しさん@お腹いっぱい。
01/12/19 19:57ID:iZmRvdOPまとめようと思いました。IEのバージョンとwinのバージョン以外は無視するつもりで
/MSIE.*5\.5.*Windows.*98/
とやっても
Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Win 9x 4.90)
Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)
などにマッチしてくれません。正規表現道場の師範の方々にご教授願いにあがりました。
環境はActivePerl(perl5.6.1 built for MSWin32-x86-multi-thread) on Windows2000proです。
一応分け方としてはMSIE5.01, 5.0, 5.5, 6.0とWindows 95, 98 ,NT5の組み合わせを
考えています。
#それにしてもヴァージョン違いの多さにあきれてしまいます。そういえばMeがでてきません。
#98の3rdエディションともでていなかったけど
0194名無しさん@お腹いっぱい。
01/12/19 20:11ID:1HBNd19Z最短は何手なの?
自分も解いてみたけど13手だった。
0195JAPU@ハーマイオニー萌え ◆JAPUTeX.
01/12/19 20:56ID:???マッチしますが?
0196名無しさん@お腹いっぱい。
01/12/19 21:53ID:FzZSVld0コーディングの問題でした。
処理が下に抜けていた。
修行し直します。
0197名無しさん@お腹いっぱい。
01/12/20 17:08ID:???例えば、/\d+/とかだったら、0、/\d+\w+/だったら、0aとか。
0198JAPU@ハーマイオニー萌え ◆JAPUTeX.
01/12/20 18:04ID:???0199名無しさん@お腹いっぱい。
01/12/20 23:34ID:???0200名無しさん@お腹いっぱい。
01/12/20 23:46ID:dNXMf8EIちょっと違うけど。
問題クレクレ
http://piza.2ch.net/tech/kako/989/989687023.html
船渡し問題
http://piza.2ch.net/tech/kako/990/990503990.html
スクリプト
$_='i=FMBBGGSD;@n=(F,M,B,G,S,D);Yp{_X!(/D/&!/S/&/[^D]/|/F/&/G/&!/M/|/M/&/B/&!
/F/)}Yz{_X!_|/[FMS]/}Yr{aXbXp(a)&p(b)&p(a.b)&z(b)}Yt{my(@o,c,d,e,f,g,h,i,j);c=k
%2;e=iXf=jXif(c&!f){push@m,join"\n",@l,k,"";return}_=e;y/FB/MG/;return if Z&Z<=
k;Z=k+1;@o=(@n,"");for g(@n){shift@o;for h(@o){e=i;d=g.h;f=j.d;next if e!~s/g//
|h&e!~s/h//|!r(e,d);a="e->d j";a="j d<-e"if c;push@l,a;k++;t(f,e);k--;pop@l;}
}}t i;print@m,@m+0';s/X/=shift;/g;s/Y/sub /g;s|Z|\${c}{join"",sort split//}|g;s
/[|&]/$&$&/g;s/\b[_-k]\b/\$$&/g;eval
0201名無しさん@お腹いっぱい。
01/12/21 02:38ID:???0202185
01/12/21 03:29ID:???おお、どうもありがとう。
こっちの船渡し問題は昔Cでhash使って、最短手数出るように
解いたんだけど、このスクリプトもちゃんと同じ17手になるんだね。
しかし、見にくいコード・・・。
0203174
01/12/21 06:58ID:???ああ、それたまに欲しくなるよね。
$pattern ="hogehoge";
$dummy =/^${pattern}_[Gg][Ee][Tt]\s*=\s*(.*)/;
while( // ){
...
}
$patterm も case を ignore してほしいのよ。
素直に i つかえばいいんだろうけどさぁ...
0204174
01/12/21 07:00ID:???ああ、ちょっと違う。
$pattern ="[Hh][Oo][Gg][Ee][Hh][Oo][Gg][Ee]";
だった。
んで、$dummy をどうするかって話...
0205JAPU@ハーマイオニー萌え ◆JAPUTeX.
01/12/21 07:18ID:???何が言いたいのか良く理解できないので、想像して書きます。
$pat = "abc"; のとき、/${pat}de/ で "ABCde" も受理されるようにしたいっ
てこと? それなら/(?i:$pat)de/ とかいう感じで。(The letters between ? and
: act as flags modifiers, see the (?imsx-imsx) manpage.)
繰り返しになるけど、ある正規表現が受理する文字列は無限に存在する可能性
があるので、正規表現 => 受理する文字列を全て見つける は不可能だよ。正
規表現じゃなくて単純なパタンならある程度可能だけどね。
# 単純な例として、// とか /moe/ とかの場合考えると分かると思う。
とりあえず、>>203 は分かりやすい日本語でも書いてろってこった。
0206名無しさん@お腹いっぱい。
01/12/21 08:15ID:???の言ってることは意味不明だけど、>>197は「全て」とはひとことも
書いてない。一つだけでいいんだろ。
とりあえず、JAPUは脳内変換やめろってこった。
>>197
できないことはないだろうけど、正規表現パースして解析して
とかカナーリめんどくさいことになりそう。
0207名無しさん@お腹いっぱい。
01/12/21 08:37ID:???0208名無しさん@お腹いっぱい。
01/12/21 08:53ID:EZ0rO4Ln0209名無しさん
01/12/21 09:32ID:???0210名無しさん@お腹いっぱい。
01/12/21 09:33ID:???学生さんの冬休みの自由研究としてちょうどいい分量かも。
1. 正規表現をparseしてオートマトンを作る。
2. オートマトンからゴールに向かって状態を遷移させていく。(無限ループに注意)
みたいな感じか。
1で作るオートマトンでのNFAとDFAの比較、2で最短の解を求めるアルゴリズム
なんかを考察してみるのも楽しそう。
0211名無しさん@お腹いっぱい。
01/12/21 09:37ID:???perlはあまり使ったことがないので、203さんの言ってることは
ちょっとよくわかんないんですが、
全てヒットする必要はありません。
一個でもヒットする文字列ができればいいんです。
if ($str =~ /\d+/) {
}
とかあったときに、ifが成立するようなstrを生成したいというだけなので、
全ては必要ないですし、長さが最低でなければならないというわけでもありません。
>>206
自分でもいろいろ考えた結果、自分でパースするしかないかと思い
かなりめんどくさそうだったので、もしかしたらなんかいい方法あるかも?
とか思い質問したんですが、やっぱ地道な方法しかありませんか……
■ このスレッドは過去ログ倉庫に格納されています