[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 05/09 13:48 / Filesize : 160 KB / Number-of Response : 745
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

正規表現 part4



1 名前:デフォルトの名無しさん [2007/08/02(木) 13:53:20 ]
正規表現(Regular Expression)スレです。

質問する場合は実装言語や処理系ソフトウェア名を示しておくと話が早いです。

227 名前:デフォルトの名無しさん [2007/11/08(木) 00:14:41 ]
最初と最後は"/"であり、
その間に"/../"や"/./"が発生しない文字列を
正規表現では記述できますか?

[×]
/etc/../usr/./local/
/../
/./

[○]
/etc/sysconfig/
/abc/.aaaa/

228 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 05:41:48 ]
>>227
正規表現で一気に行うんじゃなくて、
"/" で分割して、各パーツがドットだけで構成されていたらハネる、とか
(ディレクトリトラバーサル対策ならよく調べたほうがいいかも)

229 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 08:45:57 ]
ありがとうございます。
xmlのxsd:patternで書きたかったのですが、だめそうです。考え直してみます。

230 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 13:40:57 ]
>>227
これでどうかな。

^/(([^/.][^/]*|\.[^/.][^/]*|\.\.[^/]+)/)*$

汚染チェックに使うなら>>228の言うようにした方がいいな。

231 名前:デフォルトの名無しさん [2007/11/11(日) 17:33:05 ]
webでの絵文字表示に苦戦しているのですが、
BAD+[SJISコード]を正規表現で表すにはどう書いたらいいですか?

232 名前:デフォルトの名無しさん [2007/11/11(日) 17:34:32 ]
書き忘れていました。言語はPHPで、バージョンは4.4.1です。

233 名前:デフォルトの名無しさん [2007/11/11(日) 23:06:58 ]
ぐ・ぐ・れ

234 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 23:47:19 ]
うん、ググれば全て解決するからこのスレ潰すべきだね。

235 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 23:52:31 ]
aho



236 名前:デフォルトの名無しさん [2007/11/12(月) 00:15:22 ]
ワロタwwwwwww

237 名前:デフォルトの名無しさん [2007/11/12(月) 01:18:32 ]
いや、ググって該当するページを見たんですけど、正規表現の構成の仕方がわからなくて、
ここに書き込みました。
調べるだけ調べたんですけど、やはりだめでしょうか

238 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 01:42:05 ]
だめです

239 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 04:32:21 ]
なんだこいつら 本当はできないんじゃねーの?

240 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 09:32:04 ]
>>239
お、やっと気づいたようだね。それじゃあバイバーイ!

241 名前:デフォルトの名無しさん [2007/11/12(月) 19:50:58 ]
質問です。正規表現でconsumeするというのは日本語でいうとどういうことですか?

242 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 19:59:53 ]
文字を消費するということ。

243 名前:241 [2007/11/12(月) 21:10:47 ]
>>242
ありがとうございます。「文字を消費する」とはどういうことでしょうか?
イメージが湧きません。

244 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 22:24:56 ]
正規表現 /..c/ を "abc" にマッチさせたときを考えると、
最初の /./ は "a" にマッチして消費する。
すると、なんと言うかテキストエディタのカーソルが一つ進むのをイメージしてくれたらよいか、
二個目の /./ が "b" にマッチできるようになる。

245 名前:デフォルトの名無しさん [2007/11/12(月) 22:30:07 ]
テキストエディタの ed ってのが元になってるからね。
カーソルって例えはナイス!



246 名前:241 [2007/11/12(月) 23:16:33 ]
>>244
なるほど、よくわかりました。ありがとうございます。

247 名前:デフォルトの名無しさん [2007/11/15(木) 07:57:08 ]
おはようございます。このスレの過去ログってネットにありますか?

248 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 16:55:18 ]
あります。

249 名前:デフォルトの名無しさん [2007/11/15(木) 20:14:33 ]
アキュムレータの0ビット目って左端?それとも右端?

250 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 00:58:31 ]
>>249
スレ違い。

251 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 23:29:30 ]
>>249


252 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 01:06:19 ]
perl互換のFlexible Renamerで置換したいのですが。
(hoge)hoge(hoge).txtを(hoge) hoge(hoge).txtとしたい場合はどう書けばいいのでしょうか。
)の直後にスペースを入れ、拡張子前の)の直後には入れたくないんです。

253 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 01:30:29 ]
")" -> ") "
" ." -> "."

