Regular Expression(正規表現) Part12at TECH
Regular Expression(正規表現) Part12 - 暇つぶし2ch334:デフォルトの名無しさん
14/02/25 17:37:02.74
>>333
もしかしてプログラム経験無い?テキストエディタの正規表現とは別世界だぞ。

335:デフォルトの名無しさん
14/02/25 17:47:27.85
>>334
どんだけショボいエディタ使ってんだよw

336:デフォルトの名無しさん
14/02/25 20:27:28.66
/(?<=abc)(.+)/で一度ふるいにかけて/['"]/でsplitなり/['"]/自体除去すりゃいいんじゃね
2段階に分けるほうが楽

337:デフォルトの名無しさん
14/02/25 23:33:19.95
この質問の回答に一度も\Gが出てこないのが寂しい。

338:デフォルトの名無しさん
14/02/26 00:33:57.11
>>334
飛び飛びの領域を単一のマッチ範囲や捕獲式集合として捕獲できる正規表現なんてあるの?
Perlのコードサブパターンとかで拡張すれば出来るかもしれないけど、
普通は複数のマッチ範囲や複数の捕獲式集合として得るしか無いと思うんだが

それと、まともなエディタならPerlとかの特殊極まりない拡張を除けば大体の機能が使えるだろ

>>334>>337
正規表現でプリーズ

339:324
14/02/26 22:44:02.26
返事が遅くなりましたが、色々アドバイスありがとうございました。

可能ならば正規表現で処理したかったのですが、
皆さんのアドバイス通り置換での2段階処理とします。

これの方が楽で確実みたいですしね。
ども、でした。

340:デフォルトの名無しさん
14/02/27 00:53:58.53
正規表現は機能でなくて表現。

341:デフォルトの名無しさん
14/02/27 06:30:21.40
機能だろ
黙ってろクズ

342:デフォルトの名無しさん
14/02/27 07:20:11.35
>>340
LispのS式でも勉強してみよう
(S式 Symbolic expression)


一応書いておくけど
表現=expression

343:デフォルトの名無しさん
14/02/27 08:20:03.61
>>342
elispで使ってるくらいであんま詳しくないけど、sexpは構造でそれが機能かどうかはcar次第では。
正規表現は検索や置換の対象となる文字集合を表すものですしょ。別に名前に表現が入ってるからとか気にしてなかった。

344:デフォルトの名無しさん
14/02/27 15:19:32.41
元々は論文などの学術的な用途で説明に使う純粋な表現だった
それを元に正規表現による検索ルーチンが作られて普及した
今ではその検索ルーチンを正規表現エンジンと呼ぶようになってしまい、
正規表現エンジンが受け入れる検索パターンを正規表現と呼ぶようになってしまった

なお、正規表現エンジンは元々の正規表現の意味では通常表現不可能なパターンすら検索する能力を持っている
もはや別物

345:デフォルトの名無しさん
14/02/27 18:29:51.90
そう言えば折れも英単語解析のための正規表現みたいなものを作って使っていたなあ
ま、その後いわゆる正規表現に折れも一本化したけどな

346:デフォルトの名無しさん
14/02/27 23:06:44.69
海外じゃもうregexと書くのが定着してる、というか定着させようとしてるね。

347:デフォルトの名無しさん
14/02/27 23:16:15.70
>>346
じゃあs式も略すならpは余計だよね。

348:デフォルトの名無しさん
14/02/28 00:48:01.57
S-exだね。

349:デフォルトの名無しさん
14/02/28 05:41:22.87
>>348
じゃあ大文字とハイフンが必要ならReg-exだねって(オイ

350:デフォルトの名無しさん
14/03/01 21:33:30.54
>>346
さりげなくregexpをdisらないで

351:デフォルトの名無しさん
14/03/05 12:56:57.66
●Regular Expressionの使用環境
サクラエディタ

●検索か置換か?
置換

●説明
Exampleの文字列を含まない行を削除したい

●対象データ
ABCA Test
BCAA Example
CABA Abc

●希望する結果
BCAA Example


ネットで検索して出てきた^(?!.*Example).+$や^((?!Example).)*$
で試したんですが空行が残ってしまいました

352:デフォルトの名無しさん
14/03/05 13:09:37.21
^(?!.*Example).+\r?\n?

353:デフォルトの名無しさん
14/03/05 13:15:01.87
>>352
できました
ありがとうございました!

354:デフォルトの名無しさん
14/03/05 20:10:58.23
$は改行の直前までしかマッチしないのがポイント

355:デフォルトの名無しさん
14/03/06 14:13:12.95
後から出てきてさも知ったかのような口を利くのは>>354の(チャーム)ポイント

356:デフォルトの名無しさん
14/03/07 04:25:15.64
誰も正規表現にツッコミ入れないけどみんなあえてスルーしてるんだろうな。

357:デフォルトの名無しさん
14/03/07 06:11:48.79
希望する結果が逆なのは分かったけど、
ツッコミが必要な正規表現が分からない…出来れば教えてくれ。

358:デフォルトの名無しさん
14/03/07 07:11:37.81
>Exampleの文字列を含まない行

空行もこれに該当するんじゃ?

359:デフォルトの名無しさん
14/03/07 10:43:45.86
サクラエディタとしては、該当するものを""で置換して消すしかないからこーなるわけよ。

360:デフォルトの名無しさん
14/03/07 10:53:01.11
後方参照の否定だっけ
否定の後方参照だっけ
後方参照をうまく使えると捗りそうだよね
いまいちパッと使えないorz

361:デフォルトの名無しさん
14/03/07 11:46:51.76
>>356
お前恥ずかしい奴だな

362:デフォルトの名無しさん
14/03/07 22:35:03.25
空行が消せないという仕様かスキルか知らないけどそれのほうが恥ずかしいのでは。

363:デフォルトの名無しさん
14/03/07 22:44:29.69
今試してみたら普通に空行消せた。ということは・・(察し

364:デフォルトの名無しさん
14/03/07 23:49:29.37
相当悔しかったんだな

365:デフォルトの名無しさん
14/03/07 23:51:20.94
>>362-363
クスクス

366:デフォルトの名無しさん
14/03/08 00:41:37.59
あれ?>>352で改行が消せるなら空行も消せるはずですね。

367:デフォルトの名無しさん
14/03/08 14:35:23.35
>>359
何言ってんだこの馬鹿は。

368:デフォルトの名無しさん
14/03/08 22:07:40.54
>>366
まだそんな間抜けな事を言っているの?
君だけだよ?

369:デフォルトの名無しさん
14/03/09 01:07:09.32
耳の聞こえないふりの人みたいに逆ギレですかそうですか。

370:デフォルトの名無しさん
14/03/09 17:54:46.52
掲示板なんだから耳が聴こえないかどうかは関係ないだろ
何言ってんだ

371:デフォルトの名無しさん
14/03/09 17:56:38.66
俺はチンポ立たない振りして女連れ込んでる
入れちゃうとだいたいオーケー

372:デフォルトの名無しさん
14/03/09 18:57:29.74
>>370
「みたいに」って書いてあるじゃん
この「耳の聞こえないふりの人」ってのは多分自称ベートーベンの痛い奴の事だよ
ゴーストライターに耳聞こえてることバラされて訴えるって意気込んでるらしいから

ゴーストライター以前にマスコミの取材中にも聞こえてる挙動してて今更なんだが
障害者手帳の不正入手の罪がバレるのはゴーストライターがバレるより怖いらしい

373:デフォルトの名無しさん
14/03/09 22:09:42.25
こちらにも貼っておきますね

現在プログラム板のID制導入の投票を実施中です
よろしくお願いします

プログラム板 強制ID制導入に関する投票スレ
スレリンク(vote板)

374:デフォルトの名無しさん
14/03/10 00:48:00.39
ID表示されるようになったらスレタイ変えたメンヘラ男子が困りそう。

375:デフォルトの名無しさん
14/03/11 17:40:04.71
>>371
これまじ?

376:デフォルトの名無しさん
14/03/11 18:57:52.90
>>375
もちろんマジ

377:デフォルトの名無しさん
14/03/11 19:00:37.92
うわぁー、たった!どうして?

きみを、みてたら、心があつくなって
体があつくなって

,,,,,,よしこさん!
とだきつく

あとは、まずオッパイもみもみ
下にてをのばし

あとは自分で判断しろ

378:デフォルトの名無しさん
14/03/12 17:16:31.95 6zBbVI2I
●Regular Expressionの使用環境
秀丸

●検索か置換か?
置換

●説明
複数行の空行を1つの空行にしたい

●対象データ





●希望する結果

379:378
14/03/12 17:19:09.32 6zBbVI2I
検索
^\n+

置換
\n

これだと置換されない。

380:デフォルトの名無しさん
14/03/12 17:26:30.29 iuIDUWkr
>>379
その環境は知らないけど、^があるのに$がなくて\nって変じゃないか。
単に\n+じゃダメなの。

381:デフォルトの名無しさん
14/03/12 17:38:06.82 Qvoh4cG3
秀丸の改行へのマッチには制約があるよ。ググるか説明書読んで。

382:デフォルトの名無しさん
14/03/12 20:35:10.49 9jZOtDPU
スルーされにくい質問のテンプレと例

●Regular Expressionの使用環境
2chMate 0.8.6/NEC/LaVieTab PC-TE510N1B/4.2.2/SR

●検索か置換か?
検索?(NGワード)

●説明
アットwikiを正規表現で当たるようにしたい
要するに
URLリンク(www1)<)がNGワード指定される

383:デフォルトの名無しさん
14/03/12 20:44:53.82 iuIDUWkr
>>382
URLリンク(www\d+\.atwiki\.jp)

384:デフォルトの名無しさん
14/03/12 21:14:52.82 9jZOtDPU
>>383
すいません。できませんでした。
htmlタグでもう一度作れますか?
できなければ諦めます

385:デフォルトの名無しさん
14/03/13 00:04:20.91 xoYJgDxQ
>>384
htmlタグって?
正規表現にチェック入れてないだろ。

386:デフォルトの名無しさん
14/03/13 06:58:56.57 1OBNO3pg
/.*/ じゃダメ。誤爆する。

387:386
14/03/13 07:15:45.44 1OBNO3pg
ttp\:\/\/www\d+\.atwiki\.jp\/[\!\#-\&\(-\.0-\;\=\?-\[\]-\~]+\/

これでいいのかな?2chMateとやらの正規表現エンジンの仕様が
分からないから怪しい文字全部にエスケープ付けといた。

あと調べたところ古いバージョンでは正規表現の先頭に / を付ける必要があるらしい。
動かない場合は試してみて。

388:デフォルトの名無しさん
14/03/13 07:29:23.49 2a19jPZt
>>385
チェック入れてますよ
>>387
ありがとうございます。できました。

389:デフォルトの名無しさん
14/03/13 08:26:35.42 xoYJgDxQ
>>388
2chMate 0.8.6/SHARP/SH-13C/2.3.4/DR では問題なかった

390:デフォルトの名無しさん
14/03/13 08:30:17.94 2a19jPZt
>>389
387なら出来ましたよ

391:デフォルトの名無しさん
14/03/13 08:30:41.83 xoYJgDxQ
>>386
NGなんだから、厳密にする必要もない。面倒だから適当にしただけ。

392:デフォルトの名無しさん
14/03/13 08:35:07.76 xoYJgDxQ
>>390
基本的なとこは包括されてるから、コピペミスってるか、ttpか、多分丸投げだからJavaの正規表現の解釈が変わったか。
アプリ開発してたけど、そういう話は知らないなぁ。

393:378
14/03/13 08:41:19.60 2EBFZUmq
>>380
\n+だけだと空行以外の文字列の最後にもヒットしてしまいます。

>>381
すみませんヘルプに書いていました。
ありがとうございます。
(?#maxlines:50)^\n+
で置換することができました。

394:381,386 ◆QzqhRqBYxktP
14/03/13 09:50:43.55 1OBNO3pg
>>392
おそらくh抜き。datには<aタグが入らない板もあるからね。
/.*/ のとこは無くてもいいくらいだね、ハッキング事件のセキュ対応なんだろうし。

>>388>>393
^-^b

395:デフォルトの名無しさん
14/03/14 09:55:55.35 zoiay4j6
●Regular Expressionの使用環境
JavaScript

●検索か置換か?
置換

●説明
同じ文字の4回以上の繰り返しを3回にしたい

●対象データ
ああああああああああああああああああいいいいいいいいいいいいいいいうえおおおおおおおおおおおおおお

●希望する結果
あああいいいうえおおお

396:デフォルトの名無しさん
14/03/14 10:00:26.17 Mhqkzd/y
検索
(.)\1{3,*}

置換
$1$1$1

397:395
14/03/14 11:12:05.63 zoiay4j6
>>396
(.)\1{3,*}だとなぜか上手くいかなかったけど(.)\1{3,}でできました
ありがとうございました

398:デフォルトの名無しさん
14/03/14 16:48:20.08 Mhqkzd/y
あ、{3,*} は別の環境(proxomitron)の書式だった。ごめんね。

399:デフォルトの名無しさん
14/03/14 23:51:23.33 YZlgvtQG
正規表現の文字コード順について質問したいのですが
1行内に沢山文字があって、それを正規表現で検索ヒットさせるんですけど
正規表現は重いから、なるべく、あらかじめ文字コード順に直しておいたほうが良いという事を聞きました
数が膨大になっていけば、バカにならないので、一度全文文字コード順にソートしてみて、正規表現の検索の時間が
どれくらい軽くなるのか試してみようと思うのですが

そこで、文字コードにはShiftJIS等あるそうで、それらによって文字の並び方が違う、らしいのですが
どれが良いのか全く分かりません、それに正規表現にも種類があるのでしょうか

稚拙な質問ですみません、何か質問自体に大きな間違いがあれば、それについても御指摘ください

400:デフォルトの名無しさん
14/03/14 23:58:33.54 jnh1VUPi
> なるべく、あらかじめ文字コード順に直しておいたほうが良いという事を聞きました

どこで?

文字コード順にソートできる事例なんて
ほぼないだろ?

401:デフォルトの名無しさん
14/03/15 00:18:44.37 Q3mCogqK
ヒット率でならわかるけど文字コード順てイミフ

402:デフォルトの名無しさん
14/03/15 00:32:00.47 CF1cuZUb
>>399
もしかして特定の一文字を数えるのに正規表現を使おうとしてる?
そりゃあ正規表現は重すぎるだろうし一文字ずつソートしたほうが速いだろうね。

何がしたいの?

403:デフォルトの名無しさん
14/03/15 15:22:34.65 YATV051M
>>399
例文もなしに文字コード順とか言われてもイミフ
しかも文字コードの知識すらなさそうだけど、
\xnnnnや\unnnn(nは文字コード値)とかの
の文字コード直接指定の正規表現を使わない限りは
文字コードを意識する必要なんてほぼないよ

404:デフォルトの名無しさん
14/03/15 15:30:32.85 tYn4Fm5x
エスパーの俺が解説してあげよう。

配列の中からある値をサーチするときは
配列を文字コード順でソートしていれば速いんだよ。

ところでだな。正規表現は
文字をサーチするために使うんだよ

405:デフォルトの名無しさん
14/03/15 17:18:45.26 hD2AtX1A
傘スレが役に立ってる

406:デフォルトの名無しさん
14/03/15 18:18:58.17 uGEDgr8/
>>400-405
自分でも何言ってるのかさっぱり分かりません
それなのに質問してごめんなさい

> \xnnnnや\unnnn(nは文字コード値)とかの
> の文字コード直接指定の正規表現を使わない限りは
> 文字コードを意識する必要なんてほぼないよ
極単純な正規表現しか知らないものですから、一から勉強します
ありがとうございました

407:デフォルトの名無しさん
14/03/16 09:19:28.06 xU+OWlTt
>正規表現は重いから、なるべく、あらかじめ文字コード順に直しておいたほうが良い

こう言ってた人に真意を聞くのが筋でしょう。
たぶんこれを言った人も違う意味で言ったんだと思いますが。

408:デフォルトの名無しさん
14/03/16 18:15:16.01 TS+hDRL9
>>403
いや[亜-熙]みたいな範囲指定する場合はモロに影響する
ちゃんとキャラクタクラスなどを使えば問題はないのだが、
今度は使えるクラスが文字コードによって異なるっていう…

409:デフォルトの名無しさん
14/03/26 22:18:12.16 vsO28NG4
てすてす

410:デフォルトの名無しさん
14/03/27 06:17:49.40 iCbpA3l5
>>4 板移転↓

正規表現道場 Part2
スレリンク(php板)l50

411:デフォルトの名無しさん
14/03/29 00:31:17.46 2x5p0G/E
>>410
うん、わかった。覚えてたらな。

412:デフォルトの名無しさん
14/04/12 13:28:47.34 4XenY3RD
@abc
にはマッチしないで

@abcabc

@abcdef

にはマッチさせるにはどのように記述したら良いでしょうか?

413:デフォルトの名無しさん
14/04/12 13:50:15.31 U3ze+O2N
>>412
>>2のように記述したらいいと思うよ。

@abc(abc|def)

414:デフォルトの名無しさん
14/04/12 14:11:47.17 4XenY3RD
>>413
レスありがとうございます
後出し条件になってしまい大変申し訳ないですが

@abc の後に続く文字列は[0-9a-zA-Z]が連続したものです

例えば
@abcaaa @abcjoioho @abcvvvud
にはマッチして

@abc のみにはマッチしないように記述したいです

申し訳ありませんがもう一度ご教示頂きたいです。よろしくお願いします

415:デフォルトの名無しさん
14/04/12 14:14:15.07 4XenY3RD
更に追記させて下さい

@defghij @jijoaa @hogehoge

などの文字列にもマッチさせたいです

何度も投稿してしまい本当に申し訳ありません

416:デフォルトの名無しさん
14/04/12 15:19:18.59 s4x1CSLN
>>414
> @abc の後に続く文字列は[0-9a-zA-Z]が連続したものです

そのまま書けばええやん
@abc[0-9a-zA-Z]+

>>415
何をしたいのかよくわからんけど、@[0-9a-zA-Z] として、アプリ側で @abc を弾いた方がいいんじゃね?

417:デフォルトの名無しさん
14/04/12 15:21:49.29 s4x1CSLN
>>416
typo したわ

× @[0-9a-zA-Z] として
○ @[0-9a-zA-Z]+ として

418:デフォルトの名無しさん
14/04/12 20:05:08.80 ngoF8pDl
.NET2.0 System.Text.RegularExpressions.Regex;

検索です。
<p><a href="URLリンク(example.com"><)
<a href="URLリンク(example.com">)

このようなデータから、pタグに囲まれているexample.comのみを抜き出したいのですが、
一旦pタグごと抜き出してあとからreplaceするしかないのでしょうか?

419:デフォルトの名無しさん
14/04/12 20:41:47.82 rlCwOjmw
>>414>>415
@(?!abc)[0-9a-zA-Z]+

420:デフォルトの名無しさん
14/04/12 23:00:03.30 U3ze+O2N
>>418
xpathで一発。
と思ったが、a閉じてないし無理か。
その初めて見るデータの仕様がわからないと、どうしようもない。

421:デフォルトの名無しさん
14/04/12 23:50:11.34 jMhZwQAt
>>419
これだと
@abcabc
@abcdef
にはマッチしないか

422:デフォルトの名無しさん
14/04/12 23:50:28.43 75P4fa7h
こっちに書いたらscにも反映されちゃうのか、こっちをちらしの裏にしようと思ったのに。

423:デフォルトの名無しさん
14/04/13 00:33:19.28 yqZVS2ZT
test

424:デフォルトの名無しさん
14/04/13 07:57:10.90 Dl/ggmgg
一番内側のインライン要素は別に閉じる必要ないんじゃないっけ

425:デフォルトの名無しさん
14/04/13 11:58:54.95 wSq/pgWA
>>424
html はそこら辺アバウトだったから
xhtml では xml に合わせたから、解析しやすくなるはずなんだが、アバウトなままのサイトが一杯あるから苦労は変わらないままだったりする

426:デフォルトの名無しさん
14/04/13 16:31:19.64 9NN4C2hO
>>426
省略可能な奴はちゃんと定義されててアバウトじゃないんだけど、
流通してるHTMLとWebブラウザの実装がアバウトってだけだよ。
最近話題になったやつだと2ch。scの告知画面tinyurl。com/pjstnp7
はbodyタグのオープンとか省略しているけどW3Cの検証機を通る。
# エンコーディング周りはHTTPヘッダで回答してればセーフだし。

どこでこの話聞いたんだっけ・・・

427:デフォルトの名無しさん
14/04/13 16:44:43.25 CQggOOXO
スラドで見かけた

428:デフォルトの名無しさん
14/04/14 06:01:26.20 x8/AYQxN
あー、やっぱスラドか。一応ググったつもりだったんだがなぁ…
URLリンク(it.slashdot.jp)
そしてスラドのこんな記事の話題をこんなスレで振って返事があるとかびっくりだ。さんきゅ

429:デフォルトの名無しさん
14/04/14 07:43:22.83 HpK6ptq4
どうみても ./ と 2ch は住民かぶってるだろ

430:デフォルトの名無しさん
14/04/14 08:06:33.60 DuPxyPL7
ドッスラはカレントディレクトリなんだよなあ

431:デフォルトの名無しさん
14/04/14 09:13:38.05 HpK6ptq4
/. の pyto やね

432:デフォルトの名無しさん
14/04/14 22:47:36.55 qpVJ3EkT
なんでそう何度も前後逆になるんだ?
Intel厨?(little endian)

433:デフォルトの名無しさん
14/04/15 13:46:45.24 WaetxQT9
前後で考えるから逆だと思うわけで
高低で考えると逆じゃない

434:デフォルトの名無しさん
14/04/19 15:08:30.61 I0Tv5INM
ひまわりの肥料って何がいいですか?

435:デフォルトの名無しさん
14/04/21 10:46:09.60 epNqpaJy
●Regular Expressionの使用環境
サクラエディタ 2.1.1.1

●検索か置換か?
置換

●説明
[]内の文字だけにしたい
※ [ と ] と (半角スペース)の3つを消したい

●対象データ
[あいうえお] ←最後に半角スペースあり(以下同じ)
[カキクケコ]
[AIUEO]
[漢字等々]

●希望する結果
あいうえお←最後の半角スペースも消したい(以下同じ)
カキクケコ
AIUEO
漢字等々

436:デフォルトの名無しさん
14/04/21 12:03:19.19 3tZdYhCV
>>435
置換対象
[(.*) ]

置換後
$1

437:デフォルトの名無しさん
14/04/21 12:10:07.08 3tZdYhCV
すまんエスケープしないとダメだな
あとスペースの位置まちがってた
『』の中

置換対象
『\[(.*)\] 』

置換後
『$1』

438:デフォルトの名無しさん
14/04/21 12:44:34.05 EHF6HnLR
sakuraテキストエディタを使用しています。
20行くらいの文字列があります。
それぞれの行の、前後にabcとefgを追加したいです。
abc元の文字列efg
検索文字
(^*$)
置換え文字
abc\1efg
これを実行すると、元の文字列abcefgと各行に追加されます。
どのように正規表現を書けばいいか教えてください。

439:デフォルトの名無しさん
14/04/21 13:12:33.14 7sVNkmyi
検索文字
^(.+)$
置換
abc\1efg

440:デフォルトの名無しさん
14/04/21 13:38:17.94 3tZdYhCV
サクラには始点挿入と終点追加の機能もあるんやで

441:デフォルトの名無しさん
14/04/21 14:49:46.24 EHF6HnLR
>>439
できました!!
ありがとうございます。

>>440
そんな機能もあったんですね、調べてみます。

442:デフォルトの名無しさん
14/04/24 17:52:09.55 V1UpyXxT
挿入!
ヤラシイ

443:デフォルトの名無しさん
14/04/25 20:18:46.86 JH0TWYKX
秀丸エディタの正規表現

「改行を含む0文字以上の任意の文字列」 を指定するにはどうしたら良いでしょうか?

.+

だと改行が含まれません。
対処法を教えて下さい・・・・

444:デフォルトの名無しさん
14/04/25 20:42:22.63 GDJFN5mS
\r\n

445:デフォルトの名無しさん
14/04/25 20:48:34.44 JH0TWYKX
>>444
すいません上手く行きません。

[\.\n]+
[\s\S]+

これでもダメです。

446:デフォルトの名無しさん
14/04/25 21:06:21.53 JH0TWYKX
訂正。
[.\n]+
これでもダメ。

[\S\s\n]+
これだとマッチしたりしなかったり。
挙動がよく分かりません。

447:デフォルトの名無しさん
14/04/25 21:48:48.71 BpGWRq7/
ヘルプの
目次- 検索系コマンド- 正規表現- \nを使った複数行検索の際の制限について

秀丸で改行を含む正規表現はうまくいかないのであきらめよう

448:デフォルトの名無しさん
14/04/25 21:57:52.26 JH0TWYKX
秀丸エディタスレに移動します。お邪魔しました。

449:デフォルトの名無しさん
14/04/25 21:59:23.54 JH0TWYKX
>>447 アドバイスありがとうございました。

450:デフォルトの名無しさん
14/04/26 15:24:01.32 FDgGm5F+
Win7に入れたcygwinで、以下のようなテキストファイル

いろんな文字Text11いろんな文字
いろんな文字Text215いろんな文字
いろんな文字Text351いろんな文字
...

から
Text11
Text215
Text351
を取り出したいのです。
をgrepやsedでトライしたのですが、分りません。
よろしく。

451:デフォルトの名無しさん
14/04/26 15:48:21.91 bHDNIx6I
>>450
てきとーだけど
sed 's/^.*\(Text[0-9]*\).*$/\1/'

452:デフォルトの名無しさん
14/04/26 16:09:16.64 FDgGm5F+
>>451
ありがとうございます。出来ました。

453:デフォルトの名無しさん
14/04/26 17:58:23.86 7YL+swb1
grep -o Text[0-9]*
の方が楽でない

454:デフォルトの名無しさん
14/04/26 18:56:42.33 FDgGm5F+
>>453
ありがとうございます。こんな技があったとは。。。素晴らしい。

455:デフォルトの名無しさん
14/04/26 23:18:57.81 VGAf199r
せいきなんとかURLリンク(akiba.geocities.jp)

456:デフォルトの名無しさん
14/05/07 18:40:40.37 a4cm40Cx
●Regular Expressionの使用環境
Emeditor(正規表現エンジン:Perl)

●検索か置換か?
検索

●説明
各行の1番目のAまでを検索したい

●対象データ
評価良い
評価悪い
評価ふつう


●希望する結果
”評価良い”の ”評価” と
”評価悪い”の ”評価” はヒットさせず、
”評価ふつう”の ”評価” のみヒットさせたいです。

457:デフォルトの名無しさん
14/05/07 18:41:19.38 a4cm40Cx
>>456の続きです

下の検索ワードで個々に正規表現検索すると、
評価(?!良い)
評価(?!悪い)

評価(?!良い) で検索すると、
評価悪い
評価ふつう

上の行の”評価”がヒットし、

評価(?!悪い) で検索すると、
評価良い
評価ふつう

上の行の”評価”がヒットします。


評価(?!良い)|評価(?!悪い) で検索すると、
評価ふつうの”評価”のみヒットさせていたのですが、

評価良い
評価悪い
評価ふつう

上の3行全ての”評価”がヒットしてしまいます。

評価ふつうの”評価”のみヒットさせるにはどのようにすれば良いでしょうか。
お分かりの方おりましたら、アドバイス頂けるとうれしいです。よろしくお願いします。

458:デフォルトの名無しさん
14/05/07 21:20:41.89 bY3JnOhr
>>457
評価(?!良い|悪い)
評価(?!良い)(?!悪い)

459:デフォルトの名無しさん
14/05/07 22:51:13.63 N+3a4ufs
Perlって(?=)使えないの?
それにしても説明文章ヘタクソだな

460:デフォルトの名無しさん
14/05/07 23:10:01.42 QGVowAzN
>Emeditor(正規表現エンジン:Perl)
とか言ってる時点で・・・
Emeditorの正規表現はBoost Regex++や

461:デフォルトの名無しさん
14/05/08 00:29:38.20 ZNqlRNij
>>458さん
ありがとうございます。試させて頂いたところマッチしました。
そのような書き方になるのですね、とても参考になりました。

文章長くなってスミマセン。
"EmEditor は、Perl の正規表現構文に基づいています"と記載があったので今までPerlだと思ってました。。
確認しましたらBoost Regex++でした。。

462:デフォルトの名無しさん
14/05/08 04:50:15.85 XccdVftY
否定先読みが使えて肯定先読みが使えない、なんて環境は有り得ないだろ

評価(?=ふつう)

でええやん

463:デフォルトの名無しさん
14/05/10 02:21:54.85 8U9D7Dh6
>>459,462
すいません遅くなりました。そのような書き方もあったのですね。
試してみたところ正常に動作しました。とても参考になります、どうもありがとうございます。

464:デフォルトの名無しさん
14/05/10 10:51:15.57 OuDEqY/x
●Regular Expressionの使用環境
Textmate

●検索か置換か?
置換

●説明
行末尾から最初に現れるスペースまでを検索し、置換によって該当文字を削除したい

●対象データ
A B C A
B CA A
CAB A
ABC

●希望する結果(各行の末尾にスペースは存在しない)
A B C
B CA
CAB
ABC


よろしくお願いします

465:デフォルトの名無しさん
14/05/10 15:29:19.68 bpNAt6b2
TextMate Manual ≫ 正規表現
URLリンク(manual.macromates.com)

正規表現のルールはこちらです、よろしくお願いします。

466:デフォルトの名無しさん
14/05/10 16:22:48.29 bpNAt6b2
>>455
バッチリでした!ありがとうございました!

467:デフォルトの名無しさん
14/05/10 19:08:45.30 9WYsc5/z
>>464
置換前先頭には半角スペースあり

置換前:
[^ ]+?$

置換後:
空欄

468:デフォルトの名無しさん
14/05/11 06:17:56.60 cMjkQ9rh
●Regular Expressionの使用環境
sed、grep
●検索か置換か?
置換
●説明
マッチした結果をそのまま置き換えるでなく、
1つ前に改行を入れたい。

●対象データ
0ABC1DEF2GHI3JKL4MNO

●希望する結果
0ABC
1DEF
2GHI
3JKL
4MNO

よろしくお願いします。

469:デフォルトの名無しさん
14/05/11 06:49:33.52 gqNJJWlw
>>468
マッチ条件を書けよ
どうせ任意の4文字、じゃないんだろ?

470:デフォルトの名無しさん
14/05/11 07:34:32.90 AcT6QrMV
想像するに、先頭が連番となる数字で始まるじゃないか?
単なる数字で始まるならまだしもだけど

471:デフォルトの名無しさん
14/05/11 07:47:35.54 5Cvu+VTD
>>468
sedはわかるけど、grepコマンドで置換ってどういうこと?

472:デフォルトの名無しさん
14/05/11 10:34:42.59 1lidwdFw
<検索>
(検索キーワード)

<置換>
$1\n

みたいな意味でないかな。ようは置換後に改行を入れるやり方が知りたいと。

473:デフォルトの名無しさん
14/05/11 22:45:24.09 /w7Xo6bZ
C++である変数valでコメントにされていない箇所を検索したい

マッチしてほしい
val=0; // ~~~~


マッチしてほしくない
// val=1;
  // val=1;

474:デフォルトの名無しさん
14/05/11 22:56:17.34 zdamCAAu
>>473
Visual Studio とかで検索した方がいいんじゃないか?

475:デフォルトの名無しさん
14/05/12 00:30:36.67 7jCCFS46
C++である変数valでコメントにされていない箇所を検索したい

マッチしてほしい
val=0; // ~~~~


マッチしてほしくない
// val=1;
  // val=1;

476:デフォルトの名無しさん
14/05/12 03:34:07.70 gfHEQtpm
>>475
IDEを使って、変数の参照機能を利用すると良い。

477:デフォルトの名無しさん
14/05/12 11:30:42.85 ZtmTFQ/l
こういう需要があるのは知ってるがスレチだろう
昔Cで書いたときは使い物にならなくて条件コンパイルの入れ子まで対応したw

478:デフォルトの名無しさん
14/05/12 12:43:12.46 3gM4pAJ7
俺も背面跳び逆さダブルコンパイルまで対応した。時間軸が合わないからここには貼れないけどね。

479:デフォルトの名無しさん
14/05/12 17:50:14.54 wdXrAHxM
>>468
ふたつ疑問。
一つは既に出ているように検索条件。数字一文字でよいのか?
二つ目は文字列の先頭に現れる数字に対しては改行を挿入しないという解釈でよいのか。

480:デフォルトの名無しさん
14/05/12 21:04:37.03 gfHEQtpm
>>475みたいなのは正規表現でやるもんじゃないよね。
意味を知らないと正確にマッチできないのだから
意味を解釈できるツール、たいていはIDEになると思うけど
そういうのを使わなきゃ。

481:デフォルトの名無しさん
14/05/13 15:31:48.19 KOwQUUXj
荒らすための質問はスルー

482:デフォルトの名無しさん
14/05/14 03:00:27.44 JxeTIG1R
スルーの強要は荒らし

483:デフォルトの名無しさん
14/05/14 04:59:25.29 zBp780AK
次スレ

正規表現道場 Part2
URLリンク(akiba.geocities.jp)

484:デフォルトの名無しさん
14/05/15 00:55:52.66 0gQNXHoC
>>483
面白そう。DANより早いコード作ろうか。

485:デフォルトの名無しさん
14/05/15 02:56:08.49 3O8Jckao
ミスって.scでレスしちまった・・・

>>483
わざわざブラウザでしか見れないジャンプページ挟んで広告費稼ぐとか下衆くて不便な誘導はヤメレ
URLリンク(nozomi.2ch.) sc/test/read.cgi/php/1348048723/
でいいだろ

486:デフォルトの名無しさん
14/05/15 03:17:29.59 0gQNXHoC
女 「アフィなんてないよ!」

あれはジオが出してる広告。ソース見れば分かるよ。
そもそもこんな過疎スレでアフィなんてやっても年100円いくかどうかでは。

487:デフォルトの名無しさん
14/05/15 04:10:09.30 3O8Jckao
>>486
そうだったか、すまん。でもページランク稼ぎじみてて不便なのは変わらん。

488:デフォルトの名無しさん
14/05/16 01:07:46.28 /OuuLVDF
ブラウザでないというと何で見てるの?
クリックで辿り着けるほうが半角スペ消して繋げるより便利でね?
広告がうざかったらadblockとかで。jsで出さなくも出来るけどまんどくせ。

>ページランク
それが狙いならそこら中にURL貼るわな。まぁそんなに警戒しないでくれよんぴる。

489:デフォルトの名無しさん
14/05/16 07:30:43.48 z+fBbvw1
今の時点でscへ行く人まずいないんじゃあるまいか?
なぜにscへ誘導?

490:デフォルトの名無しさん
14/05/16 08:02:21.58 /OuuLVDF
小飼 弾が手負いのうちに容赦なくツッコミを入れておく : せいきなんとか
URLリンク(akiba.geocities.jp)

↑誰かツイッターで弾に特攻して。

>>489
sc 、 open2ch のNGワード。 ← 中国並みの言論統制
連投規制なし。 ← ちらしの裏に最適

実のとこそれほど誘導するつもりはない。むしろ人が増えるとちらしの裏にしにくくて困る。
ただ正規表現にガチな人が何人かいるとありがたかったり。間違いを教えてもらえるからね。

491:デフォルトの名無しさん
14/05/17 09:47:21.78 7hm1D3vf
>>488
> ブラウザでないというと何で見てるの?
Webブラウザと書くべきだったな。すまん。
> クリックで辿り着けるほうが半角スペ消して繋げるより便利でね?
それとドメイン名に半角スペースは使えないからJaneStyleとかだとスペース付きのままでも飛べるし、
半角スペース入れずにピリオドを句読点に変換しておいても国際化ドメインに対応してれば飛べる。
そもそも専ブラで読む気なら半角スペース消してすら、Webブラウザの応答待ってコピペするより速い。
> まぁそんなに警戒しないでくれよんぴる。
ゴメン無理。だってSEO意識しまくってるじゃんか。事ある毎に宣伝してるしそういう風にしか見えないよ。
>> URLリンク(nozomi.2ch)。sc/test/read.cgi/php/1348048723/169
>> ググりやすさ重視の名前にしました。「正規表現」の書きにくさを回避。
>> 検索でも他サイトと被りそうにないし。

492:デフォルトの名無しさん
14/05/17 14:40:00.41 +edCn2/r
>>491
おk、専ブラで見てるってことか。

範囲選択 → 右クリ → 「選択範囲をURLとして開く」

・・DANE。 なるほど、半角スペ消さなくても飛べるね。
しかし普通のブラウザで見に来てる人にはそうはいかんのだよ。そういう人用のリンクなわけだが・・。

>SEO
ああ、それは他のサイトと被らない名前にすることで検索結果の一番上に出そうって話だよ。
1つしかヒットしない名前にすれば一番上になるだろって話。どうやら失敗したっぽいけどね・・orz
クルマメーカーが 「車」 で検索されたときの順位を一位にするべく行うSEO対策とは違う。

まぁそんなに警戒する人は無理に来なくてもいいよ、異常に怖がって足がすくんで先に進めないような人より
広告だろうがSEO対策に利用されようが気にすることなく貪欲に情報を求めにくる人に来て欲しい。

493:デフォルトの名無しさん
14/05/17 21:36:10.71 +edCn2/r
ちなみに >>3 の正規表現パズルもジオだから同じ広告が出るのを確認出来る。
って、今年の3/1に更新されてるね。まだ現役だったのかw

494:デフォルトの名無しさん
14/05/18 23:11:17.27 vFp/InUl
1時間調べたけどギブアップ。

秀丸で
連続しない改行は★に置換。
連続する改行は何もしない。

どう記述すれば良いでしょうか!


検索文字列 → \n([^\n])
置換文字列 → ★\1
これだと連続する改行の末尾でマッチしてしまうのでNGです。

495:デフォルトの名無しさん
14/05/19 00:38:57.93 6okFS6t5
(?<!\n)\n(?!\n)

でダメなら知らね。

496:デフォルトの名無しさん
14/05/19 17:45:35.18 ByfTztcE
>>495
『HmJre.dllの正規表現での前方一致/不一致"(?<!xxx)","(?<=xxx)"では改行文字を使うことができません。
かまわずに続行しますか?』

こういう警告が出るけど、一応出来ました!
ありがと!

497:デフォルトの名無しさん
14/05/20 21:53:50.27 yBFoziSg
詳説 正規表現 第3版 の誤植 ( 日本語版 / 初版第1刷 ) : せいきなんとか
URLリンク(akiba.geocities.jp)

498:デフォルトの名無しさん
14/05/22 22:54:50.17 cKOVk0RX
>>467
返事とても遅くなりました
助かりました
ありがとうございます

499:デフォルトの名無しさん
14/05/23 16:19:14.53 M32fb6pL
てs

500:デフォルトの名無しさん
14/05/25 00:46:30.08 fP8zkgQw
"正規表現メモ" のメモ : せいきなんとか
URLリンク(akiba.geocities.jp)

連投規制が解けないのでsc見限りました・・。

501:デフォルトの名無しさん
14/05/25 01:32:03.34 ILOCnL5n
ここにエジプト民の居場所なんかねえよ

502:デフォルトの名無しさん
14/05/25 01:41:37.24 fP8zkgQw
ああ、もしかして sc = アフィ厨 と思われたのかな。アフィなんかに興味無いんで。
というか1日10アクセスのサイトでアフィなんかやってたらアホだわ。

おそらく正規表現メモや雑技たんのアフィでさえ雀の涙も儲かってないはず。
正規表現を調べに来たような奴がアフィ踏むわけないって。

503:デフォルトの名無しさん
14/05/26 11:23:37.93 T5nGq6IH
こいつ馬鹿だ

504:デフォルトの名無しさん
14/05/26 12:08:22.37 ptXAqcmg
「 2ch (ドット) sc 」 って書き込み出来ないワードなんだなω
スペース空けてても拒否されたωωω

505:デフォルトの名無しさん
14/05/26 12:34:16.85 LnM16LwK
2ch. sc

506:デフォルトの名無しさん
14/05/27 19:07:51.35 vDTcjh58
2ch.sc
open2ch.net
machi.to
sakura.ne.jp


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch