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


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

正規表現 Part10



1 名前:デフォルトの名無しさん [2012/06/23(土) 01:38:40.22 ]
正規表現(Regular Expression)スレです。

質問する場合は必ず実装言語や処理系ソフトウェア名を示してください。

正規表現 Part9
toro.2ch.net/test/read.cgi/tech/1323566370/

天ぷら等2以降

321 名前:デフォルトの名無しさん mailto:sage [2012/10/11(木) 22:18:05.08 ]
>>320
文頭のtheを除くtで始まる語全てを拾うようにした(=そうなるようにした)んだけど
ものすごく要件読み違えてたのか

322 名前:デフォルトの名無しさん [2012/10/11(木) 22:31:43.65 ]
>>321
"文頭のtheを除くtで始まる語全てを拾う"でいいんですけど
僕の環境だと(?!^the\b)\bt\w+でもうまくいかないんです
やりたいことは"the abc"とかは排除して"the tuv"や"there"や"tabc"とかはヒットさせたいということです

配列の各文字列を検索してるんですが、配列には"abc this def"や"abc the def"
とかも入ってます

323 名前:デフォルトの名無しさん mailto:sage [2012/10/11(木) 22:38:34.31 ]
^(?!the\b)t\w+
こうなのか?

324 名前:デフォルトの名無しさん [2012/10/11(木) 22:47:53.42 ]
>>323
それでほぼヒットしたんですが、"the t"で始まる("the "の後に"t"で始まる)
文字列だけがヒットしてないです

たびたびすいません

325 名前:デフォルトの名無しさん mailto:sage [2012/10/11(木) 22:49:02.16 ]
>>322
うーん自分は"文頭のtheを除くtで始まる語全てを拾う"だと思ったから

> "abc this def"や"abc the def"

このthisやtheにもマッチさせてたんだよ

"the tuv" は tuv でマッチすべきだけど
"abc tuv def" なら tuv にはマッチしちゃいけないのか

326 名前:デフォルトの名無しさん mailto:sage [2012/10/11(木) 22:53:18.24 ]
^(?:(?!the\b)t\w+|the t\w+)

>>323-324を見たらこうなったけど要件はわかってない

327 名前:デフォルトの名無しさん [2012/10/11(木) 23:01:51.10 ]
>>325
わかりにくくてすいません
配列内の文字列全体で"文頭のtheを除くtで始まる語全てを拾う"であって
ワード単位で"文頭のtheを除くtで始まる語全てを拾う"ではありませんでした

"abc tuv def"はマッチさせません。あくまで配列内の文字列全体で"t"で始まるです
配列内の文字列の最初が"t"で、最初の"the "は無視するということです

328 名前:デフォルトの名無しさん [2012/10/11(木) 23:08:33.82 ]
>>324訂正
"the t"で始まる("the "の後に"t"で始まる)文字列だけでなく
"t'abc"や"t.a.b.c"などがヒットしてなかったです

>>326
レスありがとうございます
"the t"で始まる文字列もヒットしましたが、"t'abc"や"t.a.b.c"などがヒットしていないです

329 名前:デフォルトの名無しさん mailto:sage [2012/10/11(木) 23:12:26.40 ]
\w はおせっかいだったのか

^(?:(?!the\b)t|the t)



330 名前:デフォルトの名無しさん mailto:sage [2012/10/11(木) 23:17:51.66 ]
"the the"の場合は?

331 名前:デフォルトの名無しさん [2012/10/11(木) 23:21:45.68 ]
>>329
ありがとうございます。すべてヒットしました

正規表現は初心者で"|"を多数使って力技でヒットさせてました
もっと正規表現の勉強が必要だと痛感しました

>>330
それは想定していませんでしたw
最初の"the "だけを無視ということで・・・

332 名前:デフォルトの名無しさん mailto:sage [2012/10/11(木) 23:33:28.55 ]
t.A.T.u.
最初からテンプレに沿って例題集を提示して欲しかったな。>>311みたいに。
今度からはそうして。