254 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 01:34:08 ]
>>253
なるほど。2回やるという手が・・・。ありがとうございました。

255 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 09:27:48 ]
リネーマの仕様によるけど、Perl互換なら
"^(\([^)]*\))" -> "$1 "
"^(\([^)]*\))(.*)" -> "$1 $2"
とか。いずれにしても調整が必要



256 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 19:15:56 ]
vb.netで
「// xxxxx EXEC 〜」で始まり、
「// xxxxx EXEC 〜」で始まる1行前までを
1グループで取得したいと考えています

(?ims:(^\/\/+\s+EXEC+.+))
だとまるまる取得してしまうのはわかるのですが、
これを上記の様に取得するにはどう書けばよいのでしょうか?

ご教授よろしくお願いいたします。


257 名前:デフォルトの名無しさん [2007/11/18(日) 20:18:03 ]
split

258 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 02:39:09 ]
>>256
なんでスラッシュをエスケープしてんだよw

.NET の正規表現なら可変長の戻り読みが使えたと思うから、
その始まりのしるしと終端のしるしを戻り読みの部分と先読みの部分に置けば?

.NETで可変長の戻り読みができなかったらすまんw


259 名前:デフォルトの名無しさん [2007/11/22(木) 22:35:09 ]
数値比較をしたいのですが、0x021a4 っていくつなのでしょうか?

260 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 23:13:20 ]
2 * 16^3 + 1 * 16^2 + 10 * 16^1 + 4 * 16^0

261 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 23:17:32 ]
>>259
電卓開く

関数電卓モードにする

16進モードにする

21a4と打つ

10進モードにする

正規表現の話じゃねーし

262 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 01:54:14 ]
ttp://www.google.co.jp/search?hl=ja&q=2*16%5E3%2B1*16%5E2%2B10*16%5E1%2B4*16%5E0&lr=

263 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 01:58:02 ]
www.google.co.jp/search?q=0%2B0x021a4
これでおk

264 名前:デフォルトの名無しさん [2007/11/23(金) 02:44:38 ]
16進数知らないプログラマがいるのか・・・時代は変わったな。

265 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 02:46:28 ]
プログラマじゃないから



266 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 08:04:03 ]
具体的には秀丸エディタで置換を行いたいのですが、こうするには…
--------------
[12:34:56] 発言者1:
文章2
文章3
[12:34:56] 発言者2:
文章4



[12:34:56] 発言者1:
文章2
文章3

[12:34:56] 発言者2:
文章4

--------------
どうしたら良いのでしょうか?(文章の中に [ ] が含まれる可能性は無いものとして単純に)
\n[ と記述すると、正規表現の括弧の対応が合ってないとか怒られてしまいます。

非常に初心者な質問ですいません。

267 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 09:26:00 ]
エスケープ

268 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 11:43:08 ]
regexre
FrameworkFrame

などといったような「同じ文字列とそれに挟まれた別な文字列」を取り出したいのですが、
どういう文を書いたら実現できますか?
PHPのpreg_replaceで使用します。
よろしくお願いします。

269 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 12:00:17 ]
re(.*)re でいけると思うけど。
以下はJScriptだけどこれくらいなら読み取れるよね?

var keyword = "re";
var pattern = keyword + "(.*)" + keyword;
var objReg = new RegExp(pattern);

"regexre".match(pattern);
WScript.StdOut.WriteLine(RegExp.$1);
"rere".match(pattern);
WScript.StdOut.WriteLine(RegExp.$1);
"regexregex".match(pattern);
WScript.StdOut.WriteLine(RegExp.$1);

270 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 12:50:33 ]
Ruby なら (.+)(.+)\1 で $2 を取ればいけるけど、
PHP でいけるかどうかは知らん

271 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 12:53:54 ]
>>269
日本語読解力に大きく欠けますな

272 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 13:00:21 ]
eregexreならrが取れるはずだからつかいものになるのか?

273 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 13:05:34 ]
eregexre なら regexr が取れる。
最長一致だから。
これが目的の物かはともかくとして。

274 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 13:51:50 ]
>>269
すみません、説明不足でした。
同じ文字列というのも未知なのです。

>>270.
ありがとうございます。
Rubyならいける、というのは期待が持てました。
早速調べてみます。

>>272-273
ここも説明不足でした。
「同じ文字列とそれに挟まれた別な文字列」の全てを取得したいです。
つまりThisIsThePenという文字列からThisIsTh(とePe)を取得できるようにしたいのです。

