正規表現
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG0081名無しさん
NGNG>ずっと難しいと思う。
正確さを諦めればずっと簡単。
かんなの辞書データで最長一致を求めていけば意外と
辞書の構成の妙でうまく単語分解するのでびっくり。
もちろん、本格的なシステムにはなんないですけど、
キーワード検索程度には使える。
0082デフォルトの名無しさん
NGNGPerl5.005 からの機能
0083デフォルトの名無しさん
NGNG0084デフォルトの名無しさん
NGNGオライリー「詳説 正規表現」を飼え
「正規表現の達人」は浅すぎる。
0085デフォルトの名無しさん
NGNGどうやればいいのかな?
0086デフォルトのななしさん
NGNGegrepやsedなら-vオプション、
Perlなら{ hogehoge if $_ !~/pattern/; }
だろうな。
0087デフォルトの名無しさん
NGNGでウチのエディタ(JRE32.dll使用)は何故かマッチした。アレ?
008887
NGNG0089デフォルトの名無しさん
NGNG/^(?!.*hoge.*).*$/
009190=89
NGNG0092デフォルトの名無しさん
NGNGためにヒットさせる正規表現として「置換前」に入れるもの
\(\f[^0-9)\n]*\f\)
をどこかで読んで使ってるんですが、分析ができないので、応用が利きません。
これを日本語にしてもらえないでしょうか?
とくに0-9の後の ")" が分からないんです。
0093デフォルトの名無しさん
NGNG何の正規表現?
\([^0-9]*\)
だと
(aaa)aaa) という文字が来たとき、1つ目の ) を含めて全体を置換してしまう(*は欲張り)。
[^0-9]* は「0から9以外のいずれか1文字が0個以上」という意味なので ) という文字も含まれてしまうため。
\([^0-9)]*\)
だったら 「0から9と ) 以外のいずれか1文字が0個以上」という意味になるので、
) という文字が来たときにマッチングは止まり、 (aaa) の部分のみが正しく置換される。
つまり、92さんの分からないという ) も 0-9 と全く同じように文字を指定しているに過ぎない。
一般に最小マッチが出来ない環境で * や + といった文字の欲張りな挙動を抑えるために
.*終了文字
.+終了文字
を
[^終了文字]*終了文字
[^終了文字]+終了文字
と書く。
(正確には
[^終了文字\n]*終了文字
[^終了文字\n]+終了文字
)
こんなんでどう?
0094名無しさん
NGNG穴、赤貝、赤烏帽子、赤団子、赤門、あけび、あぐら開き、上がりぼぼ、
あさぼぼ、葦原、天岩戸、穴熊、あわび、あわびくぼ、あらばち、蟻の門
渡り、青田八反、あたたかまんじゅう、空家、合わせ貝、泉、池、猪、磯
巾着、淫門、厩、うなぎ開き、大口、おかんこ、奥の院、御香箱、お黒も
の、おとし穴、斧きず、お鉢、大皿、お箱、落ちくぼ、おまんじゅう、お
まん、おまんこ、おめこ、おちゃっぴい、かくしどころ、かくれどころ、
かんこ、観音、開帳、歓器、柏餅、かわらけ、皮財布、貝、蟹、きず、巾
着、玉門、客間、局所、くぼ、くみど、くぼみ、くど、桑名、くるみ、栗、
毛雪駄、毛巾着、毛まんじゅう、毛靴、毛桃、鯉口、御秘蔵、木ノ実、故
郷、香開、細工場、さかずき、ささげ、三寸、三角、逆さ富士、逆さ舟、
鞘、蜆、四十八ひだ、しなたりくぼ、しも、下の口、品物、朱門、女根、
すずり、すだれ、巣、すり鉢、せり箱、そそ、空、そら豆、空割、たれ、
たま、谷間、大衆風呂、足袋、たらい、丹穴、茶碗、茶釜、茶壷、筑紫つ
び、ちゃんこ、ちゃんべ、ちょこ、ちんつび、つびたり、つぼみ、つぼ、
つか袋、露穴、鉄開大明神、兜巾、戸口、洞庭の月、洞門、道具、常闇、
とさか、戸立、薙刀、情所、内陣、なま貝、奈落、肉まんじゅう、如来、
沼、のこ、乗合舟、畑、蛤、花、はじけ豆、はりま鍋、火消壷、ひなさき、
びり、菱餅、秘境、人穴、船霊、風呂、舟、ふいご、篩、へき、べにうす
ざん、へへ、へっぺ、べっちょ、へその下、べこ、ほと、ぼぼ、ぼぼじょ、
ほがみ、報謝開、ぼぼっこ、牡丹餅、ぼっしょー、ぽっぽ、ぽっぽじょ
0095デフォルトの名無しさん
NGNG多分秀丸の正規表現だと思われ。
マッチした部分を置換後文字列に反映させる時に\fって使ったような。
009692
NGNG秀丸マクロです。
ご説明、よくわかりました。特に前半部分。
あと、後半部分の、「終了文字」あたりがまだ理解不十分です。
良い例があったらと探しているんですが、思いつかないので、
よかったらお聞かせください。
0097デフォルトの名無しさん
NGNGこのスレは終了します。
0098終了中申し訳ありませんが・・・
NGNG<td><a href="./kabe/shingomama.gif"><img src="new.gif">慎吾ママ</a>[120*120]<br>
<a href="./kabegami/you.gif">IS IT YOU?</a><br>
こういった文字列の<a href=■■■■.gif>って文字列だけを、
<a href=■■■■.htm>に変える方法がわかりません(^^;
どなたか解いていただけませんか?
0099デフォルトの名無しさん
NGNG0100デフォルトの名無しさん
NGNG正規文法・正規言語・正規表現・有限オートマトンあたりで検索。
0101デフォルトの名無しさん
NGNG「なぜそれを正規表現と呼ぶか」は、たいていだれも、
なかなか技術の本では教えてくれないな。
たぶん言語学の本にのってる?
0102デフォルトの名無しさん
NGNGundef $/;
while(<>){
s/(<.*?>)/gif2html($1)/esg;
print ;
}
sub gif2html{
my $string = shift;
$string =~ s/([\w\d]+\.)gif/$1html/g;
return $string;
}
0103デフォルトの名無しさん
NGNG「正規文法と同等の表現力を持つから」だと思うが、そもそも何で
正規文法と呼ぶのかは謎ですね。
文脈自由文法あたりは、なんとなく意味が通るけど。
0104デフォルトの名無しさん
NGNGs/(<a href="\w+)\.gif(">)/\1.html\2/g;
じゃだめなの?
0105104
NGNGs/(<a href="[\w\/]+)\.gif(">)/\1.htm\2/g;
0106デフォルトの名無しさん
NGNGhttp://ei5nazha.yz.yamagata-u.ac.jp/~aito/lang-model/node18.html
文法とクラス
「文法とクラス」っていうよりは「文法のクラス」だろって
つっこみたいが。。あるいは「文法とその諸クラス」
0107デフォルトの名無しさん
NGNG文字通り、文法の規則性が高いからじゃないの。
入力文字列にどういう規則があるか、と考えたときに
有限個のキャラクタと数少ない規則で全てが表現
できます、というわけだから。微分もできるし。
0108デフォルトの名無しさん
NGNG0109デフォルトの名無しさん
NGNGあくまで「数学的には」そうかもね。
regularの訳語 正規/正則 は両方ある。
regularって原語でどういう意味に使われてるんだろうな。
0110デフォルトの名無しさん
NGNG−正規表現の起源−
http://www.microsoft.com/japan/developer/scripting/jscript/doc/reconearlybeginnings.htm
0111デフォルトの名無しさん
NGNG0112デフォルトの名無しさん
NGNGじゃ、正則じゃなくて正規って呼ばれるのは何でだろうね。
数学のほうのregularの訳語で正規って使うのかな?
0113デフォルトの名無しさん
NGNGとか
0114デフォルトの名無しさん
NGNGなんか、一気にレベルが下がったな。
0115デフォルトの名無しさん
NGNG「詳説 正規表現」と同レベルだな
0116デフォルトの名無しさん
NGNG0117デフォルトの名無しさん
NGNG理論的に無理です。
0118デフォルトの名無しさん
NGNG$NAME = [_A-Za-z][_A-Za-z0-9]+
$TYPE = (int|double|float|char)
$VAR = TYPE[ ]*(NAME|NAME = $VAL)*;
$FUNC = $TYPE[ ]+NAME[ ]+\(|TYPE NAME(;TYPE NAME)\)
0119デフォルトの名無しさん
NGNG例: a regular fellow
いいやつ、好漢
0120デフォルトの名無しさん
NGNG「Cの構文規則を」とは言ってないみたいだけど?
0121デフォルトの名無しさん
NGNG0122デフォルトの名無しさん
NGNGでvalue以外をnullに置き換えたいんです
value=\"*\"
以外ってどう表現したらいいですか?
0123デフォルトの名無しさん
NGNG言語/環境は?
Perl ならたとえば
s/^value="(?!value\b)[^"]*"$/value="null"/;
…なんてのがうまく動いているようにみえる。
0124デフォルトの名無しさん
NGNG0125デフォルトの名無しさん
NGNGDFAと正規表現が同等なことを利用して、
DFAをつくろうにも状態数が無限になってしまうといえればいいのか?
0126デフォルトの名無しさん
NGNGなんとなく分かった気がする。
0127124
NGNG今も漠然としか分かってないんだけどね、まぁ要するにツリー状に
表せる状態遷移の系図ですか?
Perlの正規表現は\1とかで後方参照できるから、厳密には
正規表現からDFAへの対応は作れないような気がするんだけど、
どんなもんでしょうね。
0128デフォルトの名無しさん
NGNG後方参照は言語の機能であって正規表現とは関係ない。
0129デフォルトの名無しさん
NGNGよって DFAにも落とせないと。
0130128
NGNGhttp://www.linux.or.jp/JM/html/LDP_man-pages/man7/regex.7.html
0131デフォルトの名無しさん
NGNG\1がまっとうなDFAではできないことは明白だな。
サポートしてるやつはだいたい、NFAで工夫してるようだね。
■ このスレッドは過去ログ倉庫に格納されています