10/04/12 23:41:00
この場合、量指定子は関係ないんじゃないの?
・「C:\aaaa\bbbb\hogehoge.txt」に対して「(?=\.txt)」をマッチさせると e と . の間の一箇所のみがマッチ
→[^\\]+ を欲張りにマッチさせて「hogehoge」
・「C:\aaaa\bbbb\hogehoge.txt」に対して「(?!\.txt)」をマッチさせると e と . の間以外のすべてがマッチ
→[^\\]+ を欲張りにマッチさせて「hogehoge.txt」(t と行末の間までマッチ)
ってことじゃないのかな
112:デフォルトの名無しさん
10/04/13 15:31:26
うーんやっぱり量指定子が全部食ってるのかな?
けど量指定子が全部食うなら [^\\]+(?=\.txt) でおkな理由もよく分からんし
結局>>111の用に先読みが位置アンカーとしか動作しないことをよく考えるべきなのかなかな?
113:108=112
10/04/13 17:34:02
すいません、ちょっと勝手な自分の考察をだだ流しすることになりますけど
[^\\]+(?!\.txt) と (?!\.txt)[^\\]+ は同じ結果になる。
[^\\]+(?=\.txt) と (?=\.txt)[^\\]+ は結果が違う。
やっぱり>>110と>>111さんのいうことでOKなんですね。
「C:\aaaa\bbbb\hogehoge.txt」
(?!\.txt)[^\\]+でヒットするのは「.txt」の「.」の前以外の場所全て。その場所を起点として後ろ側で[^\\]+が当てはまる所は全部食う。
[^\\]+(?!\.txt)でも結局「.」の前以外の全ての場所になり、[^\\]+で食うので今回の例の場合は結果が変わらず。
[^\\]+(?=\.txt)なら「.」の前でのみヒットし、その前で[^\\]+も当てはまる所は食う。(?=\.txt)[^\\]+なら後ろ側を食うので結果が違う。
[^\\]+(?=\.(?!txt))
位置検索で「txt」じゃない場所を探す→たくさんのヒットの中から「.」があるところを検索→それより前の部分で[^\\]+ =ファイル名
はあ大分スッキリしました。結局先読みを「^」や「$」と同じように考えればいいんですね、多分
答えくれた方々ありがとやんした!
114:デフォルトの名無しさん
10/04/13 19:02:56
>けど量指定子が全部食うなら [^\\]+(?=\.txt) でおkな理由もよく分からんし
おkに決まってるだろ
あほか
115:デフォルトの名無しさん
10/04/13 19:09:32
結果が出た後に批判だけするのダサイからやめとけ
116:デフォルトの名無しさん
10/04/14 03:15:36
文字コードのエスケープシーケンスについて教えてください。
preg_match("/^[ぁ-ゞ]+$/u",$str)
をUTF-8 コード表記にすると
preg_match("/^(\xe3\x81[\x81-\xbf]|\xe3\x82[\x80-\x9e])+$/",$str)
と、某所にあったのですが、\xe3\x81~ の意味が判りません
ぁ:0x3041 む:0x3080 ゞ:0x309E は判ったのですが、どういう法則で、\xe3\x81~となるのでしょうか?
コード表
URLリンク(www.unicode.org)
117:デフォルトの名無しさん
10/04/14 03:28:00
U+3041はUTF-8だと\xe3\x81\x81
U+309EはUTF-8だと\xe3\x82\x9e
UTF-8の3バイトめは\x80-\xbf
118:デフォルトの名無しさん
10/04/14 10:08:13
>>113
ゼロ幅表明の場合、カーソルは移動せず、立ち止まってちょっと後ろを振り返って
みたり、先を見渡してみたりして思ったような正規表現になっているかを確認する
作業だったような気がします。
[\\+]+(?=\.txt)
の場合は、「\.txt」の直前までカーソルが移動した状態でtrueとなる。
その後いくらカーソルを先に移動してもこの正規表現がtrueとなることはない。
[\\+]+(?!\.txt)
の場合は、「.txt」の直前までカーソルが移動した状態ではfalseだが、
「\.txt」の\.の直後以降にカーソルが移動した状態ではtrueとなる。
カーソルのイメージができればもっとスッキリできるのでは?
119:116
10/04/14 12:49:27
>>117サン
>U+3041はUTF-8だと\xe3\x81\x81
レスありがとうございます
そういうのって、どういう法則なんでしょうか。
任意の文字の\xnn\xnn\xnn形式に変換するには、どーすれば。。
120:デフォルトの名無しさん
10/04/14 23:50:50
>>119
自分で調べようよ…
Googleで「UTF-8 仕様」で検索してみるとかさ。
121:116
10/04/15 14:49:27
判りやすいのがなくって・・(涙
全然、わかんないです。
122:デフォルトの名無しさん
10/04/15 14:59:08
UTF-8でぐぐれば上の方にあるだろうウィキペディアのUTF-8の
「エンコード体系」に書いてある内容でわからなければ、そもそも
プログラミングや文字コードの基礎が足りないので勉強しろとしか
いえないな。
123:デフォルトの名無しさん
10/04/15 15:08:28
>>121
あんた馬鹿?
「u+3042 e3 81 82 あ」でぐぐって2番目にヒットしたサイトに解説があるんだけど。
曰く、
firstByte = 0xe0 | (ucs2 >> 12);
secondByte = 0x80 | ((ucs2 >> 6) & ((1 << 6) - 1));
thirdByte = 0x80 | (ucs2 & ((1 << 6) - 1));
とあるね。
124:デフォルトの名無しさん
10/04/15 15:11:31
>>120
あんた馬鹿?
自分が調べたらええやん
125:デフォルトの名無しさん
10/04/15 16:13:52
>>123
あんた馬鹿?
なんで乞食に餌与えるのよ
126:デフォルトの名無しさん
10/04/15 16:18:20
>>125
あんた馬鹿?
いつまでスレ違いの話を続けるのよ。
127:デフォルトの名無しさん
10/04/15 18:58:09
>>126
あんた馬鹿?
ネタに釣られるなんて
128:デフォルトの名無しさん
10/04/16 06:24:26
キモッ
129:デフォルトの名無しさん
10/04/16 11:30:52
>>124-127
これをあぼーんするNGEXは
^(あんた)*(馬鹿|バカ)?.+(ええやん)*
130:デフォルトの名無しさん
10/04/16 21:36:05
s/(\/\w\w)(\.htm)/$10$2/で、$1の直後に0を付けたいのですがどうも$10と解釈しているようで
うまくいきません。これの回避方法を教えてください。
131:デフォルトの名無しさん
10/04/16 21:40:02
>>130
あ~出来ました。いちど別の文字にしてから0に変えました。
132:デフォルトの名無しさん
10/04/16 22:03:22
>>129
それ試してみたんだけど、必ずマッチが成功してしまうのだ。
これじゃあぼーんできないよ。。
133:デフォルトの名無しさん
10/04/16 22:30:16
>>132
^[\s ]*<a\shref=.+>>\d.+<br>[\s ](あ[んな]た|おいら)*(馬鹿|バカ)[??]?.+(ええやん)*
134:デフォルトの名無しさん
10/04/18 19:49:05
現在地球上で最も優れた正規表現の実装はどこにありますか?
135:デフォルトの名無しさん
10/04/18 19:50:39
自前で実装すれば、boostもperlも遅いからな・・・
136:デフォルトの名無しさん
10/04/18 20:15:59
鬼車
137:デフォルトの名無しさん
10/04/19 18:12:57
>>130
普通に${1}0ってしろよ。
138:デフォルトの名無しさん
10/04/26 16:47:51
正規表現クックブックが出たな
139:デフォルトの名無しさん
10/04/26 17:52:46
>>137
thx
140:デフォルトの名無しさん
10/04/26 18:00:01
なんでこんなにややこしいことになってるの?
もうすこし表現が簡単になればいいのに
便利に使うための記述じゃないの?
141:デフォルトの名無しさん
10/04/26 18:37:07
ではあなたの考える分かりやすくて便利な性器表現をここで披露してみてくださいな
142:デフォルトの名無しさん
10/04/26 18:40:37
>>141
凹凸 これでいいか
143:デフォルトの名無しさん
10/04/26 18:41:11
↑
正規表現で選民意識かよきめえw
144:デフォルトの名無しさん
10/04/26 18:47:42
♀
♂
145:デフォルトの名無しさん
10/04/26 19:41:28
>>138
ふくろう本あればもう他はいらなくね?
時々>>140みたいな香具師が開発チームにいて
「正規表現は可読性が落ちるから使うな」とか抜かすが、
そこは「お前の知識が浅いだけじゃん」とCoolに決めて黙らす
相手は団塊爺PGだったりするんだが昔は正規表現嫌われてたのかね
146:デフォルトの名無しさん
10/04/26 19:58:40
イット業界
こわいお(;_;)
147:デフォルトの名無しさん
10/04/26 20:00:30
当たり前のように使うようになったのは、Unixの文化だねぇ。
Unixへの憧れなしでパソコンユーザーだったおっさんとか、
メインフレーム屋やオフコン屋は拒否反応を示すのかも。
148:デフォルトの名無しさん
10/04/26 20:26:07
↑
偉い偉い
その優秀な頭脳でい仕事してくださいね!
149:デフォルトの名無しさん
10/04/26 20:36:37
誰に対しての反応なのかわからないよ。
時間的にもおかしくない?
150:デフォルトの名無しさん
10/04/26 20:41:27
↑
偉い偉い
その優秀な頭脳でいっぱい仕事してくださいね!
151:145
10/04/26 21:08:58
>>147
なるほどねー
パンチカード世代のUNIX系知らない団塊は毛嫌いするって事か
まぁ今更勉強しろとは言わないけど最低限読めるように頑張れよ>>150
152:デフォルトの名無しさん
10/04/26 23:51:58
↑
偉い偉い
その優秀な頭脳でいっぱい仕事してくださいね!
153:デフォルトの名無しさん
10/04/26 23:53:57
2・3日前くらいからいろんなスレでキチガイを見かけるが同一人物か?
154:デフォルトの名無しさん
10/04/27 00:46:11
今時、正規表現のロジックが理解できない奴は新しいコードなんて書けない
既存の古いコードのメンテでもやってればいい
155:デフォルトの名無しさん
10/04/27 00:48:52
↑
偉い偉い
その優秀な頭脳で新しいコードいっぱい書いてくださいね!
156:デフォルトの名無しさん
10/04/27 01:37:23
否定先読みなんかはどうも感覚と一致しなくてバグが潜んでたりするなぁ
157:デフォルトの名無しさん
10/04/27 01:44:59
↑
偉い偉い
その優秀な頭脳でバグのないコードいっぱい書いてくださいね!
158:デフォルトの名無しさん
10/04/27 01:45:25
最近いろんなブラウザでJavaScriptのエンジン開発やってるけど
正規表現の後読みが使えるブラウザって存在するの?
どっかのブラウザが対応したらその流れでIE9でも対応しないかなと期待してるんだけど。
159:デフォルトの名無しさん
10/04/27 02:07:53
正規表現エンジンは、どのブラウザも全く同じ。
基本的に、コアの実装はIEでさえ標準に準拠してる。
ブラウザ間の差があるのは、「クライアントサイドJavaScript」の部分。
160:デフォルトの名無しさん
10/04/27 02:22:28
↑
偉い偉い
その優秀な頭脳で後読みが使えるブラウザを書いてくださいね!
161:デフォルトの名無しさん
10/04/27 13:18:15
'20100427' を (\d\d\d\d)(\d\d)(\d\d) でマッチさせると2番目は '04' となります。
このようなときに、先頭の0を取り除いて4を切り出すということは正規表現だけで実現できるでしょうか?
162:デフォルトの名無しさん
10/04/27 13:34:06
(\d\d\d\d)0(\d)(\d\d)
163:デフォルトの名無しさん
10/04/27 13:42:13
すみません、もちろん仮定は「同時に '20101203' が 2010, 12, 3 と切り出せること」です。
164:デフォルトの名無しさん
10/04/27 13:47:59
(\d\d\d\d)0?(\d?\d)0?(\d?\d) だと、
20100403 の時に変なことになるし、
たぶんできない。
165:デフォルトの名無しさん
10/04/27 13:55:32
(\d\d\d\d)(?:0|([1-9]))(\d)(?:0|([1-9]))(\d)
と1桁ずつキャプチャしてつなげるとか?
166:デフォルトの名無しさん
10/04/27 16:54:53
↑
偉いなあお前らは
俺はワイルドカードも使えないがせいぜい頑張ってな
167:デフォルトの名無しさん
10/04/27 17:03:00
単一のキャプチャの(...)でこの2つの場合を区別するのは
ムリだろ。入り口が有限状態オートマトンの1状態にしか
対応させられないから1桁とるべき場合か2桁取るべき場合
かの情報の持ちようがない。
168:デフォルトの名無しさん
10/04/27 19:32:05
>>161
(\d{4})0?([1-9]?\d?(?=\d{2}))0?([1-9]?\d?)
169:デフォルトの名無しさん
10/04/27 19:33:09
すまん間違えた
(\d{4})0?([1-9]?\d?(?=\d{2}))0?([1-9]?\d?)
170:168=169
10/04/27 19:34:30
二重に間違えてるし…吊ってくるorzorz
^(\d{4})0?([1-9]?\d?(?=\d{2}))0?([1-9]?\d?)$
171:デフォルトの名無しさん
10/04/27 19:53:14
あー、^はいらないか
後ろが行末じゃない場合にも対応するならこうかな
(\d{4})0?([1-9]?\d?(?=\d{2}))0?([1-9]?\d?)(?!\d)
172:デフォルトの名無しさん
10/04/27 20:17:03
正規表現一本でなんでもかんでもやろうとするのって
PerlやRubyで一行野郎と変わらない阿呆だな
173:デフォルトの名無しさん
10/04/27 21:01:58
↑
偉いなあお前は
優れたツール使って頑張ってな
174:デフォルトの名無しさん
10/04/27 21:33:41
レベル低いな
175:デフォルトの名無しさん
10/04/27 22:34:36
>>172
正規表現一本も読めない奴が、このスレで何してんの?
176:デフォルトの名無しさん
10/04/27 23:27:25
↑
優秀なんだな君は
俺はワイルドカードも使えないが正規表現で頑張ってね
177:デフォルトの名無しさん
10/04/27 23:45:23
↑
a = b
a^2 = ab
a^2 - b^2 = ab - b^2
(a + b)(a - b) = b(a - b)
a + b = b
2b = b
2 = 1
178:デフォルトの名無しさん
10/04/28 00:32:33
>>177
なつかしすw
179:デフォルトの名無しさん
10/04/28 07:42:31
(a + b)(a - b) = b(a - b)
a + b = b
0でわるな
180:デフォルトの名無しさん
10/04/28 08:49:34
>>177
a=42
b=-22のとき
181:デフォルトの名無しさん
10/04/28 12:26:37
JavaScriptです
「xxxx=任意&yyyyyyy=任意&zzzzzz=任意」
と言う文字列から任意の値を各々取るにはどうしたらいいでしょうか?
xyzの文字は各々固定で、任意には何文字入るかわかりません
0文字もあります
欲しい結果は3つ
xxxx=任意
yyyyyyy=任意
zzzzzz=任意
182:181
10/04/28 13:42:54
自己解決
sage忘れすまん
183:デフォルトの名無しさん
10/04/28 15:30:15
教わっといて自己解決かよw
184:181
10/04/28 15:46:38
>>183
いや、JavaScriptスレでもマルチしたけど
結局、正規表現ではダメだったのよ
まぁ…すいませんでしたw
勉強します
185:デフォルトの名無しさん
10/04/28 21:22:49
●正規表現の使用環境 Perl5
●検索か置換か? 置換
●説明
行の最後が > じゃない行(改行コードだけの行も含む)の
改行コード を 改行コード<br>にしたい
改行コードは \n \r \r\n どれでもできるようにしたい
●対象データ
<p>あいうえお</p>
かきくけこ
<p>たちつてと</p>
●希望する結果
<p>あいうえお</p>
かきくけこ<br>
<p>たちつてと</p>
186:デフォルトの名無しさん
10/04/28 23:59:29
頑張ってみたけど、先読みを使うと、\r\nの時に都合が悪くて、
解決方法がわからんかったので置き換えでごり押し。
s/([^>])(\r\n|[\n\r])/$1<br>$2/sg;
改行コードを統一すると、先読みでもう少しスタイリッシュにかけた。
s/(?<!>)(?=\n)/<br>/sg;
何に使うかしらないけど、出力先のOSをみて改行コードを置き換えてもいいと思うんだけど。
サンプルは以下。
my @str = (
"<p>aiueo</p>\nkakikukeko\n<p>sasisuseso</p>\n",
"<p>aiueo</p>\rkakikukeko\r<p>sasisuseso</p>\r",
"<p>aiueo</p>\r\nkakikukeko\r\n<p>sasisuseso</p>\r\n",
);
foreach(@str){
s/([^>])(\r\n|[\n\r])/$1<br>$2/sg;
s/\r\n?/\n/g; # 表示確認のため、改行コードを\nで統一
print;
print "-------------\n";
}
187:デフォルトの名無しさん
10/04/29 02:04:27
>>186
ありがとうございます。
これをよく見て勉強します。
188:デフォルトの名無しさん
10/04/29 18:11:51
>>187
こういう解法もある
s/(.)(\r\n|\n)/$1 eq '>' ? "$1$2" : "$1<br>$2"/sge;
eオプションが使えると色々応用が効くよ
189:デフォルトの名無しさん
10/04/30 00:25:13
Perlならね。
190:デフォルトの名無しさん
10/04/30 02:26:32
ありがとうございます。
これをよく見て勉強します。
↑
頑張ってください
191:デフォルトの名無しさん
10/04/30 09:40:13
sge-
192:デフォルトの名無しさん
10/05/02 09:58:16
適当なフリーのテキストエディタで正規表現を使って以下のような置換を行おうとしたのですが
正規表現には素人なので2つめのパターンをどう表現すればいいのかよく分かりませんでした。
どう書けば上手く置換できるのか教えてください。
1つめのパターン
[[XXXXX]] → {{abc|XXXXX|}} (XXXXXは任意の文字列)
2つめのパターン
[[XXXXX|XXXXX 《YYY》]] → {{abc|XXXXX|def=YYY|}} (置換前の2つのXXXXXは同一の文字列)
例えば
[[日本]] - [[アメリカ合衆国|アメリカ合衆国 《米国》]] - [[イギリス|イギリス 《英国》]] - [[ドイツ]] - [[フランス]] -
[[中華人民共和国|中華人民共和国 《中国》]] - [[大韓民国|大韓民国 《韓国》]] - [[グアテマラ|グアテマラ 《グァテマラ/ガテマラ》]] -
[[朝鮮民主主義人民共和国|朝鮮民主主義人民共和国 《北朝鮮》]] - [[メキシコ]] - [[ギリシャ|ギリシャ 《ギリシア》]]
のようなテキストを、
{{abc|日本|}} - {{abc|アメリカ合衆国|def=米国|}} - {{abc|イギリス|def=英国|}} - {{abc|ドイツ|}} - {{abc|フランス|}} -
{{abc|中華人民共和国|def=中国|}} - {{abc|大韓民国|def=中国|}} - {{abc|グアテマラ|def=グァテマラ/ガテマラ|}} -
{{abc|朝鮮民主主義人民共和国|def=北朝鮮|}} - {{abc|メキシコ|}} - {{abc|ギリシャ|def=ギリシア|}}
のように置換したいのです。
193:デフォルトの名無しさん
10/05/02 10:06:13
正規表現 欲張り
194:デフォルトの名無しさん
10/05/02 13:36:16
{A},{B}
という文字列に下記正規表現はマッチすると思うのですが
\{(.+)\} *, * \{(.+)\}
マッチしません。どこがまずいのですか?
195:デフォルトの名無しさん
10/05/02 13:44:04
\{(.+)\} *, *\{(.+)\}
196:デフォルトの名無しさん
10/05/02 13:46:07
>>195
ありがとうございます。
スペースが入っていましたねw
気づきませんでした。
197:デフォルトの名無しさん
10/05/02 23:31:14
(V)o¥o(V)
198:デフォルトの名無しさん
10/05/03 18:24:33
そりゃ工業高校なんかで最低限の技能をなにか一つ身に付けてる奴なら年齢が最強の武器になるよ
何となく大学院まで行ったような学生よりよっぽど将来有望だ
でも3年間何もせずただ学校に通ってただけってんじゃ駄目だろ
何もしてないどころか勉強ばっかりやって3年間無駄に歳だけ喰って
社会じゃ役に立たない能書きだけ一人前になってたんじゃしょうがないだろ
だから普通科の高卒は中卒以下だって言ってんだよ
199:デフォルトの名無しさん
10/05/05 22:01:58
前に、このすれで、()の中身を配列に入れていく正規表現があった。
(())でも、それぞれの中身を入れていく優れものだった。
あれの発展版で、文章(文章2(文章3)文章4)文章5(文章6(文章7)文章8)文章9
のそれぞれの文章を配列に入れれる正規表現はできないものだろうか?
200:デフォルトの名無しさん
10/05/05 22:25:37
日本語でおk
201:デフォルトの名無しさん
10/05/05 22:34:50
>>199
その正規表現って
((o)(o))ってあってもちゃんと乳首取れる?
ていうか言語クラス違うくね?できるもんなのか。
202:デフォルトの名無しさん
10/05/05 22:35:51
近所が自転車盗まれたても、相当離れてるけどジュース置いたら逮捕w
姉はそれでおっぱい触られたって。
これひどくね?友達の姉の実話な。
203:デフォルトの名無しさん
10/05/05 22:48:00
入れ子になってても順番にキャプチャできる
123456789 に対して 1(2(3)4)5(6(7)8)9 としたら
キャプチャ結果は 234, 3, 678, 7 になる
>>199が何を求めてるのかいまいちよくわからんが
204:デフォルトの名無しさん
10/05/06 08:53:49
>文章(文章2(文章3)文章4)文章5(文章6(文章7)文章8)文章9
がデータだろうから 1(2(3)4)5(6(7)8)9 を与えたら 1, 2, 3, 4, 5, 6, 7, 8, 9 がほしいんだと思うぞ
一方ロシアでは split を使った
205:デフォルトの名無しさん
10/05/06 12:35:18
>ていうか言語クラス違うくね?できるもんなのか。
日本語でOK。
206:デフォルトの名無しさん
10/05/06 15:17:54
>>205
正規表現であって、文脈自由文法じゃないけどできるものなの?
ってことだよ。俺の理解不足だったらすまないが。
207:デフォルトの名無しさん
10/05/06 15:47:52
>>204
たしかにネストなんか気にせずに'('と')'を区切り記号としてsplitするだけでいいな。
さすがロシア。
208:デフォルトの名無しさん
10/05/06 17:01:02
確かに、わざわざ正規表現で処理する内容じゃないなw
209:デフォルトの名無しさん
10/05/06 17:22:49
さくらエディタを使っていて
CHAPTER01=00:00:00.000
CHAPTER01NAME=第一部 オープニング
CHAPTER02=00:09:13.400
CHAPTER02NAME=オラはにんきもの
こういうのを
TRACK 01 AUDIO
TITLE "第一部 オープニング"
INDEX 01 00:00:00
TRACK 02 AUDIO
TITLE "オラはにんきもの"
INDEX 01 09:13:40
こうしたいんですが、正規表現でできるもんなんでしょうか
できるとしたら答えを貰えるのが一番ですが、どこら辺を調べればいいのかヒントをもらえないでしょうか
210:デフォルトの名無しさん
10/05/06 19:01:48
>>209
出来る
サクラエディタの正規表現はperl互換だからperlの正規表現調べればいけると思う
一応、答えると
CHAPTER(\d\d)\=(\d\d\:\d\d\:\d\d)\.\d\d\d\r\nCHAPTER\d\dNAME\=(.*?\r\n)
を
TRACK $1 AUDIO\r\nTITLE \"$3\"\r\nINDEX 01 $2\r\n
で置換すればいいんじゃないかと思う。
(一番最後のINDEX 01ってのがINDEX 02の間違いなら、置換をINDEX 01からINDEX $1に変えてね)
多分
211:デフォルトの名無しさん
10/05/07 00:19:48
>>210
おお!出来ました。ありがとうございます。
正規表現はperlのが使えたんですね。これを機械に勉強してみます。
212:デフォルトの名無しさん
10/05/12 03:15:50
php 5.2です。
あるテキストファイル内の文字列から、''や""で囲まれた場所以外の半角スペースとタブを削除したいんですが(preg_replace?)、
どんな感じにすればいいんでしょうか?
213:デフォルトの名無しさん
10/05/15 19:34:41
以下のような文章があって、NAME~からENDまでの間の文字を正規表現で抽出するにはどうすればよいのでしょうか?
NAME~とENDは含みません。
NAME Haruhi Suzumiya
Haruhi is the title character and leader of the SOS Brigade, whose energetic and
eccentric character proves to be the driving force for the series.
She has a mind for adventure, which often leads her subordinates to be swept into her plans.
END
214:デフォルトの名無しさん
10/05/15 19:39:38
>>213
NAME[\s ]?(?.+)\nEND
215:デフォルトの名無しさん
10/05/19 07:33:29
いい加減な回答だなw
216:デフォルトの名無しさん
10/05/19 22:29:45
正規表現で、"あ(い(う)え(おか)き)くけ" から一番外側の()の中身を取得するにはどうすればよいですか?
217:デフォルトの名無しさん
10/05/19 22:33:54
言語による
218:デフォルトの名無しさん
10/05/19 22:38:27
\1
219:デフォルトの名無しさん
10/05/20 22:14:10
●正規表現の使用環境 Perl5
●検索か置換か? 検索
●説明
りんごにマッチする文字列を検索。
青りんごは対象外としたい。
●対象データ
1,いちご、青りんご、みかん
2,いちご、青りんご、りんご
3,いちご、りんご、みかん
●希望する結果
2と3がマッチ
お願いします
220:デフォルトの名無しさん
10/05/21 00:45:52
(?<!青)(りんご)
221:デフォルトの名無しさん
10/05/21 01:46:36
>>219
/\bりんご\b/
222:デフォルトの名無しさん
10/05/21 02:16:16
>>220
りんごの括弧はいらないだろ。
>>221
蜜りんごは?ねぇ、俺の大好きな蜜りんごは?
223:デフォルトの名無しさん
10/05/21 05:39:03
URLリンク(www.youtube.com)
URLリンク(www.youtube.com)
URLリンク(www.youtube.com)
URLリンク(www.youtube.com)
URLリンク(www.youtube.com)
URLリンク(www.youtube.com)
URLリンク(www.youtube.com)
URLリンク(www.youtube.com)
URLリンク(www.youtube.com)
224:デフォルトの名無しさん
10/05/21 07:53:34
>>220-221
ありがとうございます。
225:デフォルトの名無しさん
10/05/21 09:08:55
★青葉りんご彡☆
226:デフォルトの名無しさん
10/05/21 19:33:34
Javaで鬼車使うには、ランタイムを再コンパイルするしかないの?
227:デフォルトの名無しさん
10/05/22 00:57:13
●正規表現の使用環境
JavaScript2.0? ※Firefox3.5.9+Greasemonkey 0.8.20100408.6+WindowsXP Pro SP3
●検索か置換か?
置換
●説明
( と ) ※括弧と括弧閉じを含む文字列を置換したい。
●対象データ
(Update:2010/01/02)
●希望する結果
(Update:2010/02/03)
続きを書きます。
228:277
10/05/22 01:00:01
変数の wordsBrf.push(""); の "" の中に\マークを入れたりせずに、
文字列を置換させたいです。
//文字を置換
var wordsBef = new Array();//置換前
var wordsAft = new Array();//置換後
wordsBrf.push("(Update:2010/01/02)");//置換前
wordsAft.push("(Update:2010/02/03)");//置換後
var body = document.body.innerHTML;
var i = 0;
for (i = 0; i < (words.length); i++) {
var w = new RegExp( words[i], "gi" );
var body = body.replace( w, words[i] );
}
document.body.innerHTML = body;
229:277
10/05/22 01:06:01
実際には、Webサイトにある更新日 (Update:2010/04/30) という
文字の色を変えるのに使いたいです。※更新”されていない”ものは赤で表示。
TCP Monitor Plus (OGA'sさんのサイト)
URLリンク(hp.vector.co.jp)
//バージョン更新チェック
var color = new Array();
var words = new Array();
color.push("#FF0000");
words.push("Ver2.42");//TCP Monitor Plus
words.push("(Update:2010/04/30)");
var body = document.body.innerHTML;
var i = 0;
for (i = 0; i < (words.length); i++) {
var w = new RegExp( words[i], "gi" );
var body = body.replace(w, "<font color='" + color[0] + "'>" + words[i] + "</font>");
}
document.body.innerHTML = body;
どうかよろしくお願いいたします。
230:277
10/05/22 01:07:27
説明が下手ですみません。
変数の値に直接エスケープ文字を入れたくないという事です。
よろしくお願いします。
231:デフォルトの名無しさん
10/05/22 01:23:34
>>230
本文読んでないけど、メタ文字をエスケープ出来れば済むのならjavascript quotemetaでぐぐるんだ
232:277
10/05/22 01:36:41
>>231
(*・∀・)ノこんばんわ。
レスありがとうございます。
quotemetaはPerlでしか使えないのか~(´・ω・`)と思っていたら、
メタ文字のエスケープ関数のサンプルが載っているサイトがありました。
//追加
function quote(str){
return str.replace(/\W/g, function($0){
return '\\' + $0;
});
};
//変更
var w = new RegExp( quote(words[i]), "gi" );
これで出来ました!
夜遅くにどうもありがとうございました!
233:デフォルトの名無しさん
10/05/28 22:43:12
グローバルフラグを付けなくてもいいようなケースにもグローバルフラグを付けた場合
どれだけ無駄になりますか?とてつもなく無駄ですか?微々たるものですか?
234:デフォルトの名無しさん
10/05/28 22:52:06
検索対象の文字列長による。
グローバルフラグをつけさえしなければ、
最初のマッチング位置以降の文字列は読み込まないので。
ただし、検索対象の文字列の中にマッチングする対象が無い場合は
グローバルフラグをつけた場合と同じぐらいコストがかさむ。
もう作っちゃったなら、性能問題出てから考えたら。
235:デフォルトの名無しさん
10/05/28 22:55:32
>>234
どうもありがとうございます。特に何も感じなかったら気にしないことにします
236:デフォルトの名無しさん
10/05/29 02:17:39
●正規表現の使用環境
C# 3.0
●検索か置換か?
検索
●説明
各行の1番目のAまでを検索したい
{ と } に囲まれた文字列を検索したい
●対象データ
Memo[0]{
[Text] 対象データ
}
●希望する結果
[Text] 対象データ
よろしくお願いします
237:デフォルトの名無しさん
10/05/30 10:50:00
>>216
亀レスだけど、
\(.*\)
で最長一致検索すれば、一番外側の()である
(い(う)え(おか)き)
にマッチする
ちなみに、\(.*?\)で最短一致検索すれば
"(い(う)"と"(おか)"の2箇所にマッチする