275 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 13:56:24 ]
sIs は要らないの?



276 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 14:00:51 ]
sIs が必要ないならとりあえず Ruby ではこうなる。
PHP でいk(ry

'ThisIsThePen'.scan(/((.+).+\2)/) { puts($1) }

277 名前:デフォルトの名無しさん [2007/11/23(金) 19:31:22 ]
文字列 [全ての文字] を 正規表現 [[]([^\]]+)] で 全ての文字 を取り出すことができますが、 文字列 {全ての文字} で 全ての文字 を取り出す正規表現を教えてください。


278 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 19:42:51 ]
日本語でおk

279 名前:デフォルトの名無しさん [2007/11/23(金) 19:46:56 ]
\{([^\}]+)\}

280 名前:デフォルトの名無しさん [2007/11/24(土) 08:40:39 ]
ありがとう。
すごいね
正規表現分かる人尊敬するわ

281 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 09:46:49 ]
別に大した事じゃない。
すげーとか思って思考停止してるから理解できないだけ。

282 名前:デフォルトの名無しさん [2007/11/24(土) 09:48:41 ]
分かりました。
私も頑張って勉強します

283 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 10:09:17 ]
よし! その意気だ!

284 名前:デフォルトの名無しさん [2007/11/24(土) 11:18:23 ]
ホモビデオからお前ら。

285 名前:デフォルトの名無しさん [2007/11/25(日) 17:53:21 ]
なんでホモなの?
私は女性です



286 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 19:20:34 ]
性同一性障害か

287 名前:デフォルトの名無しさん [2007/11/25(日) 20:30:25 ]
性器表現

288 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 20:32:19 ]
モザイクのことか

289 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 00:01:46 ]
>>285
ホモセクシュアルは同性愛って意味だよ
当然、女性同士でも使う

290 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 12:46:15 ]
ここにいる奴らは全員例外なくホモ



















サピエンス

291 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 15:19:45 ]
ホモ牛乳という名前にはかなりインパクトがあると思うんだ

292 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 15:26:00 ]
「ホモゲナイズド牛乳」じゃ長すぎるべ。

293 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 18:38:03 ]
ホモジニアス・マルチコアを略してホモコア呼べ

294 名前:デフォルトの名無しさん [2007/11/27(火) 08:45:29 ]
みんな頭おかしいのですね。
残念です

295 名前:デフォルトの名無しさん [2007/11/27(火) 11:39:19 ]
HTMLに含まれる CSSの
class="***" や id="**" , aタグの target="***" を削除したいんですが、観よう見真似でやったのですが
マッチしてくれません。どなたか..

(id|class|target|title|style|name)=[\+\$\;\?\.\W\w%,!#~*/:@&=_-]+?

PC用に吐き出されたデータを、携帯用に変換したくて..



296 名前:デフォルトの名無しさん [2007/11/27(火) 11:56:07 ]
target="[^"]*"

297 名前:デフォルトの名無しさん [2007/11/29(木) 17:43:52 ]
HTMLのコメントを取得するにはどうしたら良いでしょうか?
<!--[^-->]*-->
で試したのですが[^-->]だと各文字を含まないとなってしまうのでだめでした。
文字列を含まないって表現方法がわかりません。
お手数ですがよろしくお願いします。

298 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 18:01:50 ]
>>297
貪欲でないマッチ

299 名前:デフォルトの名無しさん [2007/11/29(木) 18:35:11 ]
>>297
html パーサ使え

300 名前:297 mailto:sage [2007/11/29(木) 19:51:50 ]
>>298
ありがとうございます。
貪欲でないマッチでググッた所無事解決しました。

>>299
プログラム内で使いたかったので、
パーサを使うとhtml記述ミスなどがあった場合に面倒なので正規表現を使う事にしました。


301 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 23:53:17 ]
>>299
アホ

302 名前:デフォルトの名無しさん mailto:sage [2007/12/02(日) 03:37:22 ]
bregexp.dllを使って
<th>ほげほげ<br/>ほげほげ</th>
のような<th>で囲まれた内部の<br/>だけ削除したいのですが、
<br/>の数が不定で困ってます。どう書けばよいのでしょう?

303 名前:デフォルトの名無しさん [2007/12/02(日) 17:04:43 ]
>>302
html パーサ使え