…thereだけでなくthe:4にもヒットしてくれとか、もう言わないよね?

333 名前:デフォルトの名無しさん mailto:sage [2012/10/11(木) 23:39:21.03 ]
ちょw
>>331
否定演算子!を使えなかった理由は?

334 名前:デフォルトの名無しさん [2012/10/11(木) 23:40:21.32 ]
>>332
拙速な質問ですいませんでした。以後気をつけます

the:4はヒットしなくていいです
どうもありがとうございました

335 名前:デフォルトの名無しさん [2012/10/11(木) 23:45:15.76 ]
>>333
理由はわかりません。僕の環境では/^t!h/で検索してみても"tuv"や"true abc"
などがまったくヒットしないです

336 名前:デフォルトの名無しさん mailto:sage [2012/10/11(木) 23:51:00.06 ]
>>335
Perlの否定演算子って、 !~ とかを指してるんじゃなかったのかw
そりゃ無理っしょ

337 名前:デフォルトの名無しさん [2012/10/11(木) 23:55:30.32 ]
>>336
すいません、perlも最近使い始めたばかりであまりよくわかってないです
勉強してみます

338 名前:デフォルトの名無しさん mailto:sage [2012/10/12(金) 21:35:10.48 ]
/\*[^*]*\*+([^/*][^*]*\*+)*/

Cのコメントをとりのぞく
詳説 正規表現
p.192
p.326

339 名前:こんまけ mailto:sage [2012/10/13(土) 10:48:59.23 ]
\*+の後なら[^*]なので。
/\*[^*]*\*+([^/][^*]*\*+)*/
じゃダメな理由とか例は出せられます?



340 名前:デフォルトの名無しさん mailto:sage [2012/10/13(土) 12:06:56.17 ]

339のだと/****/*/みたいのにもマッチできるので良くない。
単独でマッチさせるだけだと普通の正規表現エンジンなら
/****/の部分まででマッチしちゃってそっから先には行かない
けど、他の正規表現を前後につけると違いが出てくると思う。

例えば全体を^と$で挟むとか。

341 名前:デフォルトの名無しさん mailto:sage [2012/10/13(土) 13:25:10.54 ]
コンパイラの構文解析機を使うのが確実。自分のコーディングルールだけで使うなら、自分のツールボックスにしまっておけばいい。

342 名前:339 mailto:sage [2012/10/13(土) 15:38:32.78 ]
れすさんくす、
338 も 339 もベストじゃなくて、339 が 338 よりベターなんですね。
例えば、コメントの後ろにAという文字がある場合を検索したいとか…

343 名前:デフォルトの名無しさん mailto:sage [2012/10/13(土) 20:26:20.34 ]
AAA : BBBB CCCC DDD1[0] DDD2[1] DDD3[2] DDD4[3]
がある場合にDDD1[0] DDD2[1] DDD3[2] DDD4[3]のみ取得したい。
もしくはAAA : BBBB CCCC を削除したいです。
よろしくお願いします。

344 名前:デフォルトの名無しさん mailto:sage [2012/10/13(土) 20:54:07.95 ]
>>343
DDD\d\[\d\]

345 名前:デフォルトの名無しさん mailto:sage [2012/10/13(土) 21:38:35.67 ]
環境書かない方も悪いけど、互換性低い\dで回答するのはどうなんだろう

346 名前:デフォルトの名無しさん mailto:sage [2012/10/13(土) 21:47:54.77 ]
正規表現における
#
ってどんな意味を持つのですか?

347 名前:デフォルトの名無しさん mailto:sage [2012/10/13(土) 21:50:54.31 ]
>>346
#

348 名前:デフォルトの名無しさん mailto:sage [2012/10/13(土) 21:59:51.01 ]
>>345
ごめん。 \d=[0-9]

質問から察するに、数字部分は可変だろうね。

349 名前:デフォルトの名無しさん mailto:sage [2012/10/13(土) 22:00:36.84 ]
>>346
特に意味なし。単なる「#」という文字。



350 名前:デフォルトの名無しさん mailto:sage [2012/10/13(土) 22:05:33.99 ]
>>347
>>349
ありがとうございます

351 名前:デフォルトの名無しさん mailto:sage [2012/10/13(土) 22:07:23.75 ]
>>345
\dが[0-9]でないのって、どんなのがあるの?

352 名前:デフォルトの名無しさん mailto:sage [2012/10/13(土) 22:22:42.43 ]
>>351
秀丸はバージョン7あたりまで\dとか\sあたりが使えなかった

grepとかsedコマンドとかviエディタ内の正規表現とか
まあこの辺になってくると()や|の前にバックスラッシュつけないと
正規表現として機能しないという点でも非互換だけどもw

353 名前:デフォルトの名無しさん mailto:sage [2012/10/13(土) 22:37:04.96 ]
>>351
鬼車や鬼雲の\dは[0-90-9]と等価
Ruby 1.9系の正規表現エンジンは鬼車だけどカスタマイズされたフォーク版なので、\dを [0-9]と等価になるように修正してある

354 名前:デフォルトの名無しさん mailto:sage [2012/10/13(土) 23:25:52.84 ]
>>352 なるほど。
古めのエンジン、正規表現の源流に近いあたりでは\dは無いのね。
しかし秀丸バージョン7って、かなり最近じゃ。ちょっとひどいな。

>>353 そうなのかー。
先進的すぎても主流との互換性の点で問題あるよね。

355 名前:デフォルトの名無しさん mailto:sage [2012/10/13(土) 23:41:43.03 ]
>>353
>鬼車や鬼雲の\dは[0-90-9]と等価
うお、なんかイメージよりも範囲広すぎ。
敢えて[0-9]って書いといた方が無難なのね。

356 名前:デフォルトの名無しさん mailto:sage [2012/10/13(土) 23:51:08.46 ]
>>353
鬼雲は(?u),(?a)でUnicodeの範囲かASCIIの範囲かを制御できる。
\d,\s,\wがUnicodeの範囲でマッチするのはPerlに合わせた仕様。

357 名前:デフォルトの名無しさん mailto:sage [2012/10/24(水) 21:11:42.58 ]
●正規表現の使用環境
MSVC2012 / .NET Framework 4.5

●検索か置換か?
検索

●説明
「|」「(」「)」が文字として入っているデータから、特定の文字列を抜き出したい。

●対象データ
area|name (value)

tokyo|yamada benzo (123)
kyoto|namae tarou (21)
saga|shitemo mitukaranai you (7)

●希望する結果
area, name, value

"tokyo", "yamada benzo", "123"
"kyoto", "namae tarou", "21"
"saga", "shitemo mitukaranai you", "7"

このように取り出したいのですが、どのように書くとよいでしょうか

358 名前:デフォルトの名無しさん mailto:sage [2012/10/24(水) 21:20:10.28 ]
カッコの整合を取りたいのでなければ
"tokyo|yamada benzo (123)".Split(new char[] { '|', '(', ')' },StringSplitOptions.RemoveEmptyEntries)
でよかったりしない?

359 名前:デフォルトの名無しさん mailto:sage [2012/10/24(水) 22:06:41.28 ]
>>358
あ、本当ですね…。
このやり方のほうがさっぱりしてていいですね。
こちらでやらせてもらいます。
解決できちゃいました。
どうもありがとうございました。



360 名前:デフォルトの名無しさん mailto:sage [2012/11/01(木) 12:21:53.25 ]
あー!
正規表現で空白を縮めればいいのか

361 名前:360 mailto:sage [2012/11/01(木) 12:23:30.20 ]
すみません自己解決しました

362 名前:デフォルトの名無しさん mailto:sage [2012/11/06(火) 14:38:40.09 ]
「CDATA」を含まない行を検索したいのですが、先読み否定を使用しましたがうまく検索できませんでした。
 ^(?!.*?CDATA)

指定文字列を含まない行をどのような指定で検索できるでしょうか?

363 名前:デフォルトの名無しさん mailto:sage [2012/11/06(火) 14:42:14.02 ]
つ[grep -v]

364 名前:デフォルトの名無しさん mailto:sage [2012/11/06(火) 14:48:45.45 ]
>>362
自己レス

Java → ×
サクラエディタ → ○

Javaの問題?

365 名前:デフォルトの名無しさん mailto:sage [2012/11/06(火) 15:13:49.63 ]
^((?!CDATA).)*$

366 名前:デフォルトの名無しさん mailto:sage [2012/11/09(金) 22:58:08.67 ]
●正規表現の使用環境
perl5
●検索か置換か?
置換
●説明
keyとvalueの間はコロン区切り、keyとvalueのペアの間はカンマ区切りになっている
key1:value1,key2:value2,key3:value3 という形式で書かれている文字列で、
指定したkeyに対応するvalueの値を取得したい。
 ・valueの文字列にはコロンやカンマが入っている可能性があるので、それを区切り文字にはできません。
 ・valueの文字列は、:value:や,value,のように、先頭や末尾がコロンやカンマの可能性があります。
 ・key3:value3,key2:value2,key1:value1 のように順番は変わる可能性があります。
 ・keyとvalueのペアは、何個あるかはわかりません。0個の場合もあり。
 ・指定するkey以外のkeyについても、何があるかはわかりません。
 ・keyもvalueも可変長で、valueが空という場合もあります。
●対象データ
AAA:V,:1,BBB:V,,::2,CCC:V,,,:::3,DDD:,V4:,EEE:
●希望する結果
AAAをkeyとすると、V,:1
BBBをkeyとすると、V,,::2
CCCをkeyとすると、V,,,:::3
DDDをkeyとすると、,V4:
EEEをkeyとすると、空
FFFをkeyとすると、空

3日くらい試行錯誤してますが、全然解決できず気が狂いそうです・・・
完全に、論理的に無理ゲーでしょうか?

367 名前:デフォルトの名無しさん mailto:sage [2012/11/09(金) 23:36:12.98 ]
値(orKey)にデリミタがエスケープ無しで出るなら区別できないんじゃね?
例に挙げているのでも
 DDD=空
 V4=空
 EEE=空
と言う解釈も出来る(FFFは存在しないKey)

368 名前:デフォルトの名無しさん mailto:sage [2012/11/09(金) 23:40:02.61 ]
>>366
素直にsplitしたら負け?

369 名前:デフォルトの名無しさん [2012/11/10(土) 00:32:09.53 ]
デリミタ制限してないなら無理ゲーだろ
V,:1,BBB:V,,::2,CCC:V,,,:::3,DDD:,V4:,EEE:
たとえば↑これ全体がAAAのvalueならどこで切れるんだよ



370 名前:デフォルトの名無しさん mailto:sage [2012/11/10(土) 02:57:15.54 ]
> DDDをkeyとすると、,V4:

これは何故なんだ?書かれてる条件だけ見ると
>>367が書いてる通り DDD=空 になるように思える
そこが明確にならなければ正規表現使うどころか
実直に一文字ずつパースしても無理に思える

371 名前:デフォルトの名無しさん mailto:sage [2012/11/10(土) 03:57:23.97 ]
手作業でやっても一意に決まらないようなのはどうしようも無いぞ

372 名前:デフォルトの名無しさん mailto:sage [2012/11/10(土) 12:21:33.25 ]
正規表現がどうのより、データの出力形式を見直したほうがいいな。
表計算ソフトのCSVの出力形式とか参考にしてさ。

正直、正規表現の出番以前の問題だよ。まずは論理的で明確なデータを用意するべき。

373 名前:366 mailto:sage [2012/11/10(土) 21:43:20.41 ]
>>367, 368, 369, 370, 371, 372
たくさんのレス、アドバイスありがとうございます。お礼が遅くなりすみません

>>367, 369
やはり、デリミタが値の中に出てくる時点で、無理なデータぽいですよね。
>>368
splitするにも、カンマがデータ中に出てきたりするもので・・・
>>370
「,V4:」という部分が、データなのです。この場合のカンマは、デリミタではなく値でして・・・
>>371, 372
やはり、論理的に矛盾したフォーマットですよね・・・

結論として、とりあえずsplitでパースしたものがだいたい正常になるので、後は目視・手作業でやることにしました。
無茶苦茶なフォーマットのデータを置いて行った前任者を恨みます・・・

374 名前:デフォルトの名無しさん mailto:sage [2012/11/10(土) 21:51:25.57 ]
, と : がデータの一部として使われるときにある程度の規則性があるならそれを利用して判別
するといいかもね。まぁこれにも限界があるし誤爆の可能性もあるから目視は必須だけどね。

375 名前:デフォルトの名無しさん mailto:sage [2012/11/10(土) 22:08:21.52 ]
前任者がキ印とかカワイソス

376 名前:デフォルトの名無しさん mailto:sage [2012/11/11(日) 01:40:44.89 ]
目視で決められるのなら何か規則性があるんじゃないの?
キー名だと分かる何かが?

377 名前:デフォルトの名無しさん mailto:sage [2012/11/11(日) 01:44:41.01 ]
値に隠された制約があるはず。 でなければ目視で出来ない。

378 名前:デフォルトの名無しさん mailto:sage [2012/11/11(日) 18:42:00.12 ]
わからない時は古くからいる人に聞く、
これも「目視」のうちに入るのかもしれんしな。

379 名前:デフォルトの名無しさん mailto:sage [2012/11/11(日) 20:50:46.82 ]
>>376
文脈で判断だと、規則が膨大になりすぎるんじゃない。



380 名前:デフォルトの名無しさん mailto:sage [2012/11/11(日) 22:40:27.53 ]
●正規表現の使用環境
perl

●検索か置換か?
置換

●説明
1文字だけのAを空白に置換(または削除)したい

●対象データ
appleAisAdeliciousAAA

●希望する結果
apple is deliciousAAA

前後に同じ文字が連続していない場合、その文字だけを消したいです。

381 名前:デフォルトの名無しさん mailto:sage [2012/11/11(日) 22:53:00.61 ]
先頭のaも消してよければコレ
(?<!a)a(?!a)

382 名前:デフォルトの名無しさん mailto:sage [2012/11/11(日) 22:54:55.34 ]
あ、大文字だけか。
perlはよくわからんけどオプションかなんか指定して
aをAにすりゃたぶん大丈夫

383 名前:380 [2012/11/11(日) 23:15:05.09 ]
>>382
ありがとうございます。
先頭にAがあると消えてしまいますが、教えて頂いた方法でできました。
$string =~ s/(?<!A)A(?!A)//g; という文です。

できれば、先頭のAが消えないパターンが理想なので、
引き続きアドバイスを募集させてください。

384 名前:デフォルトの名無しさん mailto:sage [2012/11/11(日) 23:27:49.74 ]
んじゃ、これでは?
(?<!^|A)A(?!A)

385 名前:デフォルトの名無しさん mailto:sage [2012/11/12(月) 00:15:19.92 ]
>>384
ありがとうございます。
ただ、こちらの表現は「Variable length lookbehind not implemented in regex」
というエラーになって実行できませんでした。

どうやら、戻り読み?というものに対応できていないようです。
環境を書き忘れましたが、xammpを入れてperl 5.16.1で実験してます。

386 名前:デフォルトの名無しさん mailto:sage [2012/11/12(月) 03:15:42.78 ]
もっと原始的に、これはどうか。
(^|[^A])A([^A]|$)
\1 \2
\1\2

ただ、よく分からないのは
>前後に同じ文字が連続していない場合、その文字だけを消したいです。
文字? 置換対象はAだけだよね?

387 名前:デフォルトの名無しさん mailto:sage [2012/11/12(月) 03:20:51.76 ]
あれ、>>383をよく読んでなかった。

>先頭のAが消えないパターンが理想
条件追加/変更なら改めて例示をやり直してくれるとありがたいんだけど。

これならいいかな?
([^A])A([^A]|$)

388 名前:デフォルトの名無しさん mailto:sage [2012/11/12(月) 07:19:30.62 ]
(?<!^)(?<A)A(?!A)

389 名前:デフォルトの名無しさん mailto:sage [2012/11/12(月) 10:32:08.35 ]
( ´д)ヒソ(´д`)ヒソ(д` )



390 名前:388 mailto:sage [2012/11/12(月) 11:02:29.20 ]
すまん。!が抜けてた。(?<!A)

391 名前:デフォルトの名無しさん mailto:sage [2012/11/12(月) 16:00:51.00 ]
テストしてから書き込んでないってのがよく分かるな。せめて動作確認してから貼れよ。

392 名前:デフォルトの名無しさん mailto:sage [2012/11/12(月) 18:33:07.61 ]
ちょっとかっこ悪い

(?<=.)(?<!A)A(?!A)

393 名前:デフォルトの名無しさん mailto:sage [2012/11/12(月) 18:52:46.82 ]
戻り読みより\K使えよ
固定長の必要なくなるぞ

394 名前:デフォルトの名無しさん mailto:sage [2012/11/12(月) 20:55:01.12 ]
perlなら文字列操作関数で頑張ればいいのに。人に聞けばいいや、はイカン。

395 名前:デフォルトの名無しさん mailto:sage [2012/11/15(木) 14:27:21.57 ]
同じ英数字が4文字以上、の正規表現は(a{4,}|b{4,})…と地道に指定しないとダメでしょうか?

396 名前:デフォルトの名無しさん mailto:sage [2012/11/15(木) 15:29:29.79 ]
●正規表現の使用環境
php

●検索か置換か?
置換

●説明
2文字目以降の「.」以外の数字を「*」に置換したい。

●対象データ
12.34

●希望する結果
1*.**

397 名前:デフォルトの名無しさん mailto:sage [2012/11/15(木) 19:52:54.79 ]
>>395
([a-zA-Z0-9])\1{3,}

398 名前:デフォルトの名無しさん mailto:sage [2012/11/15(木) 21:00:56.65 ]
>>396
\G使え。

399 名前:デフォルトの名無しさん mailto:sage [2012/11/18(日) 11:15:26.52 ]
●正規表現の使用環境
jruby1.7.0

●検索か置換か?
検索

●説明
<abc def/>とあるようなタグを検索したい

●対象データ
<bbb><aaa><abc/></aaa></bbb>

●希望する結果
<abc/>

タグ内の文字列は記号を含んだ任意の文字列です
<.*?\/> とすると
<bbb><aaa><abc/> とか
<aaa><abc/> とかでヒットするのでどうにか
<abc/> だけでヒットさせることができないものでしょうか?



400 名前:デフォルトの名無しさん mailto:sage [2012/11/18(日) 11:21:39.09 ]
その説明だと

/<abc&yen;/>/

でいいんじゃねーのとしか読めないなw

401 名前:デフォルトの名無しさん mailto:sage [2012/11/18(日) 11:41:03.34 ]
ほれ

<[^<]*\/>

例であげてた<.*?\/>の?はなんか意味あるの?

402 名前:デフォルトの名無しさん [2012/11/18(日) 11:44:52.55 ]
質問者の環境で使えるかどうかは知らんが最小マッチな

403 名前:デフォルトの名無しさん mailto:sage [2012/11/18(日) 12:03:56.89 ]
>>401
できましたありがとうございます!
^は行頭の意味で覚えていたので思いつきませんでした…
?は一応、後ろの方に対して最小一致のつもりでした

404 名前:デフォルトの名無しさん mailto:sage [2012/11/18(日) 12:37:00.59 ]
量指定子のオプション ? が「ものぐさマッチ」である好例だね。
最小/最短という言葉だと、一番短くなる箇所でマッチするのかと誤解して覚えてしまう。

本当の最短マッチを探索する環境もあったような?

405 名前:デフォルトの名無しさん mailto:sage [2012/11/18(日) 13:32:55.34 ]
あー最小一致か。あったね、そういえば。
(個人的には)あんまり使わないからすっかり忘れてた

406 名前:デフォルトの名無しさん mailto:sage [2012/11/18(日) 14:56:08.36 ]
xxxは長さも値もランダムな文字列で

hoge+xxx/fuge+xxx/test+xxx

hoge+xxx/fuge+xxx や hoge+xxx/test+xxx や fuge+xxx/test+xxx
としたいのですが、例えばfuge+xxx/test+xxxとしたいとき
hoge.+(/)?とやるとfugeもtestも削除されてしまうんですがどうすればいいのでしょうか?
.に/も含まれてしまうのが問題だと思うのですが

407 名前:デフォルトの名無しさん [2012/11/18(日) 15:01:22.03 ]
>>406
環境書いて欲しいところだが「.+」の代わりに
[^/]+

[^\/]+
でどうよ?

408 名前:406 mailto:sage [2012/11/18(日) 15:13:14.89 ]
>>407
できました!ありがとうございます!
その考え方は無かったです

409 名前:407 mailto:sage [2012/11/18(日) 15:36:08.79 ]
>>408
どういたしまして
ところで>>399>>406は同一人物?



410 名前:406 mailto:sage [2012/11/18(日) 15:38:57.16 ]
自分はphpでしたが似てますね
もっとよーく見てから質問するべきでした

411 名前:407 mailto:sage [2012/11/18(日) 16:20:51.12 ]
>>410
同一人物でなかったのならお気になさらずに

さすがに同一人物だったら>>401の意味を自分で理解しようよって感じでしたが

412 名前:デフォルトの名無しさん mailto:sage [2012/11/19(月) 12:25:00.01 ]
Windows用で正規表現に対応したファイル検索ソフトってありませんか?

413 名前:デフォルトの名無しさん mailto:sage [2012/11/19(月) 12:28:56.30 ]
たくさんあるよ。

414 名前:デフォルトの名無しさん mailto:sage [2012/11/19(月) 18:10:37.09 ]
コマンドプロンプトからperlやphpでも行けそう。
フリーソフトなら腐るほどありそう。

415 名前:デフォルトの名無しさん mailto:sage [2012/11/19(月) 22:47:26.62 ]
>>396
対象データって小数点以下がある数字?
それともIPアドレスみたいに . が複数存在する場合もある?

00.1 ←数字ではあり得ない並び
1.2.3 ←ピリオドが2つ以上あるデータ
1.2. ←ピリオドで終わるデータ

こういうデータは置換対象にする?しない?

416 名前:デフォルトの名無しさん mailto:sage [2012/11/20(火) 10:31:38.08 ]
↑今日中に応答がない場合はもうこのスレ開くことないと思うのでご了承ください。。

417 名前:デフォルトの名無しさん mailto:sage [2012/11/20(火) 16:30:04.26 ]
正規表現使うべき所じゃないよねぇ

418 名前:デフォルトの名無しさん mailto:sage [2012/11/20(火) 17:13:22.83 ]
s/(?!^)[^.]/#/g

419 名前:デフォルトの名無しさん mailto:sage [2012/11/20(火) 18:43:16.52 ]
>>417
いえ、普通に使えるケースです。

>>418
これだと数字とピリオド以外の文字がデータに存在した場合、意図しない動作になってしまいます。
(文頭に半角スペースが入った場合など)



420 名前:デフォルトの名無しさん mailto:sage [2012/11/20(火) 19:01:50.50 ]
小出しェ

421 名前:デフォルトの名無しさん mailto:sage [2012/11/20(火) 20:06:03.18 ]
シェルスクリプトスレより誘導されてきました

以下のような文章があったとします
〜aaa〜bbbaaa〜bbbaaa〜bbb〜
(〜は文字数の定まっていない文字列を表しています。)
ここから、それぞれ最初のaaa〜bbbだけを抽出、真ん中のaaa〜bbbだけを抽出、最後のaaa〜bbbだけをgrep -oなどで抽出したい時、どう正規表現で表せばよいのでしょうか?






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

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

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