304 名前:デフォルトの名無しさん [2007/12/03(月) 18:49:06 ]
正規表現でand検索したいのですが
どのようにすればいいのですか?
正規表現: Win.*Mac.*Linux.*Sun
上記のようにやると、順番が固定されてしまいます。
どのような順番でもいいので4つ入っていれば
ヒットさせたいのです。


305 名前:デフォルトの名無しさん mailto:sage [2007/12/03(月) 19:19:07 ]
>>304
肯定戻り読み



306 名前:デフォルトの名無しさん mailto:sage [2007/12/03(月) 21:22:52 ]
(?=.*Win)(?=.*Mac)(?=.*Linux)(?=.*Sun).*

307 名前:デフォルトの名無しさん mailto:sage [2007/12/03(月) 23:37:29 ]
NHKのFMの番組の曲の時間表示(全角の数字と '分'と'秒'から成る文字列で
末尾は必ず '秒' )を一気に半角数字と「分⇒m」「秒⇒s」のように一気に置換
する方法がありますか? 全角数字でも '2007年' のような文字列はそのま
まにしたいのです。
【例】
'6分08秒' ⇒ 6m08s


308 名前:デフォルトの名無しさん [2007/12/04(火) 00:20:03 ]
tr/時分秒/hms/

309 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 09:06:00 ]
>全角数字でも '2007年' のような文字列はそのままにしたい

のなら

>【例】
>'6分08秒' ⇒ 6m08s



'6分08秒' ⇒ 6m08s

ならないといけないの?

それとも【例】のようにして欲しいの?


310 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 21:11:44 ]
正規表現処理系一般の話なら文字変換はダメだなあ

311 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 21:38:52 ]
tr/時分秒[0-9]/hms[0-9]/


312 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 21:39:27 ]
trはスレ違いだろ

313 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 00:33:46 ]
>>309は日本語が読めないのだろうか?


314 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 18:08:23 ]
>>305-306 できました。ありがとうございます。

315 名前:デフォルトの名無しさん [2007/12/05(水) 19:45:45 ]
URL が多数含まれる文章があるとき、その URL にマッチさせる正規表現を知りたいです。
マッチさせるのは “http://〜/” の部分で充分でして、それだけなら http:\/\/[^\/]+\/ でイケそうです。
ただ今回やりたいのは、特定のドメイン(というかサーバ)の URL はマッチさせない、ということです。
たとえば www.google.co.jp/ にはマッチさせたくない、ということです。
これはどんな書き方になるでしょうか?
Perl な正規表現だと具合いいです。



316 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 06:31:42 ]
>315

>2

317 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 07:08:24 ]
フリーでとにかく早いのってどれ?
秀丸のやつ?鬼車?

318 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 23:18:36 ]
秀丸は速くない。

319 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 14:11:45 ]
>>317
秀丸のは確かに速い

速いけど、他で出来て秀丸で出来ない表現が多いし
それを無理やり秀丸で表現すると結局遅くなることも多い

320 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 23:27:27 ]
[0-1]?[0-9]
これで2桁目に0か1が付くか付かないか
という表現になりますか?

321 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 23:32:07 ]
日本語でおk
それだと、0〜9 と 00〜19 にマッチ

322 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 23:38:08 ]
すみませんここで聞いて良い事なのか解らないのですが、よければお教えください。
C/Migemo 1.2 リリース版 for Windowsに付属の辞書を読み込ませhoをmigemo_queryしてみたことろ
([ホ☆★ほ逋捕縫豊B萠萌]|ho|Ho)と、なぜかBが含まれた文字列がかえってきました。
この文字列を利用して検索をすると当たり前ながらBに反応してしまうのです。
そこで質問なのですが、どうしてBが含まれるのでしょうか?
もしかして私の使い方が間違っているのでしょうか?

323 名前:320 mailto:sage [2007/12/09(日) 00:14:35 ]
>>321
すいません、それが言いたかった
ありがとう

324 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 00:33:23 ]
>>323
「すみません」だろ
日本から出て行けよ

325 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 00:50:18 ]
こらこら



326 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 01:08:50 ]
>>322
完全にスレ違いな気がするが、どこが適切か知らないので一応答えておくと、
ホウ素の元素記号がBだから。他にはsaで酸素のOが引っかかったりするはず。

327 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 01:41:55 ]
>>326
おおおおおおお!
なるほど…
おかげで謎が解けました
ありがとうございました。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<160KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef