2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

Regular Expression(正規表現) Part11

1 :デフォルトの名無しさん:2013/03/10(日) 20:10:13.34
Regular Expressionスレです。

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

前スレ
http://toro.2ch.net/test/read.cgi/tech/1340383120/


天ぷら等2以降

2 :デフォルトの名無しさん:2013/03/10(日) 20:12:24.81
スルーされにくい質問のテンプレと例

●Regular Expressionの使用環境
Java1.5

●検索か置換か?
検索

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

●対象データ
ABCA
BCAA
CABA

●希望する結果
ABCA
^
BCAA
^^^
CABA
^^

※ ^ はアンダーラインだそうな ^^;

3 :デフォルトの名無しさん:2013/03/10(日) 20:13:31.13
◆関連サイト
正規表現メモ
http://www.kt.rim.or.jp/~kbk/regex/regex.html
Perl正規表現雑技
http://www.din.or.jp/~ohzaki/regex.htm
Regular Expression(Riue ちゃんの正規表現講座)
http://www.sixnine.net/regexp/
正規表現パズル
http://www.geocities.jp/oraclesqlpuzzle/regex/
詳説 正規表現
http://www.oreilly.co.jp/books/4873111307/
正規表現プログラミングFAQ
http://capslockabcjp.kitunebi.com/faq.html
JScript 正規表現の概説
http://msdn.microsoft.com/library/ja/script56/html/js56reconIntroductionToRegularExpressions.asp
.NET Framework 正規表現言語要素
http://msdn.microsoft.com/library/ja/cpgenref/html/cpconregularexpressionslanguageelements.asp
【 初心者 】 正規表現 【 入門 】
http://funcchan.blog16.fc2.com/

4 :デフォルトの名無しさん:2013/03/10(日) 20:14:54.60
◆関連スレ
[UNIX板] 正規表現
http://pc12.2ch.net/test/read.cgi/unix/1039165754/
[WebProg] 正規表現道場
http://pc11.2ch.net/test/read.cgi/php/1168450843/

◆前スレ
[1] http://pc8.2ch.net/test/read.cgi/tech/1062152374/
[2] http://pc8.2ch.net/test/read.cgi/tech/1131028296/
[3] http://pc11.2ch.net/test/read.cgi/tech/1156413899/
[4] http://pc11.2ch.net/test/read.cgi/tech/1186030400/
[5] http://pc12.2ch.net/test/read.cgi/tech/1212498448/
[6] http://pc12.2ch.net/test/read.cgi/tech/1241537764/
[7] http://hibari.2ch.net/test/read.cgi/tech/1268979408/
[8] http://hibari.2ch.net/test/read.cgi/tech/1301067486/
[9] http://toro.2ch.net/test/read.cgi/tech/1323566370/

5 :デフォルトの名無しさん:2013/03/10(日) 20:48:49.56
>>1


6 :デフォルトの名無しさん:2013/03/10(日) 23:29:16.77
まんまん

7 :デフォルトの名無しさん:2013/03/11(月) 11:04:18.23
全スレ最後のほうで執着してたやつが立てたのか
まあ一応乙

8 :デフォルトの名無しさん:2013/03/11(月) 14:32:35.52
>>3
詳説 正規表現 ←第二版のまま。現行は第三版
http://www.oreilly.co.jp/books/9784873113593/

JScript 正規表現の概説 ←真っ白
.NET Framework 正規表現言語要素 ←真っ白

9 :デフォルトの名無しさん:2013/03/11(月) 15:18:19.29
>>8
http://msdn.microsoft.com/ja-jp/library/28hw3sce%28v=VS.80%29.aspx
http://msdn.microsoft.com/ja-jp/library/az24scfc%28v=vs.80%29.aspx

10 :デフォルトの名無しさん:2013/03/11(月) 17:03:43.55
RegularExpressionでIPアドレスが正しいかどうか判断するのは無理かね?
無理なら各オクテット切り出して0〜255の範囲にあるか地道にチェックするけど。

11 :デフォルトの名無しさん:2013/03/11(月) 17:16:11.17
IPv4ならこんな感じか [12]?\d\d\.[12]?\d\d\.[12]?\d\d\.[12]?\d\d\

12 :デフォルトの名無しさん:2013/03/11(月) 17:35:35.25
ブサヨがよーチョンがよー

13 :デフォルトの名無しさん:2013/03/11(月) 18:15:21.72
>>10
IPアドレスの定義は?それを明示すれば誰かが教えてくれる。

14 :デフォルトの名無しさん:2013/03/11(月) 19:16:55.03
>>11でいいんじゃないの?

15 :デフォルトの名無しさん:2013/03/11(月) 19:35:25.80
(?:\d|[1-9]\d|1\d{2}|24\d|25[0-5])\.(?:\d|[1-9]\d|1\d{2}|24\d|25[0-5])\.(?:\d|[1-9]\d|1\d{2}|24\d|25[0-5])\.(?:\d|[1-9]\d|1\d{2}|24\d|25[0-5])
こんな感じ?

16 :デフォルトの名無しさん:2013/03/11(月) 19:40:17.28
ごめん間違えた
(?:\d|[1-9]\d|1\d{2}|2[0-3]\d|24\d|25[0-5])\.(?:\d|[1-9]\d|1\d{2}|2[0-3]\d|24\d|25[0-5])\.(?:\d|[1-9]\d|1\d{2}|2[0-3]\d|24\d|25[0-5])\.(?:\d|[1-9]\d|1\d{2}|2[0-3]\d|24\d|25[0-5])

17 :デフォルトの名無しさん:2013/03/11(月) 19:56:50.99
きついな・・・

18 :デフォルトの名無しさん:2013/03/11(月) 20:04:02.65
IPv6はマジでヤバそう

19 :デフォルトの名無しさん:2013/03/11(月) 20:06:21.73
>>18
正規表現よりinet_pton使ったほうが確実。

20 :デフォルトの名無しさん:2013/03/11(月) 20:15:33.75
>>14
>>18とかもそうだけどIPって言っても色々あるからね。
ローカルアドレスを含めるかとか、999がマッチしても実用上困らないので\d{1,3}でいいです、とか。

21 :デフォルトの名無しさん:2013/03/11(月) 22:37:27.29
●Regular Expressionの使用環境
Ruby 1.9

●検索か置換か?
検索

●説明
red または blue が含まれてない行を検索したい。

●対象データ
yellow red blue green orange
red green yellow orange
black yellow orange white
green yellow blue orange

●希望する結果
black yellow orange white

22 :デフォルトの名無しさん:2013/03/11(月) 22:42:23.87
入門サイト読めば出来るようになるから読んでこい。先読み否定ってやつな。

23 :デフォルトの名無しさん:2013/03/11(月) 22:48:42.80
こんな感じで、質問が来たら、
「入門サイト読めば出来るようになるから読んでこい」って
返していけばいいのか、このスレは?

24 :デフォルトの名無しさん:2013/03/11(月) 22:53:36.28
ググったら一発で出るようなのは流石に無いだろってかググった方が早いだろ

25 :デフォルトの名無しさん:2013/03/11(月) 22:55:42.21
それって正規表現すべてに当てはまる話じゃね?
ググったらわかる。

IPv6とかググったらわかるでしょ?

26 :デフォルトの名無しさん:2013/03/11(月) 22:57:17.50
○○の正規表現みたいは話はするなってことだな。

27 :デフォルトの名無しさん:2013/03/11(月) 23:06:25.69
否定先読みでもいいけど
Rubyなら素直に!~でいいんじゃ

28 :デフォルトの名無しさん:2013/03/12(火) 00:03:09.16
というかプログラミングするなら正規表現くらい自分で何とかしろや。
本を読まずに人に聞くような奴は向いてない。

29 :デフォルトの名無しさん:2013/03/12(火) 00:34:21.31
ここでやっと正論が出たか

30 :デフォルトの名無しさん:2013/03/12(火) 01:04:13.77
でも他に性器表現しかやること無いんだろ?

31 :デフォルトの名無しさん:2013/03/12(火) 02:45:20.91
正直な話、「否定」と「数字の比較」は正規表現だけではやりたくない

32 :デフォルトの名無しさん:2013/03/12(火) 16:03:33.32
クレクレスレと勘違いしてる馬鹿がたまに迷い込む

33 :デフォルトの名無しさん:2013/03/12(火) 22:25:31.31
正規表現には限界があるからな。

34 :デフォルトの名無しさん:2013/03/12(火) 23:08:11.69
正規表現ごときなんでスレがあるの

35 :デフォルトの名無しさん:2013/03/13(水) 18:05:00.53
奥が深いからだろ

36 :デフォルトの名無しさん:2013/03/13(水) 18:09:20.00
珠玉の正規表現ください

37 :デフォルトの名無しさん:2013/03/13(水) 18:12:53.22
正規表現ってなに?
regular expressionなら知ってるけど

38 :デフォルトの名無しさん:2013/03/13(水) 18:14:08.56
>>37
低能は黙ってろ

39 :デフォルトの名無しさん:2013/03/13(水) 18:27:27.17
レギュラーエクソシスト下さい

40 :デフォルトの名無しさん:2013/03/13(水) 18:31:44.50
うちには上級エクソシストしかいません

41 :デフォルトの名無しさん:2013/03/13(水) 18:53:22.11
disorder expression

42 :デフォルトの名無しさん:2013/03/13(水) 22:32:18.48
前スレ>>1000に感動した

43 :デフォルトの名無しさん:2013/03/14(木) 00:30:10.60
あるある探検隊

44 :デフォルトの名無しさん:2013/03/16(土) 16:33:27.04
このスレって書き込みが多い時と少ない時の波が激しいよねw

底辺プログラマーの人が多いのかな?

45 :デフォルトの名無しさん:2013/03/16(土) 16:38:11.49
>>44
回答してるのほとんど俺1人だけだから

46 :デフォルトの名無しさん:2013/03/16(土) 16:49:37.30
ほんとはググってから回答してるんでしょ?

47 :デフォルトの名無しさん:2013/03/16(土) 16:50:20.81
⊃ ◎

48 :デフォルトの名無しさん:2013/03/16(土) 17:00:06.23
黙ってふくろう本読め。カネの無い奴は中古で第一版が700円で買えるぞ。

49 :デフォルトの名無しさん:2013/03/16(土) 17:05:44.45
>>46
正規表現がそんな難しいものだと思ってんの?

50 :デフォルトの名無しさん:2013/03/16(土) 17:11:00.84
>>49
正規表現がそんな簡単なものだと思ってんなら帰れ。

51 :デフォルトの名無しさん:2013/03/16(土) 17:14:02.45
くっそかんたんだわ

52 :デフォルトの名無しさん:2013/03/16(土) 17:14:12.28
そんな簡単なことを質問してる人は馬鹿なの?
そしてそれに回答してるお前はなんなの?

53 :デフォルトの名無しさん:2013/03/16(土) 17:15:41.69
●Regular Expressionの使用環境
Ruby 1.9

●検索か置換か?
検索

●説明
red または blue が含まれてない行を検索したい。

●対象データ
yellow red blue green orange
red green yellow orange
black yellow orange white
green yellow blue orange

●希望する結果
black yellow orange white

54 :デフォルトの名無しさん:2013/03/16(土) 17:16:13.03
正規表現、難しくないよ。簡単だよ。

55 :デフォルトの名無しさん:2013/03/16(土) 17:16:44.04
この糞かんたんな質問に自己顕示欲を満たしたいだけの初心者は回答どうぞ

56 :デフォルトの名無しさん:2013/03/16(土) 17:17:28.30
暇になると性器表現しに風俗に逝ってしまう人が多いスレはここですか?

57 :デフォルトの名無しさん:2013/03/16(土) 17:37:37.35
>>55
はい

^(?!.*\bred\b)(?!.*\bblue\b).*$

58 :デフォルトの名無しさん:2013/03/16(土) 17:54:41.98
(?:red|blue) という発想が無いのが素人臭くて実にいいね。

59 :デフォルトの名無しさん:2013/03/16(土) 17:59:28.64
そう思うなら書き直せ屑

60 :デフォルトの名無しさん:2013/03/16(土) 18:00:49.36
お前が書き直せコード乞食

61 :デフォルトの名無しさん:2013/03/16(土) 18:02:30.81
プププ
無能共が吠えてやがるw

62 :デフォルトの名無しさん:2013/03/16(土) 18:37:01.87
俺みたいな正規表現少しかじった程度の初心者でも分かるというのにお前らときたらw

63 :デフォルトの名無しさん:2013/03/16(土) 18:37:45.21
え、これが正解だと思ってんの?

64 :デフォルトの名無しさん:2013/03/16(土) 18:37:57.51
実力が伴っていないんですね、わかります

65 :デフォルトの名無しさん:2013/03/16(土) 18:43:07.86
$を付ける奴はチキン

66 :デフォルトの名無しさん:2013/03/16(土) 18:46:12.36
低能しかいねーわw

67 :デフォルトの名無しさん:2013/03/16(土) 18:49:04.55
書いたコードにケチつけられたからって全員を低能扱いするなよ低能

68 :デフォルトの名無しさん:2013/03/16(土) 18:51:13.65
>低能扱いするなよ低能
語彙が貧弱すぎてワロタw

69 :デフォルトの名無しさん:2013/03/16(土) 18:52:22.32
東横線が繋がったぜ、羨ましいだろ、ガハハ

70 :デフォルトの名無しさん:2013/03/16(土) 18:53:59.05
やはり在日朝鮮人には日本語が通じない

71 :デフォルトの名無しさん:2013/03/16(土) 18:59:07.82
チョンは性器表現しか使えませんw

72 :デフォルトの名無しさん:2013/03/16(土) 18:59:57.08
まあ>>1-71まで俺の自演なわけだが

73 :デフォルトの名無しさん:2013/03/16(土) 19:00:30.44
ここまで俺の自演

74 :デフォルトの名無しさん:2013/03/16(土) 19:34:29.84
こんなクソみたいな流れじゃ性器表現の方が面白いだけマシだな

75 :デフォルトの名無しさん:2013/03/16(土) 19:35:04.73
あんなのが面白いとか小学生かよ

76 :デフォルトの名無しさん:2013/03/16(土) 19:37:10.47
>>74
え、それマジで言ってる? え!?マジ??うわキモッ

77 :デフォルトの名無しさん:2013/03/16(土) 19:54:35.22
そりゃレ○プ大好き韓国人だからなw

78 :デフォルトの名無しさん:2013/03/16(土) 20:07:46.45
おまえ韓国人って単語を差別用語かなにかと勘違いしてるだろ
一応違うんだぞ。

79 :デフォルトの名無しさん:2013/03/16(土) 20:08:06.37
え、違うの?

80 :デフォルトの名無しさん:2013/03/16(土) 20:10:34.92
まだ。な

81 :デフォルトの名無しさん:2013/03/16(土) 20:11:00.20
お前は韓国人と言われて喜ぶのか?

82 :デフォルトの名無しさん:2013/03/16(土) 20:33:48.95
漏れは在日コリアンだけと日本人ニダw

83 :デフォルトの名無しさん:2013/03/16(土) 21:09:33.13
俺は人種差別と韓国人が嫌いだ

84 :デフォルトの名無しさん:2013/03/16(土) 21:24:58.37
俺は人種差別をする韓国人が嫌いだ

85 :デフォルトの名無しさん:2013/03/16(土) 21:27:46.38
俺は韓国人が大嫌いだ

86 :デフォルトの名無しさん:2013/03/16(土) 21:30:08.04
私は戦争が大好きだ

87 :デフォルトの名無しさん:2013/03/16(土) 21:31:45.29
私がルールブックだ

88 :デフォルトの名無しさん:2013/03/16(土) 21:54:06.78
私が神か!?

89 :デフォルトの名無しさん:2013/03/16(土) 21:54:50.14
神はデンデだよ

90 :デフォルトの名無しさん:2013/03/16(土) 21:55:27.37
くっそつまらんな

91 :デフォルトの名無しさん:2013/03/16(土) 22:07:29.85
>>89
やっぱ俺じゃねーか
俺だよデンデだよ

92 :デフォルトの名無しさん:2013/03/16(土) 22:09:23.97
>>91
うるさいおまえなんかでんでんだ

93 :デフォルトの名無しさん:2013/03/16(土) 23:58:59.60
んでんでんでんで

94 :デフォルトの名無しさん:2013/03/17(日) 02:54:43.61
まよいまいまい

95 :デフォルトの名無しさん:2013/03/18(月) 04:57:36.95
RegexってC言語の標準ライブラリだけで実装したらきついっすかね?

96 :デフォルトの名無しさん:2013/03/18(月) 07:06:51.56
自前実装は想像もしたくねぇなー…

97 :デフォルトの名無しさん:2013/03/18(月) 08:24:22.90
むしろ malloc()/free() くらいしか使わないんじゃないの?

98 :デフォルトの名無しさん:2013/03/18(月) 08:28:26.34
その「むしろ」はどこに掛かってるんだw

99 :デフォルトの名無しさん:2013/03/18(月) 09:40:12.59
いやいや、むしろstrcmpだろ。

100 :デフォルトの名無しさん:2013/03/18(月) 10:11:36.92
チンコはNGにするけど
パチンコはNGにしない

たとえばの話なんですが2chブラウザなどでNGワードを指定する場合どう書けばいいですか

101 :デフォルトの名無しさん:2013/03/18(月) 11:22:59.20
パチンコもNGにしたほうがいい

102 :デフォルトの名無しさん:2013/03/18(月) 11:23:31.42
むしろをつけるべきでした。

103 :デフォルトの名無しさん:2013/03/18(月) 11:47:51.44
無理だろうね
バカバカしいはOKでバカはNGみたいなのは正規表現では無理

104 :デフォルトの名無しさん:2013/03/18(月) 12:41:55.77
>>100
(?<!パ)チンコ
(^|[^パ])チンコ

>>103
バカ(?!バカしい)

105 :デフォルトの名無しさん:2013/03/18(月) 12:53:49.03
うわ、こいつマジレス、きもっ

106 :デフォルトの名無しさん:2013/03/18(月) 14:24:55.36
あーあ見え見えの挑発に乗っちゃって…

107 :デフォルトの名無しさん:2013/03/18(月) 15:15:43.14
こんな質問をするぐらいだからきっとspyle使いなんだろうな

108 :デフォルトの名無しさん:2013/03/18(月) 15:43:40.87
>>104
これだとその一手にしか使えないな
バカげてる・バカなの?などいちいち追加しないといけない
逆転の発想でチンコとバカは完全一致にするとか

109 :デフォルトの名無しさん:2013/03/18(月) 16:00:33.00
パチンカスニート

110 :デフォルトの名無しさん:2013/03/18(月) 16:15:14.04
極太でチンカスまみれのヨーロッパチンコしゃぶりたい

111 :デフォルトの名無しさん:2013/03/18(月) 16:32:50.08
今日も溜まりにたまった白濁の液体を抜き取るぜ

112 :デフォルトの名無しさん:2013/03/18(月) 16:46:17.77
結局性☆器表現スレに…ドピュドピュドピュピュー

113 :デフォルトの名無しさん:2013/03/18(月) 22:42:48.94
あ、パパチンコがガチガチに勃起してるよ?
どうして欲しいの?

114 :デフォルトの名無しさん:2013/03/18(月) 23:35:33.79
お前らはニューハーフがお似合い
https://www.google.com/search?q=%E3%83%8B%E3%83%A5%E3%83%BC%E3%83%8F%E3%83%BC%E3%83%95%E3%80%80%E5%B0%84%E7%B2%BE

115 :デフォルトの名無しさん:2013/03/18(月) 23:38:47.35
たまらん

116 :デフォルトの名無しさん:2013/03/21(木) 10:07:22.09
.resSystem:contains("◆")
{
color: #008000;
}






font-weight: normal;
color: #008000;

117 :デフォルトの名無しさん:2013/03/21(木) 18:51:06.76
コメント内の任意の文字を全て半角スペースに置き換える正規表現は可能でしょうか?
aaaは固定ではなく、長さや文字も任意です。
文字数分スペースに置き換える必要があります。

変換前
/*aaa*/

変換後
/* */

118 :デフォルトの名無しさん:2013/03/21(木) 18:57:23.28
可能です。頑張って正規表現を覚えて下さい。

119 :デフォルトの名無しさん:2013/03/22(金) 10:24:52.97
>>118
質問の意味わかってないよね?
これは正規表現じゃできないでしょ

コメント以外は変換しちゃならんのだろ?

// hogehoge ←これは変換
/* hogehoge */ hogehoge ←コメント内のhogehogeのみ変換
hogehoge ←これは変換しない
/*
 hogehoge ←これは変換
*/

こんなもん正規表現でできるかよ

120 :デフォルトの名無しさん:2013/03/22(金) 10:46:37.73
>>119
使用環境次第だな。
複数行をサポートするかどうか。
使用環境次第で正規表現の適用範囲も変わる。

121 :デフォルトの名無しさん:2013/03/22(金) 10:54:04.11
適当なこと書いて煽っとけば正解が出てくるメソッドだろうと思うけど
問題にするべきは入れ子の場合だと思うよ。

122 :デフォルトの名無しさん:2013/03/22(金) 10:55:35.78
そもそも件のコメントに入れ子が許されてるのかが問題だな

123 :デフォルトの名無しさん:2013/03/22(金) 11:19:06.11
>>120
複数行以前に、おれにはしたが対応できない…
先読み後読み駆使して対応できるの?

/* hogehoge */ hogehoge 

124 :デフォルトの名無しさん:2013/03/22(金) 12:03:43.35
>>119
>>117の要求に行コメントなんてどこにもないだろ
第三者なら黙ってろよ

125 :デフォルトの名無しさん:2013/03/22(金) 12:22:03.83
>>124
>>119はhogeとか使ってるキチガイなんだからまともに受けとるな
正常な精神構造した人間ならhogeなんか使わないよ

126 :デフォルトの名無しさん:2013/03/22(金) 12:35:21.97
>>117
環境は分からんけど余裕と思う
2時間も勉強すればいけるんじゃね?

それくらいなら正規表現使わずにC言語でゴリゴリ書いても余裕なレベル

127 :デフォルトの名無しさん:2013/03/22(金) 12:41:27.78
格闘ゲームのコマンド入力チェックにRegex使うってマジ?

128 :デフォルトの名無しさん:2013/03/22(金) 13:57:31.37
>>119
可能だから可能と言ってるんですよ。あなたには出来ないだけです。

129 :デフォルトの名無しさん:2013/03/22(金) 13:59:42.41
>>125
おまえのその感覚が異常

130 :デフォルトの名無しさん:2013/03/22(金) 14:06:20.39
regex eオプション
でggrks

131 :デフォルトの名無しさん:2013/03/22(金) 14:11:27.15
正規表現単体で出来るんですよ。ちゃんとマスターしてる人なら。

132 :デフォルトの名無しさん:2013/03/22(金) 14:27:22.72
正規表現と法華経
どちらが最高の人生にするために有用ですか?

133 :デフォルトの名無しさん:2013/03/22(金) 15:00:46.17
正規表現単体とか言ってる時点でマスターしてないのが良くわかる

134 :デフォルトの名無しさん:2013/03/22(金) 15:00:56.52
そりゃもちろん法華経

135 :デフォルトの名無しさん:2013/03/22(金) 15:01:35.80
>>133 ←マスターしてないド素人

136 :デフォルトの名無しさん:2013/03/22(金) 15:03:25.47
人生いろいろ

137 :デフォルトの名無しさん:2013/03/22(金) 15:05:48.33
>>135 即レス乙w

138 :デフォルトの名無しさん:2013/03/22(金) 15:07:40.36
つか前スレで似たような質問あって解決したばっかだろうが。

139 :デフォルトの名無しさん:2013/03/22(金) 15:22:32.81
>>138
ちゃんと解答しないならそんな無意味な書き込みするなよ

140 :デフォルトの名無しさん:2013/03/22(金) 15:32:52.68
すんません。どうしてもわかりません。
下のコメント内のhogehogeをスペースに置き換える正規表現を教えて下さい。


/* hogehoge */ hogehoge 

141 :デフォルトの名無しさん:2013/03/22(金) 15:42:22.70
検索
(/\*)(?!\*/).(?=.*\*/)|\G(?!^)(?!\*/).
置換
$1半角スペース

これが動かない環境なら氏らね。テンプレ読まずに環境を書かないおまえが悪い。
言っとくけどこのスレには俺並みに正規表現に詳しい奴はいないからな。土下座しても他の奴には作れない。

142 :デフォルトの名無しさん:2013/03/22(金) 16:08:05.78
正規表現 Part11
http://toro.2ch.net/test/read.cgi/tech/1363769640/

どうすんのコレ・・

143 :デフォルトの名無しさん:2013/03/22(金) 18:47:05.61
>>119

>こんなもん正規表現でできるかよ

>こんなもん正規表現でできるかよ

>こんなもん正規表現でできるかよ

144 :デフォルトの名無しさん:2013/03/22(金) 19:00:57.10
C言語のコメントにマッチする正規表現は、比較的難しいとされる正規表現パズルの代表例みたいなもんだから、
普通に正規表現を使ってるレベルなら、できないと考えてもおかしくはない。

145 :デフォルトの名無しさん:2013/03/22(金) 19:25:08.30
テキストエディタのブロックコメント判定も正規表現でやってるよな

146 :デフォルトの名無しさん:2013/03/22(金) 19:34:00.72
>>143
>>119の例は>>141じゃ出来ないよ

147 :デフォルトの名無しさん:2013/03/22(金) 19:40:12.10
>>145
簡単だけど誤認する可能性のある奴のこともあれば、ややこしいけど正しく判定する奴のこともあるな。

148 :デフォルトの名無しさん:2013/03/22(金) 20:54:21.47
>>146
え?何が出来ないって?出来てる俺に説明して。

149 :デフォルトの名無しさん:2013/03/22(金) 21:05:43.24
ネストしないんなら
perl -i~ -CSDL -pe 'BEGIN{$/=undef}s{(?<=/\*)(.*?)(?=\*/)}{$1=~s/\S/ /gr}gse' PROG.c
でいいんじゃないの。

150 :デフォルトの名無しさん:2013/03/22(金) 21:08:57.93
空気読めない人ってさいあくー

151 :デフォルトの名無しさん:2013/03/22(金) 21:09:17.98
こうまでしてRegular Expressionを使わなくても。

152 :デフォルトの名無しさん:2013/03/22(金) 21:14:17.91
今さらだよね

153 :デフォルトの名無しさん:2013/03/22(金) 21:36:30.62
コメントアウトごときCの標準ライブラリだけで片付けてくれるわ!
ふはははははははははははははははははははははは!

154 :デフォルトの名無しさん:2013/03/23(土) 00:11:42.50
>>153
それ当たり前じゃん・・・

155 :デフォルトの名無しさん:2013/03/23(土) 19:12:06.34
>>95
strprtk、strstr
この辺り駆使するだけでいけそうだが

156 :デフォルトの名無しさん:2013/03/24(日) 07:33:17.31
>>155
きついって、そういう意味なの?

157 :デフォルトの名無しさん:2013/03/24(日) 18:40:08.20
何が?
1日潰せば正規表現ライブラリくらい作れるだろ。

158 :デフォルトの名無しさん:2013/03/24(日) 18:45:59.30
>>157
分かったからまずは代入から勉強したまえ。

159 :デフォルトの名無しさん:2013/03/24(日) 18:56:09.65
おまんこきつきつですぅ

160 :デフォルトの名無しさん:2013/03/25(月) 18:14:49.20
いやでもC言語で正規表現しようと思ったらどうすんの?

161 :デフォルトの名無しさん:2013/03/25(月) 19:58:12.80
regcompとregexec使うだけだろ

162 :デフォルトの名無しさん:2013/03/25(月) 20:27:50.49
C言語標準じゃないじゃん。
標準ライブラリだけでやらないと
フェアじゃないね。

163 :デフォルトの名無しさん:2013/03/25(月) 20:31:28.26
フェアもくそもあるかい

164 :デフォルトの名無しさん:2013/03/25(月) 20:43:45.53
できるかどうかではない。
何を使うかだ。

165 :デフォルトの名無しさん:2013/03/26(火) 05:34:07.26
アンフェア上等、でも要求仕様は満たそうぜw

166 :デフォルトの名無しさん:2013/03/26(火) 09:10:07.19
>>160の要求仕様は満たしてるけど?

167 :デフォルトの名無しさん:2013/03/27(水) 04:00:15.40
ああ、>95のつもりだった

168 :デフォルトの名無しさん:2013/03/27(水) 08:35:11.18
無慈悲な鉄槌
無慈悲な懲罰
無慈悲に撃滅
無慈悲に粉砕
無慈悲な報復
無慈悲な報復打撃
無慈悲な対応措置
無慈悲な軍事的措置
無慈悲な軍事的打撃
全般的な戦線で無慈悲に対応
容赦ない攻撃
容赦なく撃墜
容赦なく処罰
容赦ない軍事的措置
全般的前線での容赦ない粉砕
際限の無い報復打撃
より恐ろしい懲罰
全戦線での全面的軍事打撃行動
再侵略戦争の砲声
報復聖戦
未公開で最先端の世界的な打撃力量と安全保衛手段がある
この世の誰も体験したことのない最も厳しい懲罰
先軍の銃でことごとく一掃      
本当の戦争を見せる
絶対に無事ではなくなる
無慈悲な物理的な力を行使
無慈悲な軍事的対応打撃
無慈悲な軍事攻撃
無慈悲な電撃作戦
無慈悲な稲妻 ← new!!

169 :デフォルトの名無しさん:2013/03/27(水) 17:33:02.15
何らかの理由で標準ライブラリだけでXMLパースさなきゃならんときはどうするんだ

170 :デフォルトの名無しさん:2013/03/27(水) 18:00:06.74
lexとyacc使うだろ

171 :デフォルトの名無しさん:2013/03/28(木) 13:33:56.65
そもそもXMLパースにRegexなんて使うの?
ああいう階層構造ってRegex向いてないだろ。

172 :デフォルトの名無しさん:2013/03/29(金) 03:01:26.58
●Regular Expressionの使用環境
PHP5

●検索か置換か?
置換

●説明
Javaのコメント・文字列を抽出してタグで囲みたいです。
/**/, "", '' が入れ子になってる場合に外側だけ適応するのができません
失敗例 <ダブル>"これは<シングル>'ペン'</シングル>です"</ダブル>
成功例 <ダブル>"これは'ペン'です"</ダブル>

●対象データ()
/* "hello" 'world' */
String var="これは'ペン'です";
String apos='apopo "/* moge';

●希望する結果
<コメント>/* "hello" 'world' */</コメント>
String var=<ダブル>"これは'ペン'です"</ダブル>;
String apos=<シングル>'apopo "/* moge'</シングル>;

173 :デフォルトの名無しさん:2013/03/29(金) 03:50:07.53
/* 〜 */
" 〜 "
' 〜 '

の3つを普通に置換すればいいだけでしょ。入れ子ですらないし。

174 :172:2013/03/29(金) 03:53:58.61
いまいちなやり方ですが、目的は自己解決できました。
一端 | で一時的なタグに置換したのちに、もう一度置換してできました。

一時的なタグ
/(\/\*.*?\*\/)|(&quot;.*?&quot;)|('.*?')/
"<ブロック>"."$0"."</ブロック>"

もう一度置換(/**/ , '' に分ける)
/(<ブロック>\/\*.*?\*\/</ブロック>)/ 置換=> <コメント>...</コメント>
/(<ブロック>&apos.*?&apos/</ブロック>)/ 置換=> <シングルクォート>...</シングルクォート>

175 :172:2013/03/29(金) 03:57:25.70
>>173
普通にやると 「/* " */ "hello"」の場合「"」でおかしくなっちゃうのですよ

176 :デフォルトの名無しさん:2013/03/29(金) 04:02:49.48
>>175
おかしくならないぞ?最初に /* " */ が置換されるからな。
・・というか最初に↑が置換されるような書き方をすればいいんだがそれが出来てなかったんだろう。

177 :172:2013/03/29(金) 04:22:58.58
preg_filter(); でやってみた限りだと下記ののような失敗例になりましたが
なぜダメだったのかよくわかりませんね。

<コメント>/* <ダブル>" */</コメント> "</ダブル> "

178 :デフォルトの名無しさん:2013/03/29(金) 04:25:54.51
1個1個別々に、つまり3つの正規表現でやろうとするとそうなる。
1つの正規表現で3つの置換をすれば問題は起きない。
そうすれば置換済みの文字列は消費されて検索対象にならないからね。

179 :172:2013/03/29(金) 04:31:10.10
おそらく、/* ... */ が置換された後に「*/」ではなく、
「/*」の次の位置から次の検索・置換が開始されているからだと思いますが、
何か記号が足りないとか?

180 :172:2013/03/29(金) 04:44:26.74
1つの正規表現で3つの置換をするというとこんな感じですよね?
これで上手くいかなかったのですよ。こちらでケアミスしている可能性も有りますけど。

preg_filter($string, { "/**/", "@", "" }, {"<html>/**/</html>", "<xml>@</xml>", ""} );

181 :デフォルトの名無しさん:2013/03/29(金) 05:10:04.37
>>174
ダブルの中に一個だけダブルが出てきたり、
ダブルの中に何重にもダブルの囲みが出てきたり、
上記が複合したりと。大丈夫なのかな。

182 :172:2013/03/29(金) 05:31:41.09
簡単な例「/* " */ "hello"」だと>>174で上手くいってます。

183 :デフォルトの名無しさん:2013/03/29(金) 07:21:53.31
>>182
解釈の問題だけど、

abc/*def*/ghi*/jk

のような場合、どう考えるのか。

184 :デフォルトの名無しさん:2013/03/29(金) 11:25:09.95
たぶんそういうのはあんまり気にしないんじゃないかな。
"foo\"bar"とかもきっと気にしていないさそう。(そこまでやる必要はないとかで)

ガチでやるなら既存のシンタックスハイライト機能とかを参考にするといいんじゃないかな

185 :デフォルトの名無しさん:2013/03/29(金) 13:08:31.77
つか正規表現のスキルが無いならコーディングでガリガリやればいいだけ。
フラグで中か外かを管理して1文字ずつ判定していけばいい。

正規表現でやる場合は正規表現メモに書いてある(?{ code })を使えば出来る。

186 :デフォルトの名無しさん:2013/03/29(金) 13:25:10.70
>>183 >>172では入れ子と言っているから、
結果は
abc<コメント>/*def*/</コメント>ghi*/jk
でなくてはならないだろう。

187 :デフォルトの名無しさん:2013/03/29(金) 13:29:18.83
/*1/*2*/3*/

こういう意味の入れ子じゃねーだろw国語力付けろw

188 :デフォルトの名無しさん:2013/03/29(金) 13:35:36.42
テキスト
123456789

正規表現
1*4
2*5
3*6

↑3つ別々にマッチングさせると3つともマッチするのでマズい。

189 :デフォルトの名無しさん:2013/03/29(金) 13:39:47.20
そこで3つを1つにまとめる。

1*4|2*5|3*6

これなら干渉しあうことは無くなる。この場合は1*4のみマッチ。
置換時に出力するものは(?{ code })を使って変換する。

190 :デフォルトの名無しさん:2013/03/29(金) 14:54:43.54
>>187
だから、入れ子が成立していない時は、前側で閉じる。

191 :デフォルトの名無しさん:2013/03/29(金) 14:54:51.36
>>189
> 入れ子になってる場合に外側だけ適応
これ、優先度は固定じゃないと思うよ

例にはないけど、下記両方を満たしたいと思っていると予想するよ
String var="これは'ペン'です";
→String var=<ダブル>"これは'ペン'です"</ダブル>;

String var='これは"ペン"です';
→String var=<シングル>'これは"ペン"です'</シングル>;

あと、/**/を混ぜた場合も同様に。

192 :デフォルトの名無しさん:2013/03/29(金) 15:11:18.03
>>191
優先度って分岐の最初の1.*4が優先されるって意味?
そうなら優先度は3つとも同じだよ。順番を変えても結果は同じ。

193 :デフォルトの名無しさん:2013/03/29(金) 15:15:15.11
2*5|3*6|1*4

にしてもマッチするのは1*4って意味ね。つかピリオド忘れてた。*じゃなくて.*ね。

194 :172:2013/03/29(金) 17:03:28.86
"foo\"bar"とか分からないなー。

これだとダメだった。
/&quot;.*?[^(&yen;)]&quot;/

195 :デフォルトの名無しさん:2013/03/29(金) 17:14:13.58
文字参照NGなのかなこの板。テスト &amp;

196 :デフォルトの名無しさん:2013/03/29(金) 17:15:00.30
NGだった。文字参照もそのまま書き込めるってことだね。逆に便利かも。

197 :デフォルトの名無しさん:2013/03/29(金) 17:37:58.62
&#x1F4A9;

198 :172:2013/03/29(金) 17:52:02.00
これで出来た。あとは予約語(int, class, switch...)を追加して、
Javaコンパイラでエラーにならないソースを修飾する分には完成しそう。

対象:String foo = "\"";
正規表現:&quot;.*?[^\\\]&quot;

199 :デフォルトの名無しさん:2013/03/29(金) 19:58:35.06
正規表現の知識が限りなく0に近いようだから無理して正規表現を使わないほうがいいよ。
というか丸投げしに来るのはやめてくれ。

200 :デフォルトの名無しさん:2013/03/29(金) 20:04:30.22
初心者最高!

201 :デフォルトの名無しさん:2013/03/29(金) 20:09:45.91
>>192
そりゃそうでしたごめんなさい。

>>194
その辺、考慮するんだ。てっきりしないものとばかり。
/*
var = "コメントを閉じるときには */ と書きます";
*/

202 :172:2013/03/29(金) 20:54:59.66
>>201
その場合JavaとかPHPだとコンパイラがエラーを出す構文だから
1つ目の*/でブロックを閉じちゃって良いのですよ。

<コメント>/*
var = "コメントを閉じるときには */</コメント> と書きます";
*/

203 :デフォルトの名無しさん:2013/03/29(金) 21:14:25.58
っと本に書いてあったことをそのままコピペして自慢w

204 :デフォルトの名無しさん:2013/03/29(金) 21:36:20.41
嫉妬深い男だな。敗者は去ったほうがいい

205 :デフォルトの名無しさん:2013/03/29(金) 23:36:06.69
なんというか既に答えが書かれているのでもう教えることがない。
まだ出来ないというのなら勉強して出直してきなさいという感じ。

206 :172:2013/03/30(土) 00:13:07.87
全部自己解決したやん。結局何も教えてもらってないよ。

207 :デフォルトの名無しさん:2013/03/30(土) 00:29:32.79
ただ知識を自慢したいだけなんよ

208 :デフォルトの名無しさん:2013/03/30(土) 00:48:40.65
対象:String foo = "\\";

こうしただけで詰むけど解決おめでとう。

209 :デフォルトの名無しさん:2013/03/30(土) 01:50:33.15
IDが出ないと自演とか妨害とかやり放題だな。

210 :デフォルトの名無しさん:2013/03/30(土) 01:52:17.17
>>209
お前もやっていいんだぜ。

っていうか、IDがでるほうがやりやすいんだがw

俺みたいに回線とかプロバイダとか
レンタルサーバー(プロキシとして使える)とか
複数持っていると同時に複数のIDを使えるから
違う人だところっと騙される。

211 :デフォルトの名無しさん:2013/03/30(土) 12:06:38.76
>>210
そうそう、強制IDの板だと妄想で自演認定する奴がかなり減るから自演もスムーズに進む
単発IDだとまだ妄想厨が湧くけど複数IDだと全然湧かないんだよね

どんだけID信仰してるんだよw
逆に素人はいちいちID変えないから板内なら0時まで粘着し放題
自動巡回でそのID探すのに正規表現が使える
というわけで俺もID導入賛成だ

212 :デフォルトの名無しさん:2013/03/30(土) 12:08:52.52
正規表現いらないじゃん

213 :デフォルトの名無しさん:2013/03/30(土) 12:21:40.87
正規表現使ったほうが早いだろ
使わなくてもやろうと思えばできるって話を持ち出すなら正規表現そのものが不要(ry

214 :デフォルトの名無しさん:2013/03/30(土) 14:55:21.08
正規表現はいらない
このスレも不要

215 :デフォルトの名無しさん:2013/03/30(土) 16:12:27.79
じゃあ性器表現再開でいいね?シコシコッうっ

216 :デフォルトの名無しさん:2013/03/30(土) 23:21:18.25
・・・・・・

217 :デフォルトの名無しさん:2013/03/30(土) 23:27:19.08
正規表現でオナニー表現できる?

218 :デフォルトの名無しさん:2013/03/30(土) 23:31:08.62
(シコ)+ぴゅっ

219 :デフォルトの名無しさん:2013/03/30(土) 23:33:01.82
ニ3()

220 :デフォルトの名無しさん:2013/03/30(土) 23:35:01.48
下ネタしかねえのかよ

221 :デフォルトの名無しさん:2013/03/30(土) 23:37:26.78
A: AYAとかAYUっていい女だよな。
B: どこが?
A: (.Y.)

222 :デフォルトの名無しさん:2013/03/30(土) 23:38:59.05
>>220
チンカスは黙ってろ

223 :デフォルトの名無しさん:2013/03/30(土) 23:42:58.86
w{5}

224 :デフォルトの名無しさん:2013/03/30(土) 23:48:29.44
1919072

225 :デフォルトの名無しさん:2013/03/30(土) 23:54:23.54
しこるかねるか

226 :デフォルトの名無しさん:2013/03/31(日) 00:04:07.38
スレ自体不要と思うなら見なけりゃいいと思うんだが
マゾか?マゾなのか?
肛門拡張して欲しいのか?

227 :デフォルトの名無しさん:2013/03/31(日) 02:50:21.74
>>212>>211にある、
> 自動巡回でそのID探すのに正規表現が使える
のことを言ってるんじゃないの?

>>213がどう考えてそういったかは分からんが

228 :デフォルトの名無しさん:2013/04/02(火) 00:11:30.75
この程度の正規表現じゃあ、まだまだ俺を表現しきれねえぜっっっ!

229 :デフォルトの名無しさん:2013/04/04(木) 10:07:12.05
特定の文字が含まれる行のみ消す場合の正規表現教えて下さい


222 デフォルトの名無しさん [sage] 2013/03/30(土) 23:38:59.05
>>220
チンカスは黙ってろ
224 デフォルトの名無しさん [sage] 2013/03/30(土) 23:48:29.44
1919072
225 デフォルトの名無しさん [sage] 2013/03/30(土) 23:54:23.54
しこるかねるか


デフォルトの名無しさん が含まれる行のみ削除する

230 :デフォルトの名無しさん:2013/04/04(木) 10:19:53.87
俺のレスばっかり選ぶなよ

231 :デフォルトの名無しさん:2013/04/04(木) 10:20:49.25
>>229
正規表現サンプル(ある文字が含まれる行を削除する)
http://hodade.adam.ne.jp/seiki/page.php?r_arumoji_gyo_sakujo

232 :デフォルトの名無しさん:2013/04/04(木) 19:43:08.36
>>229
環境書いてないからその辺も含めてなのかな。
:v/デフォルトの名無しさん/d
でいいとおもうよ

233 :デフォルトの名無しさん:2013/04/05(金) 13:52:32.12
●Regular Expressionの使用環境
秀丸 8.2.1
●検索か置換か?
置換

●説明
二つ目のTab以降を削除したいです。

●対象データ
100 こくご えいご 100 20 固定
共通 シャカイ スウガク 100 10 ランダム

(データの間の空白は全部Tabです)

●希望する結果
100 こくご
共通 すうがく


下の正規表現で試してみました。
^(.*)?\t(.*)?\t[あ-ん ア-ン].*
\1\t\2
(.*)?\t(.*)?\tでTabまでの最短マッチ(のつもり)二つで、えいご、スウガクまでを指定しています。

3つめのカラムの1文字目がひらがなとカタカナなので、[あ-ん ア-ン]で指定しているのですが、
後ろの"ランダム"がマッチしてしまい、2行目が下のような結果になってしまいます。

100 こくご
共通 シャカイ スウガク 100 10

やり方教えて貰えればうれしいです。
よろしくお願いします。

234 :デフォルトの名無しさん:2013/04/05(金) 18:32:01.77
1行目でこくご、2行目でスウガクを抽出というのが意味不明だがそれはおいておいて
スウガクがすうがくにかわるわけがないがそれもおいておいて

最短マッチを指定するのは量指定子の直後な

以下は余談だが多分鬼車だろうから
平仮名: \p{Hiragana}
片仮名: \p{Katakana}
が使える

235 :デフォルトの名無しさん:2013/04/05(金) 18:33:44.55
>>233
・対象データのタブ文字が書き込み時に消えててスペースとタブが区別できない・・・混在してるなら、だけど
・「共通 シャカイ スウガク」のデータは「〜以降削除」では「共通 すうがく」どころか「共通 スウガク」にもならない
・最短マッチの量指定子は「*?」であって「(××*)?」では無いと思うし、マニュアル見ても「*?」になってるぽい

N個目のカラムとかにマッチさせたいなら、セパレータを含まない文字集合を使うべきだと思う
「^([^\t\r\n]*\t[^\t\r\n]*)\t.*$」→「\1」とかだと思うけど、秀丸持ってないし知らん(なら答えるな?)

>>234
HmJre.dllというJRE32.DLLのカスタム版らしい

236 :デフォルトの名無しさん:2013/04/05(金) 18:48:40.18
これは簡単では。確実ぽいのはこれ。結果と違うが、「共通 すうがく」はどこだ?

^([^\t]*\t[^\t]*)\t.*?$

\1

237 :デフォルトの名無しさん:2013/04/05(金) 19:14:49.74
>>234-236
みなさんレスありがとうございます。
私の記載間違いで皆さんを混乱させてしまい大変申し訳ありませんでした!正しくは下記でした。。
●希望する結果
100 こくご
共通 シャカイ

>>234
鬼車のエンジンだとそういったことが出来るのですね、勉強になりました。
>>235,236
お二方のやり方で無事出来ました。

無事出来てうれしいのですが、回答例の正規表現の動きがよく分からないので、( ^([^\tが何を表してるかとかその時点でちんぷんかんぷんで。。
正規表現の本さっき注文してみました。これで勉強して皆さん回答例と照らし合わせて動きを勉強してみようと思います。

最短マッチについても間違っていたようで勉強になりました。
どうもありがとうございます。

238 :デフォルトの名無しさん:2013/04/05(金) 19:16:46.47
どうでも良いわ
バイバ

239 :デフォルトの名無しさん:2013/04/05(金) 19:51:43.63
秀丸でもこれ使えば鬼雲(鬼車のフォーク)の正規表現使えるよ
ttp://homepage3.nifty.com/_htom/macro/macro_dll.html#label-26

240 :デフォルトの名無しさん:2013/04/06(土) 12:44:14.74
年末に買ったキーボード「BSKBC02BKF」
いくつかのキーが認識されたりされなかったりするようになった。
耐久性500万回と言っても認識されないんじゃ無意味。

半年保証期間内だったけどめんどくさいので新調。
今度はロジクールの新製品(*日本語版)「K120」
さらに上をいく耐久性1000万回、3年保証。

さあどうでしょうか・・・

241 :デフォルトの名無しさん:2013/04/06(土) 16:16:36.85
リアフォ最強伝説

242 :デフォルトの名無しさん:2013/04/07(日) 11:54:21.65
スレチ?

243 :デフォルトの名無しさん:2013/04/07(日) 13:16:48.97
因果応報における多義性と有効性、相互補完性および限界設定についての一提言じゃな

244 :デフォルトの名無しさん:2013/04/07(日) 13:44:47.08
敵の攻撃部隊の中でも遊撃手が厄介なので先に抽出して優先的に叩いておきたいのですが、
遊撃手のみを抽出する正規表現はどう書けばいいのでしょうか?

245 :デフォルトの名無しさん:2013/04/07(日) 22:44:24.38
=~ s/^(ジェミニ)$|^.*$/$1/g;

246 :デフォルトの名無しさん:2013/04/07(日) 23:26:57.47
中学の頃 大村君が苗字音読みでダイソンって呼ばれてて
それが元で梅村君はバイソン 若村君はジャクソン
下村君はアンダーソンとみんなかっこいいあだ名がついたのに
津村君だけあだ名がバスロマンだったのはイジメに近いし
今思うとバスロマンはツムラじゃなくてアース製薬

247 :デフォルトの名無しさん:2013/04/07(日) 23:28:09.34
バスクリンは津村だっけ

248 :デフォルトの名無しさん:2013/04/07(日) 23:31:52.41
>>246
スレチでコピペ乙だがとりあえずワロタw

249 :デフォルトの名無しさん:2013/04/08(月) 11:17:45.47
めがさわ君がいて、ぎがさわって奴はいないよな、と言った相手が寺沢君だった、
という奴もあるなw

250 :デフォルトの名無しさん:2013/04/08(月) 20:35:38.64
戦後レジームの被加虐性における間断なき重複性の効用じゃな?

251 :デフォルトの名無しさん:2013/04/10(水) 15:00:59.38
>>245
街の遊撃手かよ。ロートル乙。

252 :デフォルトの名無しさん:2013/04/10(水) 15:55:41.08
市街戦における遊撃手しか抽出できないけどいいの?
って突っ込むかどうか悩んだ上にそっとしておいたというのに

253 :デフォルトの名無しさん:2013/04/10(水) 15:59:55.84
^.*\d{2}[a-zA-Z]?\.gif
という表現がマッチする文字列があるとします。
例えば、img01A.gifです。
この文字列から、頭のゼロを外した数字を抜き出したいです。
上の例では、「1」を抜き出したいです。
「01」を抜き出すのでよければ、
^.*(\d{2})[a-zA-Z]?\.gif
として、「$1」で受ければいいですが、
頭のゼロをスマートに取り除く方法を模索しています。
よろしくお願いします。有難うございます。

254 :デフォルトの名無しさん:2013/04/10(水) 16:06:19.36
.*?0?(\d{1,2})[a-zA-Z]?\.gif
かなぁテストはしてないけど

255 :デフォルトの名無しさん:2013/04/10(水) 16:14:36.89
>>254
0?(\d{1,2})
の部分は、「数字二桁でなければならない」でお願いします・・・。
img001A.gif
img999.gif
img123A.gif
はNGとしたいです。
000001A.gif
99918.gif
もNGです。
00A.gif
もNGです。
01A.gif
はOKです。
01.gif
はOKです。

256 :デフォルトの名無しさん:2013/04/10(水) 16:52:17.14
自分で考える気があればできると思うんだけどね
処理系も提示しないから使えないとか後出ししても知らねえわ

(\D*?)(?:0)?((?<=0)\d|[1-9]\d)[a-zA-Z]?\.gif

257 :デフォルトの名無しさん:2013/04/10(水) 17:02:15.85
>>256
処理系とはなんでしょうか・・・.Net4.0を使っておりますが、コンパイルのことですか?

(\D*?)(?:0)?((?<=0)\d|[1-9]\d)[a-zA-Z]?\.gif
なるほど、「又は」で区切って前方チェックするということですか!
ありがとうございます!!

258 :デフォルトの名無しさん:2013/04/10(水) 18:36:36.21
1も読めないような知障はやはり放置しておいたほうがよかったね
正直すまんかった

259 :デフォルトの名無しさん:2013/04/10(水) 18:47:54.17
すみません、反省します。また教えてくだしあ。

260 :デフォルトの名無しさん:2013/04/10(水) 19:03:29.10
まぁ数字二桁でとって、0とればいいだけなんだけどね

261 :デフォルトの名無しさん:2013/04/10(水) 19:28:28.71
>>260ですね・・・いろいろ試しましたが諦めて TrimStart使うことにしました。ヘタレですみません。
Regex regex = new System.Text.RegularExpressions.Regex(
@"(?<number>\d{1,}[a-zA-Z]?)\.gif$",
RegexOptions.IgnoreCase);
do{ Console.WriteLine("str=?");str = Console.ReadLine();
Console.WriteLine(regex.Match(str).Groups["number"].Value.TrimStart('0'));
} while (str != "999");

262 :デフォルトの名無しさん:2013/04/10(水) 23:32:46.65
^(.*\D)?(?|0([0-9])|([0-9]{2}))[A-Za-z]?\.gif$

263 :デフォルトの名無しさん:2013/04/10(水) 23:37:54.87
生きる意味など無いのである
地球が46億年前にでき、30億年前に原始生命が誕生した
多細胞生物→動物→哺乳類→霊長類→ヒト

ナメクジに生きる意味など無いであろう?
人間という種にも別に生きる意味など無いのだよ
気が付いたら「生きる意味」とかアホな世迷い言を考える種になっていた

「意味」とはそもそも、思考する際に考えのよりどころにするもの

だが、ヒトが生きていくために、合理的で生きていきやすい
社会・人生にするために、「意味」を作ることは大切なんだ
「意味」を理解したうえで…

264 :デフォルトの名無しさん:2013/04/10(水) 23:40:48.08


265 :デフォルトの名無しさん:2013/04/10(水) 23:46:38.72
>>261
二桁に限定することもあきらめたのか。
まぁ、いいんでない。
その後の処理で数値として処理したそうな雰囲気がうっすらあるし。
でも、そうする予定かつその言語なら、その場面でTrimStartを使うのはウツケモノだなぁ。

やっぱ正規表現で何でもやろうとするなって主張したくなるわ。

266 :デフォルトの名無しさん:2013/04/11(木) 00:56:40.97
長時間頭を悩ませた正規表現がスクリプトだと数行で簡単に書けたりすると微妙な気分になるね。
正規表現だけでやる場合も数行に分けるとぐっと簡単になる。

267 :デフォルトの名無しさん:2013/04/11(木) 08:37:54.05
何でもSQLでやりたがる人も居るよなぁ。

268 :デフォルトの名無しさん:2013/04/11(木) 08:43:40.29
日の出から日暮れまで殴り合ったらええねん

269 :デフォルトの名無しさん:2013/04/11(木) 10:04:15.11
>>265
List<MyClass>で、IComperableのSort規則を作るとき、
やっぱりストリングのnumberをintにパースして比較せざるを得なかったので。
文字Sortだと、
1.gif
11.gif
2.gif
っていうよくあるWindowsフォルダの自動並べ替え規則になってしまうので・・・。
すみません、スレチな話題で。

270 :デフォルトの名無しさん:2013/04/11(木) 10:06:56.77
\d{1,}

これは、

\d*[1-9]\d*にしておきました。
0
00
は不正なファイル名としてマホカンタしたかったので。

271 :デフォルトの名無しさん:2013/04/11(木) 15:30:20.45
>>269
え、二桁であることが前提と、理由がそれなら0をとらずにソートすればよくね

272 :デフォルトの名無しさん:2013/04/14(日) 20:29:41.91
少し静かにしてくれないかい?

273 :デフォルトの名無しさん:2013/04/14(日) 20:54:59.75
断る

274 :デフォルトの名無しさん:2013/04/15(月) 16:50:37.91
176
まじで?

275 :鬼車作者の目に留まることを期待して:2013/04/15(月) 19:08:29.91
 正規表現「鬼車」作者氏の個人サイトに「下山国鉄総裁自殺説」が掲載されているが、
氏に再検証して貰うための情報を示そうにも、サイトは書込み禁止になっているようなの
で、ここをお借りします。いずれ、「鬼車」氏の目に留まるかも知れない事を期待します。
・国鉄下山総裁は他殺であり、自殺は断じてあり得ない。キーワードは、「CIA special
technical team in Japan」

・ダニエル・エルズバーグが New York Times に持ち込んだ通称「ペンタゴン・ペーパー
ズ」自体は米国政府により2011年6月に機密指定が解除され、現在「米国立公文書館」の
サイトでも閲覧できるが、(http://www.archives.gov/research/pentagon-papers/)こ
の中には、肝心の付属資料は含まれていない。グラベル米国上院議員が独自に入手した資
料を含めた四巻本(全7000頁)がすでに40年も前に米国で公刊されているが、この中に
「下山事件」を含め、戦後日本で起きた奇怪な事件を解くカギがあるように見える。

 殺害の実行犯人の個人名までは、まだ特定されていないが、
・組織名:日本駐在CIA特殊工作班
・統括責任者氏名: エドワード・ランズデール(米国空軍大佐)
までは、すでに暴露されている。この「CIA特殊工作班」自身がまとめた1954〜1955年
にベトナムで実行した謀略活動の記録が、上記グラベル上院議員がまとめた著書に収録
されていて、現在ネットでも読めます。
https://www.mtholyoke.edu/acad/intrel/pentagon/doc95.htm
の中の d. October 1954 の項目にあります。ベトナムで鉄道破壊、ダム・港湾破壊、
流言蜚語などの諜報活動を行うために、1954年7月に日本に駐屯していた「CIA special
technical team in Japan」をベトナムに呼んだという記載。
・なお、下山総裁を殺害直前に三越百貨店に誘き出した韓国人情報屋を米軍小倉刑務所で
取り調べた布施健東京地検検事の検事調書が、直後に強奪され失われましたが、それが現
在同じ「米国立公文書館」に保存されているようですが、ネットには公開されていないの
か、見つけ出せないでいます。知っている方がいたら、教えてください。

276 :デフォルトの名無しさん:2013/04/15(月) 19:49:22.37
米国立公文書館くらい行けよ

277 :デフォルトの名無しさん:2013/04/15(月) 19:50:53.78
こういうのが一番うざいな。くだらんことに必死になってる暇があったらボランティアでもしてこいボケ。

278 :デフォルトの名無しさん:2013/04/15(月) 20:00:21.91
何行以上かのレスはあぼーんとかない?

279 :デフォルトの名無しさん:2013/04/15(月) 20:12:08.60
改行文字を正規表現できるなら出来そうだけど思い浮かばんねw

280 :デフォルトの名無しさん:2013/04/15(月) 21:05:56.10
改行文字は正規表現できるけど、アプリケーションが改行含めて処理するかどうかが問題だわな
そもそも正規表現NGワード搭載の専用ブラウザがあるのかすら知らんけど

281 :デフォルトの名無しさん:2013/04/15(月) 22:35:34.62
おまえらの一番好きな正規表現エンジンは何ですか

282 :デフォルトの名無しさん:2013/04/15(月) 23:49:35.96
ここで面白いレスが一発↓

283 :デフォルトの名無しさん:2013/04/15(月) 23:57:22.97
生きる意味など無いのである
地球が46億年前にでき、30億年前に原始生命が誕生した
多細胞生物→動物→哺乳類→霊長類→ヒト

ナメクジに生きる意味など無いであろう?
人間という種にも別に生きる意味など無いのだよ
気が付いたら「生きる意味」とかアホな世迷い言を考える種になっていた

「意味」とはそもそも、思考する際に考えのよりどころにするもの

だが、ヒトが生きていくために、合理的で生きていきやすい
社会・人生にするために、「意味」を作ることは大切なんだ
「意味」を理解したうえで…

284 :デフォルトの名無しさん:2013/04/16(火) 01:13:10.86
>>280
Jane系はNGexがあるよ
改行は<br>とすれば良い

285 :デフォルトの名無しさん:2013/04/16(火) 11:19:06.22
>280
Jane系使ってるなら↓で訊いた方がよさそう

NGEx.txtを晒すスレ4
http://mattari.plusvip.jp/test/read.cgi/jane2ch/1325934427/

他のブラウザは知らね

286 :デフォルトの名無しさん:2013/04/16(火) 17:55:09.04
V2C⊃Jane

287 : ◆LOVE/Aero2 :2013/04/17(水) 22:55:01.35
経済成長をドラクエで例えると、団塊のじじい共の時代は勇者レベルが
10〜15位のとき。はがねのつるぎとか買う時代。レベル上げ(経済成長)が
楽しくて仕方無い時期。これからのストーリー展開も未知であり楽しみ。

俺らは、終わったドラクエのレベル上げてるみたいなもん。
ものごころついた頃には天空の剣とか何でもそろってる。
お金稼いでも買うものが無い。全フィールド全てやりつくされてる。
はっきり言ってつまらねえ。やることと言ったら、取り忘れた
黄金の爪を取りに行く(過疎地に道路を通す)とかそんなのばっか。
退屈。今の連中に、じじいばばあと同じモチベーションを持てというのは酷だ。

288 :デフォルトの名無しさん:2013/05/23(木) 17:53:57.80
Googleの検索結果のURLから検索ワードだけを抜きたいんだけどどうしたらいいですか?
検索ワードの後にまだ何か付いていたり、何も付いてなかったりするので困っています。

(前略)&q=検索ワード&(以下略)
(前略)&q=検索ワード

289 :デフォルトの名無しさん:2013/05/23(木) 18:07:01.38
環境は?

290 :デフォルトの名無しさん:2013/05/23(木) 18:20:03.39
近くに幹線道路がありますがそれ以外は森と田端が広がってます。

291 :デフォルトの名無しさん:2013/05/23(木) 18:54:56.95
田端は拡がらないと思う。

292 :デフォルトの名無しさん:2013/05/23(木) 18:57:08.79
UTF-8のエンコードされたままのワードでいいのかな?

293 :デフォルトの名無しさん:2013/05/23(木) 19:11:46.74
クエリー文字列の仕様は決まってんだから抽出するくらい簡単だろ
このスレで話す内容じゃない

スレ立てるまでもない質問はここで 126匹目
http://toro.2ch.net/test/read.cgi/tech/1363522503/

294 :デフォルトの名無しさん:2013/05/23(木) 20:40:02.85
>>289,>>292,>>293
環境はPerlです。

エンコードってどっちでしたっけ?
%16進?とかってやつです。
人間がそのまま読めないやつです。

クエリではなくApacheのログにあるリファラからの抽出です。

295 :デフォルトの名無しさん:2013/05/23(木) 21:18:45.51
だめだこりゃ

296 :デフォルトの名無しさん:2013/05/24(金) 04:38:15.12
その辺に転がってるアクセス解析のCGIでも拾って読めばすみそうだが

297 :デフォルトの名無しさん:2013/05/24(金) 05:37:48.18
正規表現を覚えるための質問じゃなくて丸投げして作ってもらうための質問だな。
カネ払って業者に作ってもらったら?

298 :デフォルトの名無しさん:2013/05/24(金) 15:09:19.80
$str=~/&q=.*/
で調べて、見つからなかったら
$str=~/&q=.*&/
で調べれば済むだろ

299 :デフォルトの名無しさん:2013/05/24(金) 16:35:42.49
perlなら正規表現を使わなくても文字列操作で出来るでしょ?
それも出来ないならまずスキルを磨くべき。
自分に甘すぎだろjk

300 :デフォルトの名無しさん:2013/05/24(金) 16:55:21.18
このスレ案外まともな奴が多いな
俺は正規表現で質問がきたもんだから正規表現で考えてしまった

301 :デフォルトの名無しさん:2013/05/24(金) 23:52:39.10
正規表現は目的じゃなくて手段だから
例えば「\」を「"」に置換したい場合に、普通の文字列扱いで置換できるソフトならその方が断然楽だし

302 :デフォルトの名無しさん:2013/05/25(土) 16:53:07.08
格闘ゲームのコマンド入力は正規表現で処理するのがいいってどこかで聞いたんだけど、具体的にどうすんだ?

303 :デフォルトの名無しさん:2013/05/25(土) 17:04:43.15
正規表現は処理が遅い。普通に判定したほうがいいよ。

304 :デフォルトの名無しさん:2013/05/25(土) 17:45:06.46
substrの方が早いとは言うけどね
見通しは悪くなりがちよね

305 :デフォルトの名無しさん:2013/05/25(土) 17:55:42.88
オートマトンを処理するエンジン次第なのに「遅い」とか決めつける根拠が不明。
「普通に」って、具体的にどういう手法を使うのが「普通」なわけ?
一般的に「これが普通」って手法は無いと思うけど。

306 :デフォルトの名無しさん:2013/05/25(土) 18:17:23.57
レギュラーくんは黙ってなよ、馬鹿なんだから。

307 :デフォルトの名無しさん:2013/05/25(土) 18:59:44.39
>>306 >>306

308 :デフォルトの名無しさん:2013/05/25(土) 19:10:59.75
おまえらのアナルはそんなもんなのか?

309 :デフォルトの名無しさん:2013/05/25(土) 20:04:34.28
>>302
文字の各ビットに各キーを割り当てて1フレームに一文字生成して、
[\u0001]+[\u0003\u0000]{0,10}[\u0002]+、とかか?
判定処理のバグ探しが減っても、コマンド定義するのがダルくなるな

310 :デフォルトの名無しさん:2013/05/27(月) 16:42:31.54
●Regular Expressionの使用環境
PH5

●検索か置換か?
置換

●説明
行の先頭に+がついてるものを<li></li>で囲んで
+が連続で複数行についている場合はそれをまとめて<ul></ul>で囲みたい

●対象データ
+あいうえお
+かきくけこ
+さしすせそ

+たちつてと

●希望する結果
<ul>
<li>あいうえお</li>
<li>かきくけこ</li>
<li>さしすせそ</li>
</ul>

<ul>
<li>たちつてと</li>
</ul>

311 :310:2013/05/27(月) 16:50:15.50
↑よろしくお願いします。

PH5じゃなくて、PHP5でした。
わかりやすくなるのであれば、preg_replaceを数回使ってもらっても大丈夫です。

312 :デフォルトの名無しさん:2013/05/27(月) 16:57:05.00
>>311
いい問題。課題としては。

313 :デフォルトの名無しさん:2013/05/27(月) 17:00:15.15
あのさぁ、プログラミングの知識があればこんなん出来るだろ?正規表現なんて使わなくてもさ。
ほとんどスレ違いだぞ。

314 :デフォルトの名無しさん:2013/05/27(月) 18:30:26.37
cmsのソース眺めれば〜?

315 :310:2013/05/28(火) 02:27:41.80
pukiwikiのソースを参考にしてなんとか解決できました
結局、正規表現は使わずじまいでした...

316 :デフォルトの名無しさん:2013/05/28(火) 09:03:25.48
せめて最低限のスキルを身に付けろよ、分からないとこ全部他人にやらせてたら上達しないし
こっちは無駄手間だし誰も得しないだろ。本当に分からないときだけ分からないことだけ質問しろ。

317 :デフォルトの名無しさん:2013/05/28(火) 13:52:32.86
何でもかんでも正規表現でやろうとするとPerlerみたいな基地害になるぞ。

318 :デフォルトの名無しさん:2013/05/28(火) 15:22:26.13
この手のゆとりに何言っても無駄だよ

319 :デフォルトの名無しさん:2013/05/28(火) 15:45:11.96
まあこのスレだけで質問が済んだのは良かったじゃん
本当にゆとりで、マルチポストでPHPやperlやC++やシェル等いっぱい同じ質問が投げられてたらと思うと

320 :デフォルトの名無しさん:2013/05/28(火) 18:58:13.89
前にいたなぁ、そんなのが。

321 :デフォルトの名無しさん:2013/05/28(火) 19:58:51.17
信じようが信じまいが私はPerler

322 :デフォルトの名無しさん:2013/05/28(火) 22:53:08.88
パッパラPerler

323 :デフォルトの名無しさん:2013/05/29(水) 14:37:48.87
ここの人にとって正規表現ソフトの主流って何?

324 :デフォルトの名無しさん:2013/05/29(水) 15:06:54.47
なんだかんだでPerlは強いな

325 :デフォルトの名無しさん:2013/05/29(水) 15:10:00.51
PCREと鬼車の2大巨頭だろ

326 :デフォルトの名無しさん:2013/05/30(木) 10:31:22.18
遊び目当ての正規表現ならProxomitronが至高。
ただ致命的なバグのせいで実用にぎりぎり耐えなかった。

327 :デフォルトの名無しさん:2013/05/30(木) 10:36:24.93
>>323
普通埋め込みで使うからな…SQLをどの言語上で使うか聞かれてる感じ。
単体で使うのはgrep、sedが多いがそれは単に他の用途に使ってないというだけだろう。

328 :デフォルトの名無しさん:2013/05/30(木) 12:58:20.50
>>327
っていうかその文脈ではPosix/Perl系正規表現言語を使ってますって言えばいいんじゃないのか?
それ以外の正規表現で実用されてるのがどれだけ有るかは全く知らんけど。
BNFは正規表現になるんだっけか?

329 :デフォルトの名無しさん:2013/05/30(木) 13:03:21.56
意味のない質問してくる構ってチャン相手に何やってんの。

330 :デフォルトの名無しさん:2013/05/31(金) 17:53:28.64
>>328
BNFでは表現できるが、正規言語では表現できない、というものはある。
簡単で有名なものでは、カッコの対応ができているか否かの判定。

331 :デフォルトの名無しさん:2013/05/31(金) 18:52:24.79
>>330
正規表現ってだけでは限定できないよ。
鬼車系、Perl、PCREは再帰表現ができるから入れ子の判定が可能。
ただ、マッチの判定だけだから、キャプチャが言語の力を借りな
いと処理できない。

332 :デフォルトの名無しさん:2013/06/01(土) 02:39:20.22
>>326
どんなバグがある?

333 :デフォルトの名無しさん:2013/06/01(土) 18:10:30.59
>>332
このソフトはブラウザとWEBページの間に入ってHTMLソース等の置換をするソフトなんだけどね、
たまにアクセス要求が勝手に却下されるバグがあるの。

でも正規表現のルールは独自のもので面白いからもし興味があれば・・

Proxomitron フィルター作成スレッド Part14
http://anago.2ch.net/test/read.cgi/software/1326800481/

334 :デフォルトの名無しさん:2013/06/01(土) 18:49:52.76
>>333
>たまにアクセス要求が勝手に却下されるバグがあるの。
まじすか
使っているけど気づかなかった

335 :デフォルトの名無しさん:2013/06/01(土) 20:32:36.23
>>334
画像が多いページを読み込むと、読み込みに失敗して表示されない画像があったり、
リロードしてもいつまでも真っ白のまま読み込まれなかったりするよ。

自分はWEBサイトを丸ごと保存するときにリンクを絶対リンクから相対リンクに置換するために
使ってたんだけどバグのせいで保存されないページが出てしまって使うのを断念しました。

336 :デフォルトの名無しさん:2013/06/01(土) 20:58:37.86
昔、語尾をにゃんに変えるproxyとか流行ったな。

337 :デフォルトの名無しさん:2013/06/01(土) 21:13:54.59
なつかしいな。
関西弁にするやつとかもあったな。

338 :デフォルトの名無しさん:2013/06/02(日) 06:19:11.51
>>326
割と普通のPerl系正規表現だが、Privoxyも正規表現使えるぞ。
ヘッダやURLに対しても正規表現で置換ができたりして面白い。
パッチ版もGUIが弱いからProxomitronも併用してるが、正規表現でゴリゴリやるならこっちのほうが強いかも

339 :デフォルトの名無しさん:2013/06/02(日) 16:06:49.96
>>338
当時はPrivoxyは落ちるって噂があって自分は触らなかった。今はどうなのか知らないけどね。
WEBサイトの保存の件はローカルにダウンロードしてから置換するようにしたからプロキシはもう要らないかな。

340 :デフォルトの名無しさん:2013/06/04(火) 18:35:38.00
ここは超初心者がどうすればいいか聞いたりすると
教えて君は死ね、と返ってくるスレでしょうか?
読み上げソフトの正規表現についてググッたり、勉強してるのですが
中々うまくいかないもので

341 :デフォルトの名無しさん:2013/06/04(火) 18:51:03.87
自分で頑張ろうとしてる人なら誰でもウエルカムだよ。スレに丸投げしにくるクレクレはNGだけどね。

342 :デフォルトの名無しさん:2013/06/04(火) 19:05:25.09
なるべく教えて君にならないような質問を心掛けます

343 :デフォルトの名無しさん:2013/06/05(水) 12:56:01.07
「それ正規表現でやらないほうが良くね?」って回答は結構多いよな。
いや俺もよくやるけどw

344 :デフォルトの名無しさん:2013/06/05(水) 14:26:11.72
最近回答してるのって俺とおまえだけじゃね。

345 :デフォルトの名無しさん:2013/06/05(水) 15:15:10.68
>>344
おいやめろ

346 :デフォルトの名無しさん:2013/06/05(水) 16:47:48.09
(*/∀\*)イヤン

347 :デフォルトの名無しさん:2013/06/05(水) 18:55:43.54
アッー

348 :デフォルトの名無しさん:2013/06/05(水) 19:45:10.36
俺とおまえと

349 :デフォルトの名無しさん:2013/06/05(水) 20:48:50.33
俺がお前でお前が俺で

350 :デフォルトの名無しさん:2013/06/06(木) 19:55:55.87
>>310
もう見てないと思うけど
正規表現でやるとこんな感じ

1回目
^\+(.*)
<li>\1</li>

2回目
((^<li>.*</li>\n)+)
<ul>\n\1</ul>\n

351 :デフォルトの名無しさん:2013/06/06(木) 23:40:00.74
それ>>310が望んでるのと違う結果になるんじゃ。

352 :デフォルトの名無しさん:2013/06/06(木) 23:40:51.95
>+が連続で複数行についている場合はそれをまとめて<ul></ul>で囲みたい

だから単一行の場合は・・?

353 :デフォルトの名無しさん:2013/06/06(木) 23:49:09.76
>>352
1、「行の先頭に+がついてるものを<li></li>で囲んで」
2、「+が連続で複数行についている場合はそれをまとめて」
3、「<ul></ul>で囲みたい」

単一行の部分は1のあと直接3に進むんでしょ
希望する結果からしてもそうだし、HTMLやWiki系記法的にもそうだろうし

354 :デフォルトの名無しさん:2013/06/07(金) 01:12:03.86
>>353
あー、悪い。間違ってたのは俺のほうだった。日本語の勉強してくる。

355 :デフォルトの名無しさん:2013/06/07(金) 01:37:23.88
ただ叩きたいだけのメンタルだとこうして恥掻くんだよね(笑)

356 :デフォルトの名無しさん:2013/06/07(金) 01:42:09.52
ごめんねごめんねー(笑)

357 :デフォルトの名無しさん:2013/06/07(金) 02:43:51.00
いや、叩くつもりなんか毛頭無いよ。なんでそう受け取るのかな。
精神病だと攻撃されたって思い込みやすいらしいから気をつけて。

358 :デフォルトの名無しさん:2013/06/07(金) 04:19:04.83
どして質問者だと思ったんだろうね(笑)

359 :デフォルトの名無しさん:2013/06/07(金) 04:58:54.52
「質問者だと思ってレスしている」と思う心理もまた不安定な人が陥りがちな心理であり云々
まぁいい加減にしとけ>>355-358

360 :デフォルトの名無しさん:2013/06/07(金) 16:09:15.95
いやいや
攻撃されたなどというのはその質問者だと仮定してないと出てこない表現だから
357 :デフォルトの名無しさん [↓] :2013/06/07(金) 02:43:51.00
いや、叩くつもりなんか毛頭無いよ。なんでそう受け取るのかな。
精神病だと攻撃されたって思い込みやすいらしいから気をつけて。

361 :デフォルトの名無しさん:2013/06/07(金) 16:14:18.92
↑何を言ってるのかまったく分からん

362 :デフォルトの名無しさん:2013/06/07(金) 16:43:13.35
気持ち悪い

363 :デフォルトの名無しさん:2013/06/07(金) 18:04:39.22
最近この板もwebprog並にひどいな

364 :デフォルトの名無しさん:2013/06/08(土) 03:45:11.97
>>360
質問者に同化して被害を訴える心理とかもあるから一概には言えないよ
メンタル不安定の嫌疑は俺含め何重にでも掛けれてキリがないんで
まぁいい加減にしとけ>>355-362

365 :デフォルトの名無しさん:2013/06/08(土) 03:51:56.63
なんで質問者という単語が出てくるのか理解不能なのだが、
どう考えると>>358の書き込みになるの?答えたくないなら別にいいけどさ・・

366 :デフォルトの名無しさん:2013/06/08(土) 04:55:34.05
そもそも>>358=>>355じゃないの?
もともと横から下らんレスする人なんだからほっときなよ

367 :デフォルトの名無しさん:2013/06/08(土) 05:28:49.82
なるほど。

368 :デフォルトの名無しさん:2013/06/08(土) 09:42:39.55
366だけが正解
あとは産廃以下

369 :デフォルトの名無しさん:2013/06/08(土) 10:36:12.81
お前もな

370 :デフォルトの名無しさん:2013/06/12(水) 16:49:09.98
●Regular Expressionの使用環境
ActivePerl5.8

●検索か置換か?
検索

●説明
連続する数を検索したい(1965から2011までの数)

●対象データ(配列内に格納)
1952
1965
1986
2012
1972
2011
 ・
 ・
●希望する結果(配列の各要素を正規表現で検索して、マッチする要素だけ抽出)
1965
1986
1972
2011
 ・
 ・

配列の各要素が1955から2011までの数の場合にマッチする正規表現を教えてください

371 :デフォルトの名無しさん:2013/06/12(水) 17:02:53.44
どうして正規表現を使おうと思ったのか5行程度で

372 :デフォルトの名無しさん:2013/06/12(水) 17:09:20.12
丸投げクンの鑑みたいな奴だな。消えろ。

373 :デフォルトの名無しさん:2013/06/12(水) 17:34:23.25
>>371
システムの検索関数が正規表現を渡して検索するようになってるので・・
こっちで配列を受け取って比較演算子で判定できれば話は早いんですけどね・・

374 :デフォルトの名無しさん:2013/06/12(水) 18:21:20.09
数字比較系は、正直やめとけレベルだからなあ……
いや俺もやったことあるけどさ、4桁だったけど相当ひどかった記憶。

375 :デフォルトの名無しさん:2013/06/12(水) 18:31:15.60
4桁じゃなくて3桁だったけど、まあいいやw

376 :デフォルトの名無しさん:2013/06/12(水) 19:04:20.63
暇つぶし
(?:19(?:6[5-9]|[7-9][0-9])|20(?:0[0-9]|1[01]))

377 :デフォルトの名無しさん:2013/06/12(水) 20:01:28.96
>>376
どうもありがとうございます
その正規表現で出来ました

>>374
ですよね、連続数を正規表現で検索なんて普通はないですよね

378 :デフォルトの名無しさん:2013/06/13(木) 10:11:34.60
貰ったWordファイルから人名を検索する為に正規表現を使ってみました
例:遠山、高山、山下、山崎、山川、山中、山田、山本、中山、平山、など山と付く名前から
山(田|中|本) とすれば、山田、山中、山本だけをピックアップすることが出来るのは解ったのですが
遠山、高山、山崎、だけを探したい場合 (遠|高)山(崎) としたのですがダメでした
さすがにこんな単純じゃないですよね?何が足りないんでしょう?

あ、足りないのはお前の頭だ、というのはご勘弁ください

379 :デフォルトの名無しさん:2013/06/13(木) 12:02:26.37
それで引っかかるのは 遠山崎 と 高山崎。
ぶっちゃけ、素直に○山さんと 山○さんで分けて検索したほうが楽だと思う

380 :デフォルトの名無しさん:2013/06/13(木) 14:01:38.45
>>378
足りないのは「ネスト」

381 :デフォルトの名無しさん:2013/06/14(金) 11:03:51.78
遠|高(山)|崎でいけました、間違ってるかもしれませんが
ネスト、勉強になります
が、()の使い所が沢山あるんですね、訳がわかりません

382 :デフォルトの名無しさん:2013/06/14(金) 12:34:51.19
>>379が言ってる「分けて」って意味は
((遠|高)山|山崎)
だと思うよ。
括弧には後で利用するためのキャプチャの意味とグループ化の
2つの意味がある。グループ化の意味を強調したいなら、(?: )
があるよ。

383 :デフォルトの名無しさん:2013/06/14(金) 17:15:05.65
確かwordの正規表現はちょっと変わってたはず。使えるメタ文字が少なかったり。
と言っても俺が知ってるwordは2000年ころのだから今とは違うかも。

384 :デフォルトの名無しさん:2013/06/14(金) 18:31:09.84
>>379
>>382
ありがとうございます参考になります

385 :デフォルトの名無しさん:2013/06/21(金) 11:13:18.36
Javaの正規表現で初歩的な質問なんですが
result = m.replaceFirst("new");
で最初の文字は置き換えれますが
2回目やっても次へ移動してません。
2つめも置き換えるにはどうしたらよいでしょうか?

386 :デフォルトの名無しさん:2013/06/21(金) 11:29:35.92
m.replaceFirst

m.replaceAll

387 :デフォルトの名無しさん:2013/06/21(金) 11:31:11.51
一気に全部でなくて
命令のたびに2つめ、3つめ…
というようなことはできないんでしょうか?

388 :デフォルトの名無しさん:2013/06/21(金) 21:29:28.15
似たようなケースのサンプルコードが appendReplacement() のAPI解説に

389 :デフォルトの名無しさん:2013/06/22(土) 09:14:55.85
うーん、求める結果になるコードは作れるだろうけど、最善のコードじゃなかったら悪いから書きにくいな。
自分が貼ったコードよりシンプルで簡単なコードの書き方があると地味にショックなんだよねぇ。

390 :デフォルトの名無しさん:2013/06/22(土) 11:19:08.48
>>389
それも自分の勉強になるではないか。
顔も名前も見えないのだから、恥も外聞も無いし。

391 :デフォルトの名無しさん:2013/06/26(水) 11:19:13.36
●要望
5桁の英数字の文字列データから、各桁が M W w のいずれかのみ、で構成されている文字列を検索する

MwwWM
wwWMw
WWWMM
wMWww などがヒットするようにする

[MWw][MWw][MWw][MWw][MWw]と書けば良いとは思いますが、[MWw]{5}と記述しても同様の結果は得られるのでしょうか?
10桁とか12桁でも考えているので、コンパクトにまとめたいのです
{}は直前の繰り返しだから
MMMMM
WWWWW
wwwww としか一致しないのでしょうか?

一日でヒットするデータが得られるとは限らないものなので、簡単に検証できないのです

よろしくです

392 :デフォルトの名無しさん:2013/06/26(水) 11:43:39.04
>>391
簡単な正規表現ならこういうとこで実験出来るよ。

正規表現テスター (Flash ActionScript3.0)
http://1st.geocities.jp/neeetest/as3_regexp.html

検索表現 ⇒ [MWw]{5}
置換表現 ⇒ Hit!
対象文字列 ⇒ MwwWM
フラグ ⇒ g にチェックを入れる

と入力して「テスト」ボタンを押してみ。

ちなみにこのテスターでは改行にマッチさせるには \r を使うんだけど、
テストした正規表現を実際に使うときには \r を \n や \r\n に書き換える必要があるかも。

1改行2 にマッチさせるにはテスターでは 1\r2 と書くが、実用する際には
1\r\n2 や、1\n2 と書かないと動かないケースがある。

393 :391:2013/06/26(水) 12:36:00.06
>>392
便利なページですね!
早速検証に使用することにします

ありがとうです

394 :デフォルトの名無しさん:2013/06/27(木) 16:38:40.13
>>391
なかなかいい着眼点だとは思う。
でも、たぶん \d{4} が、ぞろ目にしかマッチしないのかなと不安にはなっていなそう。

395 :デフォルトの名無しさん:2013/06/27(木) 17:57:06.25
>>394
ワケワカメなレスはしなくていいぞ。

396 :デフォルトの名無しさん:2013/06/27(木) 22:31:52.57
>>395
わけわかめなのはお前だけだよ。

397 :デフォルトの名無しさん:2013/06/30(日) 17:56:43.37
質問です

●正規表現の使用環境
PHP5.3.3

●検索か置換か?
置換

●説明
・URLが含まれていたときに、jpg,png,gifならimgタグへ変換。
・それ以外ならaタグへ変換。
・URLに日本語が含まれていた場合も、スペースや改行、文字列の終端にくるまでのものも上記のようにリンク化

●対象データ
[1] こちらへ→http://example.com/index.html
[2] 写真はこれです→https://example.com/写真.jpg

●希望する結果
[1] こちらへ→<a href="http://example.com/index.html">http://example.com/index.html</a>
[2] 写真はこれです→<img src="https://example.com/写真.jpg" />

398 :デフォルトの名無しさん:2013/06/30(日) 18:14:12.10
正規表現の何が分からないの?ここは仕事をネットにやらせてアウトソーシングとか言うスレじゃないよ。

399 :デフォルトの名無しさん:2013/06/30(日) 18:36:41.44
また性器表現始めちゃおっかな〜

400 :デフォルトの名無しさん:2013/06/30(日) 20:37:27.30
「URL 正規表現」でググれば色々出てくる。

一度に全部やらずにURLの検索と
ケツの拡張子のチェックに分ければいいよ

401 :デフォルトの名無しさん:2013/06/30(日) 23:29:08.97
では質問の仕方を変えます

((http|https):\/\/[0-9a-zA-Z\/\._]+[^(\.png)][^(\.jpg)][^(\.gif)])
間違っているのが後ろの指定方法なのはわかっているのでさが、○○で終わらない というのを複数指定するほうほうがよくわかりません。
正規表現には「|」はありますが、「&」という記法がないので…

402 :デフォルトの名無しさん:2013/07/01(月) NY:AN:NY.AN
(?!)

403 :デフォルトの名無しさん:2013/07/01(月) NY:AN:NY.AN
^(?!.*a$).*$

↑aで終わらない文字列にマッチする正規表現。

aの代わりに (?:\.jpg|\.gif) と書けば.jpgや.gifで終わらない、という意味になる。
最後の .*$ は (http|https):\/\/[0-9a-zA-Z\/\._]+ に書き換える。

>「&」という記法がない
2回に分けてマッチングさせれば論理積になる。
1回目でURL文字かどうかのチェック、2回目で末尾が画像かチェック、など。

404 :デフォルトの名無しさん:2013/07/01(月) NY:AN:NY.AN
レジェックスって気をしっかり保って見ないと
何か邪悪な呪文を読んでる気分になって発狂しそうになる

405 :デフォルトの名無しさん:2013/07/01(月) NY:AN:NY.AN
カッコの入れ子が何重にもなってるとちょっとイヤw

406 :デフォルトの名無しさん:2013/07/02(火) NY:AN:NY.AN
Janeで、読み上げソフトを使って聞いているんですけど
コピーをミスって、投稿者の行を読み上げるのを防ぐ為に正規表現の置き換え、を使おうと思ったんですが
解らない部分を教えて頂けませんでしょうか?

\d{1,3}\s名前:各板ごとの投稿者名(\[sage\]|\[age\]|\[\])\s投稿日:〜〜〜〜〜

この『各板ごとの投稿者名』、は沢山ありますよね?
文字数は不定、使われている文字種も不定、正規表現で表すためにはどう記述するのでしょうか?
『あらゆる文字数、文字列』という表現はあるんでしょうか?

407 :デフォルトの名無しさん:2013/07/02(火) NY:AN:NY.AN
自己解決
.* で良かったっぽいですね

408 :デフォルトの名無しさん:2013/07/02(火) NY:AN:NY.AN
>>407
.*? で最短マッチにした方がいい

409 :デフォルトの名無しさん:2013/07/02(火) NY:AN:NY.AN
\d{1,3}\s名前:.*?(\[sage\]|\[age\]|\[\])\s投稿日:〜〜〜〜〜
ですか?
最短一致、最短マッチの意味をググってます、分かるようで分からないような
仮に最短マッチにしないと、どういう不都合が起きますか?

次の括弧までの文字列しかマッチしないということなのかな?

410 :デフォルトの名無しさん:2013/07/02(火) NY:AN:NY.AN
>>409
ReplaceStr.txtで置き換えを考えてるのなら、置換対象を指定すれば
複雑な指定をしなくても、各要素ごとに別々に別指定できるよ

また、単に表示を消すだけならスキンファイルRes.htmlやNewRes.htmlを
<dt><NUMBER/><dd><MESSAGE/><br><br></dd><hr>
で作成すれば、レス番号しか出なくなる

411 :デフォルトの名無しさん:2013/07/02(火) NY:AN:NY.AN
>>410
すみません、読み上げソフトを触って初めて正規表現なる存在を知ったほど、超絶初心者なので
分かるのはだいぶ先の事になると思います

412 :デフォルトの名無しさん:2013/07/04(木) NY:AN:NY.AN
>>411
となるともしかしたらソフトウェア板のほうが適切かもしれない

413 :デフォルトの名無しさん:2013/07/04(木) NY:AN:NY.AN
ああもう訳が分からない

あいうえおあいうえおあいうえお

という「あいうえお」の繰り返し文字があったら
1番最後の「うえ」だけ一致させる方法と
2番目の「うえ」だけ一致させる方法が解らない
それぞれどういう方法があるんでしょうか?
すみません教えて下さい

414 :デフォルトの名無しさん:2013/07/04(木) NY:AN:NY.AN
・最後のうえ
うえ(?!.*うえ)
hit!

・2番目
^((?:(?!うえ).)*うえ(?:(?!うえ).)*)うえ
$1hit!

(?!うえ). ⇒ "うえ" じゃない1文字にマッチする。

(?:(?!うえ).)* ⇒ ↑の繰り返し。↑の .* 版。

(?! ) の使い方
http://funcchan.blog16.fc2.com/blog-entry-37.html

415 :デフォルトの名無しさん:2013/07/04(木) NY:AN:NY.AN
>>414
ありがとうございます、勉強になります

416 :デフォルトの名無しさん:2013/07/18(木) NY:AN:NY.AN
正規表現の置き換えで使える記号、ルールって
$1 $2 ぐらいしか無いのかな?

417 :デフォルトの名無しさん:2013/07/18(木) NY:AN:NY.AN
>>416
http://funcchan.blog16.fc2.com/blog-entry-34.html

418 :デフォルトの名無しさん:2013/07/19(金) NY:AN:NY.AN
>>417
サンクス

419 :デフォルトの名無しさん:2013/07/24(水) NY:AN:NY.AN
●Regular Expressionの使用環境
sakura editor

●検索か置換か?
置換

●説明
xmlのtaxiwaypath要素のなかに
type="TAXI"と centerLineLighted="FALSE"が存在するときに、 他の属性を書き換えずにcenterLineLighted="TRUE"に書き換えたいです

●対象データ
<TaxiwayPath
type="TAXI"

centerLineLighted="FALSE"

/>

●希望する結果
<TaxiwayPath
type="TAXI"

centerLineLighted="TRUE"

/>

…は省略していると言う意味です

420 :デフォルトの名無しさん:2013/07/24(水) NY:AN:NY.AN
検索
(<TaxiwayPath(?=\s)(?=[^<>]*\stype\s*=\s*(?:(["'])\s*TAXI\s*\2|TAXI)(?=\s|/?>))
[^<>]*\scenterLineLighted\s*=\s*)(?:(["'])\s*FALSE\s*\3|FALSE)(?=\s|/?>)

置換
\1"TRUE"

検索は長いから2行に分けたから繋げて。
置換は"TRUE"の後ろに半角スペース1つを入れること。

type = TAXI
type = 'TAXI'
type = TAXI2 ←属性値に余計なものが付いてるときはマッチさせない

などにも無駄に対応しといた。

421 :デフォルトの名無しさん:2013/07/24(水) NY:AN:NY.AN
>>420
ありがとうございます
しかし実行してもマッチしませんでした
tabと改行なしで例文を検索したところマッチしたのでおそらく改行が原因と思われます
tabは整形で削除できたのですが、改行は修正しきれませんでした
出来れば改行に対応できないでしょうか

422 :デフォルトの名無しさん:2013/07/24(水) NY:AN:NY.AN
>>421
\s -> [\s\r\n] or (?:\s|[\r\n])

423 :デフォルトの名無しさん:2013/07/24(水) NY:AN:NY.AN
>>421
サクラエディタでは現在のところ複数行にまたがる検索はできないと思います。
正規表現ライブラリの問題ではなくサクラエディタ自体の仕様のようです。
(自分も以前この問題にぶつかって結局別のエディタを使いました)

で、以下は若干スレ違いのレスになってしまいますが。

改行コード自体の検索・置換はできるので、ありきたりですが
・改行コードを全部適当な他とぶつからない文字にいったん置換
・本来やりたい置換(>>420?)
・改行コードを元に戻す

あとサクラエディタのFAQサイトには以下のような回避策の記述があります。
http://sakura.qp.land.to/?FAQ%2F2

424 :デフォルトの名無しさん:2013/07/24(水) NY:AN:NY.AN
>>422
ありがとうございます
それは\sを [\s\r\n] または (?:\s|[\r\n]) に置き換えろということでしょうか
やってみたけど出来ませんでした
>>423
ありがとうございます
エディタをotbeditに変え、改行コードを漢字の「改」の字に置換えました(半角でパッと思いつかなかったので…)、
エディタ変えたら置き換える必要ないのかもしれないけど、
ちょっと質問がわかりにくかったと思うので置き換えて改めて質問させて頂きます

<TaxiwayPath改type="TAXI"改start="72"改end="49"改width="30.48M"改weightLimit="500000"改
surface="ASPHALT"改drawSurface="FALSE"改drawDetail="FALSE"改centerLine="TRUE"改
centerLineLighted="FALSE"改leftEdge="SOLID"改leftEdgeLighted="TRUE"改rightEdge="SOLID"改rightEdgeLighted="TRUE"改name="83"/>改
行が長すぎるので改行していますが本来は繋がっています
原文ママでこの要素が全文で30000個以上あります
この中で、
type="TAXI"かつcenterLineLighted="FALSE"になっている要素のcenterLineLighted属性の値を
centerLineLighted="TRUE"に置き換えたいです
長文になってしまい申し訳ありませんが、よろしくお願いします

425 :デフォルトの名無しさん:2013/07/24(水) NY:AN:NY.AN
エディタでやろうとするとエディタ特有の制限にぶつかる恐れがあるから>>392のテスターみたいな
プログラム言語で直に置換するものでやったほうがいいよ。>>420のままで動いたし。

エディタと正規表現って相性が良くないから何かと制約が出てしまうことが多いんだよね。
エディタの内部処理では文末にデータの終端を示す文字が自動的に埋め込まれてたりして、$が本来の
文末にマッチしなかったり、改行に制約が付いたり。秀丸でも改行に制約があったはず。

サクラエディタではperlを使った置換が出来るらしいからそれを使ってもいいかもね。

426 :デフォルトの名無しさん:2013/07/24(水) NY:AN:NY.AN
ごめん、嘘付いた。>>420>>392のテスターで動かすには置換のほうの書き換えが必要だった。

× \1"TRUE"
○ $1"TRUE"

検索のほうは2行に分割してるのをそのままコピペで動いた。改行を消して1行に繋げる必要なし。

427 :デフォルトの名無しさん:2013/07/25(木) NY:AN:NY.AN
otbedit用

検索
(<TaxiwayPath(?=\l)(?=(?:[^<>]|\l)*\ltype\l*=\l*(?:(["'])\l*TAXI\l*\2|TAXI)(?=\l|/?>))
(?:[^<>]|\l)*\lcenterLineLighted\l*=\l*)(?:(["'])\l*FALSE\l*\3|FALSE)(?=\l|/?>)

置換
$1"TRUE"

改行にマッチ出来なかったのは [^<>]* が改行文字にマッチしないのを見落としてたからだった。
(?:[^<>]|\l)* に修正して完成。てへぺろ。

428 :デフォルトの名無しさん:2013/07/25(木) NY:AN:NY.AN
>>427
テスター使ってやってみたのですが、やはりできませんでした
環境か設定が悪いのでしょうか
表示画面はこのようになり、変更されていません
フラグもチェックしましたが相変わらずです
http://i.imgur.com/mVM4qwA.jpg
それからその2段表記の正規表現の間にスペースは含まれますか?あってもなくても変わらないのでしょうか
2ちゃんの仕様で例文の後ろに半角スペースがついていますが原文にはありません
よろしくお願いします

429 :デフォルトの名無しさん:2013/07/25(木) NY:AN:NY.AN
xmlエディタを使ってxpath指定で変えれば?といいたくなるのをこらえて正規表現で解決するスレ民がマジかっこいい。

430 :デフォルトの名無しさん:2013/07/25(木) NY:AN:NY.AN
>>428
>>427はotbedit用。それ以外の環境では動かない。

\l ← otbeditにしか無い独自のメタ文字

431 :デフォルトの名無しさん:2013/07/25(木) NY:AN:NY.AN
ちなみにテスターの使い方はそれで合ってる。
テスター用、というか一般的な環境で使えるのも用意しようか、今から作るね。

432 :デフォルトの名無しさん:2013/07/25(木) NY:AN:NY.AN
テスター用(perlなどのプログラム言語で使用可能)

(<TaxiwayPath(?=\s)(?=(?:[^<>]|\s)*\stype\s*=\s*(?:(["'])\s*TAXI\s*\2|TAXI)(?=\s|/?>))
(?:[^<>]|\s)*\scenterLineLighted\s*=\s*)(?:(["'])\s*FALSE\s*\3|FALSE)(?=\s|/?>)

$1"TRUE"

これはotbeditでは動きません。

433 :デフォルトの名無しさん:2013/07/26(金) NY:AN:NY.AN
>>429
>>424に 「原文ママでこの要素が全文で30000個以上あります」 とあるから
ショボいxmlエディタだと固まる可能性ある。

というか>>419の条件だと正規表現でやったほうが早いんじゃね?
type="TAXI"があるかどうかの確認が必要になるし。

434 :デフォルトの名無しさん:2013/07/26(金) NY:AN:NY.AN
ちなみに>>392のテスターは前に入力した正規表現を記憶してるから
毎回正規表現をコピペする必要が無い。下手なエディタよりラク。

435 :デフォルトの名無しさん:2013/07/26(金) NY:AN:NY.AN
>>419です
皆さんどうもありがとうございました
結局正規表現ではうまくいきませんでしたが、専用のツールを使って解決できました
皆様には大変感謝しています

436 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
あー、原因分った。やっぱり改行を消して1行に繋げないとダメだった。

>>419の対象データだとそれをしなくてもたまたま置換に成功してしまうので
1行に繋げなくてもいいのかと勘違いしてしまった・・(おかしいなとは思ったんですが)

テスターなら2行のままで、フラグの「x」にチェックを入れれば動きます。
動作確認不足で申し訳ない・・

437 :デフォルトの名無しさん:2013/07/31(水) NY:AN:NY.AN
>>433
> type="TAXI"があるかどうかの確認が必要になるし。
だからこそxpathでいいじゃんって話なんだけどなぁ。
まぁ、遅いかもねっていうのは否定しない。メンテナンスの容易さとトレードオフで。

438 :デフォルトの名無しさん:2013/08/01(木) NY:AN:NY.AN
ああ、xmlで直に指定出来たのね、知らなかった・・
実際使えてるみたいだし固まるとかも余計な心配だったね。

今更だけど>>436に「g」のチェックも追加。これ付けないと最初の1つ目しか置換されないという・・
gdgdですまん。

439 :デフォルトの名無しさん:2013/08/03(土) NY:AN:NY.AN
質問です。
検索する文字列の条件(例えば英字で挟まれている数字列)と取り出す文字列の条件(数字列)はの
記述は。どのように書き分けるのでしょうか?

440 :デフォルトの名無しさん:2013/08/03(土) NY:AN:NY.AN
>>439
> 質問です。

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

441 :デフォルトの名無しさん:2013/08/03(土) NY:AN:NY.AN
母国語のフォーラムでやればいいのに

442 :デフォルトの名無しさん:2013/08/03(土) NY:AN:NY.AN
翻訳ソフトをかまさないでくれ
理解できん

443 :デフォルトの名無しさん:2013/08/03(土) NY:AN:NY.AN
このレベルを理解できないのはまずいだろ。
内容はごく簡単なものだが、母国語でやるほうが楽だと俺は思うんだ。

444 :デフォルトの名無しさん:2013/08/03(土) NY:AN:NY.AN
こうやって茶化すのは嫌いだ。

>>439
<match>
[a-z](\d+)[a-z]

<replace>
$1

445 :439:2013/08/03(土) NY:AN:NY.AN
レスありがとうございます。

言語はobjective-cです。
例は質問の意図を説明するもので、「例の回答」を求めているわけではありません。

検索する文字列の条件と取り出す文字列の条件の記述は、
「一般的に」どのように書き分けるのかという質問です。

446 :デフォルトの名無しさん:2013/08/03(土) NY:AN:NY.AN
なんで対応しようとしちゃったかなぁ。

447 :デフォルトの名無しさん:2013/08/04(日) NY:AN:NY.AN
>>445
どういう回答を期待してるのかがよく分からないので、その質問の答えとして
「一般的に」どう回答すると良いのかを示して下さい。

448 :デフォルトの名無しさん:2013/08/04(日) NY:AN:NY.AN
phpで作ってるプログラムが予想とは違う動きをしたので質問です

自分の環境ではありませんが、http://phpreg.1weekhack.com/preg_match のサイトで

検索ルール:/あ/
検索対象:aいa

では場合はマッチしないのですが

検索ルール:/[あ]/
で検索した場合、「い」の部分にマッチしてしています。

どちらも同じ意味だと思うのですがどのような違いがあるのでしょうか

449 :デフォルトの名無しさん:2013/08/04(日) NY:AN:NY.AN
すいません
改行部分が文字化けしてますが無視してください

450 :デフォルトの名無しさん:2013/08/04(日) NY:AN:NY.AN
>>448
これを理解するには文字コードの知識が必要。
そのサイトの文字コードはUTF-8。
UTF-8での あ と い はそれそれ以下のように3バイトで1文字を表している。

あ = E3 81 82
い = E3 81 84

[あ] は E3 または 81 または 82 にマッチする。
い には E3 と 81 があるのでこの2つに2回のマッチが成功する。

[あ] は、 あ を構成する3つのパーツとして認識し、そのパーツと一致するパーツを検索する。

451 :デフォルトの名無しさん:2013/08/04(日) NY:AN:NY.AN
ちなみにUTF-8でなくshift_jisやeuc-jpなどの他の文字コードでは あ や、 い を構成する
パーツがUTF-8と異なる。

shift_jisで E3 81 82 を使って あ にマッチさせようとしてもマッチしない。


また、 [あ] が あ にしかマッチしない環境もある。
その環境では正規表現エンジンがマルチバイトに対応しているということ。

452 :デフォルトの名無しさん:2013/08/04(日) NY:AN:NY.AN
なるほど
私のPHP環境では正規表現エンジンがUTF8に対応していない ということですね…
非常にわかりやすい説明ありがとうございます

453 :デフォルトの名無しさん:2013/08/04(日) NY:AN:NY.AN
検索ルール
/\xE3\x81\x82/

検索対象
どあ

⇒3バイト目(あ)にマッチ。

454 :デフォルトの名無しさん:2013/08/05(月) NY:AN:NY.AN
>>452
私の?「自分の環境ではありませんが〜」って書いてるけどどういうことだろ。

まぁ「例:/^test/u」って書いてるよね。これ見るといいよ
http://www.php.net/manual/ja/reference.pcre.pattern.modifiers.php

455 :450:2013/08/05(月) NY:AN:NY.AN
>>454
あら・・そんなオプションがあったとは。
/uって何だろうと思いながら調べなかったのがいけなかった。

>>452
半端な回答してごめん。

456 :デフォルトの名無しさん:2013/08/09(金) NY:AN:NY.AN
半端といえば半端だけど、わかりやすい説明ですごいと思った。

457 :デフォルトの名無しさん:2013/08/18(日) NY:AN:NY.AN
読み上げソフトの正規表現で
w の連続を読み上げさせないようにする為に
正規表現
[WwWw]{2,}
置き換え
なし

として、上手くいきました
そこでふと気がついたのですが
[W|w|W|w]{2,} とするとどうなるんでしょうか?
[WwWw] と [W|w|W|w] の解釈の違いがわかりません
正確には、それぞれどういう意味になるのか教えて頂けませんでしょうか?

458 :デフォルトの名無しさん:2013/08/18(日) NY:AN:NY.AN
>[W|w|W|w]{2,} とするとどうなるんでしょうか?
>[WwWw] と [W|w|W|w] の解釈の違いがわかりません

確認。聞きたいのは
(W|w|W|w){2,}
だよね?

ちなみに、[W|w|W|w]{2,} は [WwWw|]{2,} と同義

459 :デフォルトの名無しさん:2013/08/18(日) NY:AN:NY.AN
寝ちまってるのか。んじゃ、
[WwWw] と (W|w|W|w) の解釈の違いがわかりません
…と仮定して答えておくね。

[WwWw] は、文字 W、w、W、w のどれか。文字とは1文字のみのこと。

(W|w|W|w) は、文字列 W、w、W、w のどれか。文字列とは1文字〜複数個の文字。
だから、(WWWW|wwww|WWWW|wwww) なんてのもOk。

460 :450:2013/08/18(日) NY:AN:NY.AN
前から読み上げソフトの質問してる人かな。ソフト名が分かればより的確な回答が得られるよ、と。
正規表現にもいろいろ種類があってそれぞれ動作が様々だからね。

461 :デフォルトの名無しさん:2013/08/18(日) NY:AN:NY.AN
>>458
>>459
有難う御座います参考になりました

>>460
すみません、使用してるのは、棒読みちゃん、TextToWav、SofTalkのそれぞれを試している状態です

462 :461:2013/08/19(月) NY:AN:NY.AN
皆さん有難うございました
丸括弧と角括弧の意味を、まともに理解できていないので、もっとちゃんとググってみます

463 :デフォルトの名無しさん:2013/08/19(月) NY:AN:NY.AN
>>462
精進してくれたまえ。

あと、>>459の記述に微妙な間違いがあったので訂正しておく。
>(W|w|W|w) は、文字列 W、w、W、w のどれか。文字列とは1文字〜複数個の文字。

誤)文字列とは1文字〜複数個の文字。
正)文字列とは0文字〜複数個の文字。

でした。失礼。
だから最初が空文字(=0文字)の、(|wwAB|WWXY|ww19) とかでもOk。

464 :デフォルトの名無しさん:2013/08/19(月) NY:AN:NY.AN
>>463
× 文字列とは0文字〜複数個の文字
○ 文字列とは0文字〜複数個の文字の羅列

465 :デフォルトの名無しさん:2013/08/19(月) NY:AN:NY.AN
処理効率は

[WwWw] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (W|w|W|w)

なので前者を使ってね。

466 :デフォルトの名無しさん:2013/08/24(土) NY:AN:NY.AN
>>465
W|w|W|w
だと処理効率はどうなるの?
後方参照のためのキャプチャもすることになる
(W|w|W|w)
の効率が良くないのは火を見るよりも明らかだけども

467 :デフォルトの名無しさん:2013/08/24(土) NY:AN:NY.AN
([WwWw]|hoge) と (W|w|W|w|hoge) はどっちが速いん?

468 :デフォルトの名無しさん:2013/08/25(日) NY:AN:NY.AN
>>466
( | ) での分岐ではバックトラック処理が原因で遅くなることがある。
正規表現を詳しく知りたいなら>>8の本を読むべき。(ステマじゃないよ)

>>467
ReplaceStrTool(鬼車エンジン)での測定結果。

([WwWw]|hoge)
[マッチ= No ] [検索=16113.288 ms] [置換=16154.999 ms] [ループ= 1000 ] [文字数= 107016 byte]

(W|w|W|w|hoge)
[マッチ= No ] [検索=1094.331 ms] [置換=1158.184 ms] [ループ= 1000 ] [文字数= 107016 byte]

他の正規表現エンジンでもこういう結果になるとは限らないので注意。

469 :デフォルトの名無しさん:2013/08/25(日) NY:AN:NY.AN
>>468
([WwWw]|hoge)だと()用と[]用の2つのルーチンを交互に呼び出すから遅くなるとかかな?
ちょっと意外な結果だ。検証thx

470 :デフォルトの名無しさん:2013/08/25(日) NY:AN:NY.AN
.NET Frameworkの正規表現を使ってるソフトで試してみたら
 ([WwWw]|hoge) : 48秒
 (W|w|W|w|hoge) : 48秒
で変わらずだった。このへんは正規表現エンジンのクセなんだろうね

471 :デフォルトの名無しさん:2013/08/25(日) NY:AN:NY.AN
正規表現の正規化とかしてたりするかもね。

472 :デフォルトの名無しさん:2013/08/26(月) NY:AN:NY.AN
>>468-470
hoge厨は今すぐ消えろ。
頭おかしいんじゃね。

473 :デフォルトの名無しさん:2013/08/26(月) NY:AN:NY.AN
おまえの頭がおかしい。おまえが今すぐ消えろ

474 :デフォルトの名無しさん:2013/08/26(月) NY:AN:NY.AN
ネタにマジレスせんでも・・

475 :デフォルトの名無しさん:2013/08/26(月) NY:AN:NY.AN
まだhoge使ってる奴いるのか

476 :デフォルトの名無しさん:2013/08/26(月) NY:AN:NY.AN
higeダンス

477 :デフォルトの名無しさん:2013/08/27(火) NY:AN:NY.AN
書籍を選ぶときはまずサンプルコードを見ること。
サンプルコードでhogeを使ってる本は100%悪本だからまず最初に除外できる。
hoge使ってない本の中にも悪本はあるが、hoge使ってる書籍は間違いなく悪本。

478 :デフォルトの名無しさん:2013/08/27(火) NY:AN:NY.AN
国内のプログラマーは何使ってるもんなの?

479 :デフォルトの名無しさん:2013/08/27(火) NY:AN:NY.AN
>>478
hogehoge

480 :デフォルトの名無しさん:2013/08/27(火) NY:AN:NY.AN
俺はfoo bar baz使ってる

481 :デフォルトの名無しさん:2013/08/27(火) NY:AN:NY.AN
far byo oon

482 :デフォルトの名無しさん:2013/08/27(火) NY:AN:NY.AN
hage

483 :デフォルトの名無しさん:2013/08/27(火) NY:AN:NY.AN
hoge使って解説してるサイトって大抵いい加減な内容なんだよなwあんなもん読んでたら頭腐るwww

484 :デフォルトの名無しさん:2013/08/27(火) NY:AN:NY.AN
piyoってめぞん一刻みたい

485 :デフォルトの名無しさん:2013/08/27(火) NY:AN:NY.AN
言語はJavaです。

文字列
str = "<tr><td>aaa</td><td>bbb</td><td>ccc</td></tr>"
に対して、一番最後の<td>から</tr>までを削除したくて
Pattern.compile("<td.+?</tr>").matcher(str).replaceFirst("");
などとやってみましたが、最初の<td>から</tr>までが削除されてしまっているようで
<tr>しか残りません。
最短マッチの方法が間違っているのでしょうか?

(実データではaaa,bbb,cccは再帰的にタグが入ります)

486 :デフォルトの名無しさん:2013/08/27(火) NY:AN:NY.AN
Javaでは試していない。
一般的な正規表現で示します。


検索:^(.*)<td>.*</tr>$
置換:\1
※改行は含まれないこととする。
※この場合、先頭の^と末尾の$は無くても0k。


否定先読みを使う場合は、

検索:<td>((?!<td>).)*</tr>$
置換:空文字
※改行は含まれないこととする。
※この場合、末尾の$は無くても0k。

487 :デフォルトの名無しさん:2013/08/27(火) NY:AN:NY.AN
ついでに。

>最短マッチの方法が間違っているのでしょうか?

方法ではなく、考え方の根本が間違っています。
その正規表現では、最初に発見した<td>から一番近い</tr>までがマッチします。(←重要)

一般的な正規表現では、「最短マッチ」など存在しません。
あくまで、「Non-Greedy/非貪欲/無欲/ものぐさ マッチ」です。

「最短/最小 マッチ」としか記述してない説明は正しくありません。
以下は比較的良心的な説明の例。

http://perldoc.jp/docs/perl/5.14.1/perlre.pod
>デフォルトでは、パターンで行われる量指定は"貪欲"です
>つまりそれはパターンの残りの部分が可能な範囲で、 (始めた地点から)可能な限り
>多くを先にあるパターンでマッチングさせます。
>もし最小回数でのマッチングを行いたいのであれば、量指定子の後ろに "?" を続けます。
>意味は変更されずに「貪欲さ」だけを変更できます
>   *?   0 回以上の貪欲でないマッチング
>   +?   1 回以上の貪欲でないマッチング

https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Regular_Expressions
>*、+、?、{} といった量指定子の直後に使用した場合、
>その量指定子を無欲 (最小回数にマッチ) にします。

488 :デフォルトの名無しさん:2013/08/27(火) NY:AN:NY.AN
>>485
既に答えは書かれてるけど、↓にもそのものズバリな解説があるから参考までに
http://okwave.jp/qa/q8055322.html

489 :デフォルトの名無しさん:2013/08/28(水) NY:AN:NY.AN
>>486-488
thxです!

490 :デフォルトの名無しさん:2013/09/02(月) 21:00:14.96
 

491 :461:2013/09/11(水) 23:30:12.39
ぐぐったら漢字の範囲指定で
Shift_JIS だと [亜-熙]
Unicode だと [一-龠々]
のようですが、合ってます?
仮に Unicode に [亜-熙] を使って検索で取り出そうとすると
一部の漢字が漏れてしまいますか?

492 :デフォルトの名無しさん:2013/09/12(木) 00:05:44.58
>>491
質問内容が正規表現スレのサポート範囲を逸脱してると思います

こちらで聞いた方がベターでは?

文字コード総合スレ part8
http://toro.2ch.net/test/read.cgi/tech/1354248962/

493 :デフォルトの名無しさん:2013/09/12(木) 00:45:33.90
>>491
\p{Han}

494 :デフォルトの名無しさん:2013/09/12(木) 00:58:22.63
>>491
環境にもよるが、Unicodeで漢字と非漢字日本語文字を分別するのは容易でない。
正規表現がそういう用途のものではないから。
まずは対象の正規表現の仕様/ヘルプをよく読むことだね。

それより、何をしたいのか具体的に書いた方がいいと思う。

495 :461:2013/09/12(木) 12:57:53.12
>>492
ありがとうございます
>>493
ググってみます
>>494
渡されたエクセルのの文書と名簿がぐちゃぐちゃで
名前と思われる部分だけを全て切り取り
作った表に貼り直そうと思いまして

496 :デフォルトの名無しさん:2013/09/15(日) 21:59:22.06
●Regular Expressionの使用環境
Visual C++

●検索か置換か?
置換

●説明
同じ文字/文字列を3回以上繰り返してる物を1回にしたい

●対象データ→結果
IEEE→IE
うわあああああああ→うわあ
bbcdbcdbcdbcdd→bbcdd
あのあのあのあの→あの

497 :デフォルトの名無しさん:2013/09/16(月) 00:41:04.18
>>496
C++ではなくJavaの例で悪いが

str.replaceFirst("(.+?)\\1{2,}", "$1")

498 :デフォルトの名無しさん:2013/09/16(月) 14:23:01.62
>>496
非決定性にすればよいのかな
bbcdbcdd も解だし。

「ああああいあいあい」の変換も「ああい」なのか「あい」でもよいのか、ちょっと曖昧。

499 :デフォルトの名無しさん:2013/09/16(月) 14:36:25.56
>>498
「bbcdbcdd」と「あい」は、どうしてそうなるの?

500 :デフォルトの名無しさん:2013/09/16(月) 14:49:17.65
あー、「あい」は分かった。
「ああああいあいあい」→「あいあいあい」→「あい」

でも正規表現による置換の話だから、「あいあいあい」となるのを期待するよね。
それ以上は置換されなくなるまで繰り返しやがれ、って感じかな。

501 :デフォルトの名無しさん:2013/09/16(月) 14:59:20.24
>>498
dbc が3回繰り返されているからそういう選択もある。

502 :デフォルトの名無しさん:2013/09/16(月) 15:00:57.68
>>500
後半を先に置換すると ああい になる。

503 :502:2013/09/16(月) 15:03:11.97
ごめん。その話は上にでていたね。

504 :デフォルトの名無しさん:2013/09/16(月) 15:24:53.76
>>501
なるほどなるほど。
>>502-503
そうです。

まあ一般的な正規表現による置換をするって話ですから、
後方からとか、一発で複数回置換とかは無いよね。

505 :デフォルトの名無しさん:2013/09/22(日) 12:42:47.89
●Regular Expressionの使用環境
EMEditor、サクラエディタ

●検索か置換か?
検索

●説明
最短マッチ(非貪欲マッチ)したいのですが、貪欲マッチになっています。貪欲、、非貪欲がそもそも分かってない可能性もあります。
Webプログラム板の正規表現スレでもお聞きしたのですが、教えていただいたとおりでうまく行かなかったのでこちらにきました。
NN\s.*?VBNで検索してみました。最初のNNからマッチしてしまいます。

●対象データ
In_IN Israel_NNP ,_, freedom_NN of_IN opinion_NN and_CC risk_NN taking_NN are_VBP strongly_RB supported_VBN ._.


●希望する結果
NN are_VBP strongly_RB supported_VBNの部分だけにマッチして欲しいのですが。
In_IN Israel_NNP ,_, freedom_NN of_IN opinion_NN and_CC risk_NN taking_NN are_VBP strongly_RB supported_VBN ._.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

506 :505:2013/09/22(日) 12:44:40.53
アンダーラインがおもいっきりずれましたが、希望は一行目の通りです。m(_ _)m

●希望する結果
NN are_VBP strongly_RB supported_VBNの部分だけにマッチして欲しいのですが。

507 :デフォルトの名無しさん:2013/09/22(日) 12:56:23.26
>>505-506
例示がもっともっともっと欲しいなあ。
その条件だけだと、"NN are_VBP strongly_RB supported_VBN" で
検索すればOkということになってしまうよ。

508 :507:2013/09/22(日) 12:58:39.87
ああ、NN\s.*?VBN から推測するのか。

509 :507:2013/09/22(日) 13:07:48.95
>>505-506
NN\s((?!NN).)*VBN
でOk。

サクラエディタ Ver. 2.0.5.0
EmEditor Professional Ver4.13(古い…)
で確認。

510 :507:2013/09/22(日) 13:19:37.69
おまけ。
NN are_VBP strongly_RB supported_VBN_RB supported_VBN
みたいなときに全体にマッチさせたくなければ、非貪欲マッチを使って
↓これで。
NN\s((?!NN).)*?VBN

511 :デフォルトの名無しさん:2013/09/22(日) 13:24:55.01
>>505
サクラエディタ本体と正規表現DLLのバージョンを書いて下さい
\sの挙動に影響します

512 :507:2013/09/22(日) 13:41:44.44
>>511
厳しいんだな(笑)
そう思ったけど、本体で識別くらいでエエかなと。自分も一応書いとくね。
サクラエディタ Ver. 2.0.5.0
bregonig.dll Ver.3.02 with Onigmo 5.13.2

\sの部分はお好みで半角空白とか[ \t]に変えてもいいよー。

513 :デフォルトの名無しさん:2013/09/22(日) 14:58:11.12
>>507
OKでした。ありがとうございます。m(_ _)m
なるほど。勉強になりました。
EMeditor Free 6.00.4で確認しました。

>>511
すみませんDLLバージョンの確認方法を教えてもらえれば助かりますが。。。そんなレベルでつ (汗

514 :デフォルトの名無しさん:2013/09/23(月) 15:35:32.97
ついでに聞いちゃえってか

515 :デフォルトの名無しさん:2013/09/23(月) 21:46:18.10
>>513
設定メニュー→共通設定→検索タブ
http://sakura-editor.sourceforge.net/htmlhelp2/HLP000148.html

ここで正規表現ライブラリ指定の次の行でDLL名とバージョンが確認できます。

516 :デフォルトの名無しさん:2013/09/24(火) 01:18:12.51
>>515
ありがとうございます。
サクラエディタ Ver. 2.0.4.0
bregonig.dll Ver.3.01 with Onigmo 5.13.0
でした。

517 :デフォルトの名無しさん:2013/09/24(火) 03:03:17.64
ストリーミング対応の正規表現ライブラリって無い?

多分言っている意味がわからないと思うけど、
テキスト全部が揃ってないと使えない
正規表現ライブラリじゃなくて、

データがストリーミングで流れてくるものに対して、
途中でマッチしたらなにか処理をして
マッチしなければ(マッチしないことが確定すれば)
その時点でデータを吐き出すやつ。

518 :デフォルトの名無しさん:2013/09/24(火) 03:08:24.94
javaの正規表現ライブラリapache-oroはストリーミング対応だがパフォーマンスは悪い。

519 :デフォルトの名無しさん:2013/09/24(火) 03:29:07.50
やった、情報得られたw
これで関連情報も探せそう。
ありがとう

520 :デフォルトの名無しさん:2013/09/24(火) 09:51:16.86
boost regexのmatch_partialも使える。

521 :デフォルトの名無しさん:2013/09/24(火) 21:40:40.82
やっぱりそういう高度なことは、
JavaやC++なんですね。
ありがとうございます。

522 :デフォルトの名無しさん:2013/09/24(火) 22:49:21.48
そんなこと言うと、ここのパールおじさんたちが発狂しちゃうよ

523 :デフォルトの名無しさん:2013/09/24(火) 22:59:58.79
Javaのはよくわからんけど、match_partialぐらいなら
Perlでも実装できそうなものなんだが

524 :デフォルトの名無しさん:2013/09/26(木) 05:02:24.42
>>520
おかげでできたよ。

まず、match_partialという関数名をヒントにして調べたら、
一般的にはpartial matchなどと言われるらしいね。

で、pcreがその機能を持っている。
http://www.gammon.com.au/pcre/pcrepartial.html

今回の自分の目的はnodeで使うことなんで
pcreバインドがあればいいというわけで見つけたnode-pcre。
他の言語でもpcreバインドがあれば行けるだろう。

https://github.com/mscdex/node-pcre
https://github.com/mscdex/node-pcre/blob/master/lib/pcre.js
↑定数と値の意味

これを参考に、

var PCRE = require('pcre').PCRE;
var re = new PCRE("test");
console.log(re.exec("te", 0, PCRE.PCRE_PARTIAL));

を実行したら-12 (PCRE.PCRE.PCRE_ERROR_PARTIAL)が返って来た。

var re = new PCRE("test");
console.log(re.exec("tea", 0, PCRE.PCRE_PARTIAL));

だとnullが返ってくる。

525 :デフォルトの名無しさん:2013/09/26(木) 21:37:41.97
●Regular Expressionの使用環境
Visual Studio 2012

●検索か置換か?
検索

●説明
<>の中にある文字を順に検索していく方法を探しています
↓の2行の文章では

これは<りんご>です。
これは<100円玉>です。

エディタで<.*>で検索すれば、
<りんご>、<100円玉>がヒットするのですが

これは<りんご>です。これは<100円玉>です

こんなように一行のときに<.*>で検索すると
<りんご>です。これは<100円玉>
というようにヒットしてしまいます

●求める結果
一行の場合でも、<りんご>、<100円玉>というように個別に
ヒットさせたいです
そのための検索キーワードは何になるでしょうか

526 :デフォルトの名無しさん:2013/09/26(木) 21:46:02.72
>>525
<.*?>

527 :デフォルトの名無しさん:2013/09/26(木) 21:57:32.86
>>526
ありがとうございます!
無事いけました!

528 :デフォルトの名無しさん:2013/09/26(木) 22:51:32.84
●Regular Expressionの使用環境
サクラエディタ

●検索か置換か?
置換

●説明
1行の中に同じ単語が2連続しているのを1つだけにしたいです。

●対象データ
appleapple
orangeorange
grapegrape

●希望する結果
apple
orange
grape

よろしくお願いします。

529 :507:2013/09/26(木) 23:18:36.43
>>528
置換前:\b([a-zA-Z]+)\1\b
置換後:\1

ただし、AA→A とか、anan→an になるけどいいの?

530 :デフォルトの名無しさん:2013/09/26(木) 23:19:40.41
名前欄そのままだったテヘペロ

531 :デフォルトの名無しさん:2013/09/26(木) 23:38:49.64
>>529
置換できました。
本当にありがとうございます!
ananがanになるようなケースはめったになく、
別システムでチェックできるのであったら手動で戻します。

532 :デフォルトの名無しさん:2013/09/26(木) 23:47:16.00
>>529
それは+のとこを{3,}とか適当な数字に直せばいいんでねえの

533 :529:2013/09/27(金) 00:30:37.42
>>532
と申されましても私には良いか悪いか分かりませぬ。
何文字になろうが、意図しない置換が行なわれる危険は残るので。
逆に、意図した置換が行なわれなくなる危険も。
>>531
という指摘がありましたので、
\b([a-zA-Z]{3,})\1\b
このようにすれば3文字×2以上のみにヒットするようになります。
これでananもTOTOも安心!

534 :デフォルトの名無しさん:2013/09/27(金) 11:17:53.12
>>532
>>533
少し遅くなりましたがありがとうございます。
数字や一部の記号を含む5文字以上のユーザIDなので、
\b([a-zA-Z0-9_-]{5,})\1\b
という形で使わせて頂きました。

535 :デフォルトの名無しさん:2013/10/05(土) 23:35:47.41
"123,456,789"から","だけを削除して"123456789"にするにはどうすればいいの?
前後が数字になっている","だけにマッチするのって正規表現だけでできるの?
"[0-9],[0-9]だと前後の数字にもマッチしちゃうよね。

536 :デフォルトの名無しさん:2013/10/05(土) 23:53:43.59
>>535
正規表現だけでできるよ
正規表現 戻り読み
正規表現 先読み
で検索

537 :デフォルトの名無しさん:2013/10/05(土) 23:59:54.47
>>536
サンクス
勉強します

538 :デフォルトの名無しさん:2013/10/06(日) 00:04:41.17
>>535
>"[0-9],[0-9]だと前後の数字にもマッチしちゃうよね。
置換ならマッチさせて問題ないんだよ。
ついでに 1,2,3,4 みたいなのに対応させるため先読みを入れてみる。

検索:(\d),(?=\d)
置換:\1(または、$1)

>前後が数字になっている","だけにマッチするのって正規表現だけでできるの?
戻り読みを使えばできるけど汎用性が劣るから、上記の方法がおすすめ。

539 :デフォルトの名無しさん:2013/10/06(日) 00:24:18.23
一見簡単にみえて正規表現では
解くのが難しい、もしくは不可能な、
フェルマーの最終定理のような
正規表現問題を教えて下さい。

なお、質問の目的はこのような種類の問題であれば
正規表現で頑張るのは諦めてさっさと別の
アプローチに変更した方がいいという判断の
材料にしたいからです。

540 :デフォルトの名無しさん:2013/10/06(日) 01:53:49.08
>>538
\dは環境によっては(Unicode対応以降のPerlや鬼車とか)、
全角数字にもマッチしちゃうから、環境を明記してない質問には
[0-9]で回答した方が無難だよ

541 :デフォルトの名無しさん:2013/10/06(日) 02:12:00.76
>>540
そうなのか、ありがとう。きっと\wもだよね。
しかし余計なお世話的仕様が一般化してるよなあ。
>>538
ということで、より
汎用性を高めるとこうなります。
検索:([0-9]),(?=[0-9])
置換:\1(または、$1)

542 :デフォルトの名無しさん:2013/10/06(日) 12:39:09.25
今回のような単純なケースで、戻り読みには汎用性がないとは具体的にどのようなケース?

543 :デフォルトの名無しさん:2013/10/06(日) 13:33:39.33
>>542
ケースではなく以下の理由で、実用には常に戻り読みを避けた「汎用的な正規表現」を使います/教えます。
・ JavascriptやWSH、エディタなど、戻り読みが無い環境は多い。
・ 先読みまでサポートしたものを「汎用的な正規表現」の環境と思っている。
・ 初心者は安易に戻り読みを使うより、「汎用的な正規表現」で置換などのテクニックを磨いた方が応用が利く。
・ 戻り読みは制約が多く、よく理解していないとハマりやすい。
・ (今回は単純だけど)戻り読みが必要なほどの正規表現は往々にして複雑すぎる。その場合は正規表現一本で済ますことを再考すべき。

544 :デフォルトの名無しさん:2013/10/06(日) 14:23:42.72
それ、そういう実装がない環境があるってだけじゃねえの?
「汎用的」って言葉が曖昧だし、その割に明確にプラスみたいに語ってるし。

545 :デフォルトの名無しさん:2013/10/06(日) 14:46:38.94
ちょっとしたトンチのような
s/([0-9]),(?=[0-9])/$1/g
を思いつけるようになる訓練をしろ、というのは初心者には辛いのでは

正規表現である程度以上のことをしようと思ったら、こういうテクニックも重要なのはわかるけど、
むしろ中級者以上向けじゃないか?

546 :デフォルトの名無しさん:2013/10/06(日) 17:14:08.91
先読み程度は初心者でもすぐに使えると思うけど?
正規表現を始めてすぐ、特定するのに困ったとき正規表現一覧を見てすぐに使えたし

547 :デフォルトの名無しさん:2013/10/06(日) 18:26:24.50
先読みや戻り読みのような「マッチはさせない検索条件」というのはイメージしづらく初心者には実用例でもないと理解しづらいと思う

ただ今回の質問者は「正規表現に非マッチ指定がひょっとしてあるのでは」というイメージを始めから持ってるから、
先読みや戻り読みを理解できる素養はあるように思われる

548 :デフォルトの名無しさん:2013/10/06(日) 18:44:04.56
初心者であっても必要性を感じた人ならコマンド一覧を見れば使い方も分かると思う
が、必要な場面に遭遇してない人ならコマンド一覧を見たって
「へーこんなのあるんだ。何に使うんだろ?」って感じるだけだろう

549 :デフォルトの名無しさん:2013/10/06(日) 22:39:53.25
>>544
冗長になると思って端折ってしまったのは良くなかった。
「『基本的な正規表現』のみを使用した汎用的なパターン」と言うべきだった。
・ 先読みまでサポートしたものを『基本的な正規表現』の環境と思っている。
ですね。もちろんプラスだと思ってるよ。
>>545>>546
そうかもしれない。けど、先に戻り読みを知るよりはずっと良いと思う。
>>547
完全に同意する。
同様に、[0-9],[0-9]のパターンを完全独力で導き出したのだとしたら、かなりセンスいいよね。
それが出来るなら置換マジックもすぐ理解できると思った。
ついでに言うと、「マッチはさせない検索条件」=「文字ではなく位置にマッチする検索条件」
だよね。大抵これが解説されておらず、学習者を混乱させる原因になっている。

550 :デフォルトの名無しさん:2013/10/06(日) 23:18:54.68
>>539
初心者にとってかなり難しいものなら・・
http://funcchan.blog16.fc2.com/blog-entry-39.html

普段から正規表現を触ってる人なら3分でループ展開まで出来ちゃうけどね。

551 :デフォルトの名無しさん:2013/10/06(日) 23:31:28.62
普段から正規表現やってる人って
普段何やってるの?

関数にするから、同じ正規表現を書くなんて
めったにないはずだし、
なかなか覚えられるものじゃないはずなんだが。

552 :デフォルトの名無しさん:2013/10/06(日) 23:54:20.30
>>551
自然言語で書かれたウェブサイトを解析するアルゴリズムの研究開発

553 :デフォルトの名無しさん:2013/10/06(日) 23:56:17.74
つまんなそうw

554 :デフォルトの名無しさん:2013/10/07(月) 00:03:14.04
>>549
>ついでに言うと、「マッチはさせない検索条件」=「文字ではなく位置にマッチする検索条件」
>だよね。大抵これが解説されておらず、学習者を混乱させる原因になっている。

確かにそうかもな。
手持ちのPerlやRubyの解説本を読んだけど説明不足なのが多いと思った。
行頭とか行末について説明する時に一緒に解説するといいのかもね。
これができるとエディタとかの置換でも応用効きそうだし。

555 :デフォルトの名無しさん:2013/10/07(月) 01:29:47.61
>>551
普通のWebデベロッパだが至るところで使いまくりだけど…?
ちょっとした文字列の解析なんて至るところで登場するだろ

556 :デフォルトの名無しさん:2013/10/07(月) 01:48:12.84
>>550の解き方は解き方の定番の1つ。数学の公式みたいなもので他に応用が効くんだよ。

557 :デフォルトの名無しさん:2013/10/07(月) 02:09:14.18
>>8の本では /* ここはコメントよ */ にマッチする正規表現の作り方として出てくる解法。

558 :デフォルトの名無しさん:2013/10/08(火) 01:20:35.79
>>555
まさか、同じ正規表現を
何回も書いていたりしないよね?
DRY

559 :デフォルトの名無しさん:2013/10/08(火) 14:38:31.50
>>551
grep,sed,awk。基本ワンライナーで使い捨て。用途はやっぱりログを見るのが多いかな。あとはウェブスクレイピングとか。毎回違うし、ライブラリ化しない。

560 :デフォルトの名無しさん:2013/10/08(火) 16:29:30.57
>>558
難しいものは共通化して簡単なものはリテラル

561 :デフォルトの名無しさん:2013/10/08(火) 18:15:42.63
簡単なものでもリテラルにする必要ないでしょ?
関数にしちまえよ。

562 :デフォルトの名無しさん:2013/10/08(火) 20:35:25.89
なんか普段から正規表現を触ってる人が同じ正規表現を作ってると思い込んでない?

>>550の問題なんか見た瞬間に簡単な問題だなって思う程度の問題だよ?
俺なら>>550のサイトに書いてある正規表現よりずっといい正規表現を作れる。
まったく別のアプローチからね。

>>8の本読めば解けるようになるから正規表現が好きなら読めばいいと思うよ。

563 :デフォルトの名無しさん:2013/10/08(火) 22:02:57.90
>>562
ぜひご披露願います。もちろん先読みを使わずに、だよね?
自分は簡単だとは思わなかったな。ループ展開っていうのも分からない。
現物合わせの場合分けでは無いということかしら。

それと、このページかなり昔に見たな〜。
その時も思ったけど、練習用にテスト文字列が用意されてればいいのに。
ということで用意しました。

AA0000AA
AA000AAA
AA00A0AA
AA00AAAA
AA0A00AA
AA0A0AAA
AA0AA0AA
AA0AAAAA
AAA000AA
AAA00AAA
AAA0A0AA
AAA0AAAA
AAAA00AA
AAAA0AAA
AAAAA0AA
AAAAAAAA

564 :デフォルトの名無しさん:2013/10/08(火) 22:33:21.30
>>563
>ぜひご披露願います。
>>8の本の270ページ前後を読んで。俺の言ってるアプローチというのはこれのことだから。
俺が本の内容をココに書いたら営業妨害になるんで・・

>もちろん先読みを使わずに
yes

>ループ展開っていうのも分からない
正規表現 ループ展開 でぐぐれば出てくるよ。

565 :デフォルトの名無しさん:2013/10/08(火) 22:44:48.06
>>564
いや、とりあえず↓この模範解答だけ教えてよ。

>俺なら>>550のサイトに書いてある正規表現よりずっといい正規表現を作れる。
>まったく別のアプローチからね。

この問題を解決する正規表現パターンを提示することは営業妨害にならないでしょ。

566 :デフォルトの名無しさん:2013/10/08(火) 22:52:37.04
俺忙しいから無駄なことしたくない。おやすみ^^

567 :デフォルトの名無しさん:2013/10/08(火) 23:20:17.38
>>566
あなたは件のサイトの解法とはまったく別のアプローチからずっといい正規表現を作れるけど、
作るのと検証にはかなり時間がかかるからヤダ、っていうことかな。
「3分でループ展開まで出来ちゃう」人とは別人だったのか。残念。


しかし、口ばっかりで自前の正規表現を出さない人が増えたなー。
私がこのスレを見始めた頃は、ふらりと現れてすごい正規表現を置いていく兄さん方がたくさん
いた記憶があるんだけど。
一つ疑問を投稿すれば分かるまで正規表現エンジンの動きを解説してくれて、とても感謝した。

自分がネット独学で十分な技量を身に付けてしまったから、相対的にそう思えるのかな。
でも、O'Reillyの本読んで学問的に探求できるほど頭良くないんだよね、残念ながら。

568 :デフォルトの名無しさん:2013/10/09(水) 00:11:26.19
>>567
やっくんの追悼にコレ見るのに忙しいんだよ・・おまえも見ろよ・・
http://www.youtube.com/watch?v=DhA8TUn_DVY

見たら作ってあげるよ。

569 :デフォルトの名無しさん:2013/10/09(水) 00:50:23.49
>>568
お笑い詳しくないし、やっくんのこともほとんど知らんけど、他界したという速報を
聞いたときショックだったわ。なんか親しみある人だった。
てか、声優としてキャリアあったのか。

>見たら作ってあげるよ。
私に見ろってことかい!
作る気あるならすぐに出す、無いなら引っ張らない。どっちかにせい。

570 :デフォルトの名無しさん:2013/10/09(水) 01:20:10.11
時間稼ぎw

571 :デフォルトの名無しさん:2013/10/09(水) 01:33:01.12
横からちょっとコメントしますよ
エディタだとダメかも知れないけど
^AA.*AA.*AA$|(.*)
で$1を使うという方法がある

572 :デフォルトの名無しさん:2013/10/09(水) 03:15:53.16
^AA[^A]*(A[^A]+)*AAA?$

                                  /\___/ヽ
    (.`ヽ(`> 、                      /''''''   '''''':::::\
     `'<`ゝr'フ\                 +  |(●),   、(●)、.:| +
  ⊂コ二Lフ^´  ノ, /⌒)                 |  ,,,ノ(、_, )ヽ、,, .::::|
  ⊂l二L7_ / -ゝ-')´                .+ |   `-=ニ=- '  .::::::| +
       \_  、__,.イ\           +     \   `ニニ´  .:::/    +
        (T__ノ   Tヽ        , -r'⌒! ̄ `":::7ヽ.`- 、   ./|
         ヽ¬.   / ノ`ー-、ヘ<ー1´|  ヽ | :::::::::::::ト、 \ (  ./ヽ 
          \l__,./       i l.ヽ! |   .| ::::::::::::::l ヽ   `7ー.、‐'´ |\-、

573 :571:2013/10/09(水) 09:41:10.95
間違った
もっと絞らなきゃいけなかったね
簡単だから修正して

考え方
文字列xyzを含まない → 文字列xyzを含むものを除いた残り
.*xyz.*|(.*)

574 :デフォルトの名無しさん:2013/10/09(水) 10:13:55.36
冗長レス、低脳AA、すべて不要なんだよ補欠ども。
だからレギュラーが取れないんだよ。補欠表現者ども。

有益な情報のみ貼り付けろ。

それ以外はてめーのケツの穴にでも突っ込んどけ補欠ども。

575 :デフォルトの名無しさん:2013/10/09(水) 14:57:53.72
本買えばいいじゃん。このスレに張り付いてても本読んだ人から見たらゴミみたいな
正規表現しか書けないぞ。

カネが無いなら初版の中古本を買うといい。びっくりするくらいの値段で買えるぞ。
http://www.amazon.co.jp/dp/4900900451

内容はおまえが思ってるほど難しくはない。基本的なことを繰り返し何度もしつこく
説明している印象が強い。ただプログラミング経験者でないとつらい。

あと他人に当り散らすのはやめろ。正規表現道を極めたいなら人間的にも成長しろ。
感情をコントロールしろ。周りの人間を威嚇するな、バカ犬じゃあるまいし。

576 :馬鹿1号:2013/10/12(土) 04:56:33.09
正規表現練習って、ググったら多分すぐ出てくる
正規表現練習ツールってのが出てくると思うけど
あれ俺が作ったんだわ。で、今、ソース非公開にしてるけど
理由は、C#を勉強していて正規表現ってのを使いこなせる
ように練習ソフトって無いかなーと思ってググったけど無いんで
じゃ、作っちゃおと思ったのがきっかけで、そんで作ったは良い
けど全然自分で使ってなくて、で、改良していったのは良いんだ
けど、今、見直してもソースがグチャグチャでコメントもろくに
いれてないしで、正直、恥ずかしいからソース非公開にしたん
だけど、やっぱソース公開したほうが良いのかな?
恥ずかしいんだよなー
スレ違いだけど、公開したほうが良いですかね?

577 :デフォルトの名無しさん:2013/10/12(土) 06:01:54.21
>>576
Visual REGEXPってお前が作ったのか。すげーな。
http://laurent.riesterer.free.fr/regexp/

578 :馬鹿1号:2013/10/12(土) 06:34:18.03
>>577
違うよ
正規表現練習ツールってやつです。

579 :デフォルトの名無しさん:2013/10/12(土) 07:03:40.49
Visual REGEXPしかしらん

580 :デフォルトの名無しさん:2013/10/12(土) 12:00:06.08
へえ 使ってみよう

581 :デフォルトの名無しさん:2013/10/12(土) 16:33:55.55
>>575
2冊売れてるw

582 :デフォルトの名無しさん:2013/10/12(土) 18:20:46.78
>>581
思ったより安かったので、つい横からポチった俺…

583 :デフォルトの名無しさん:2013/10/12(土) 19:10:13.27
初版だとこれが読めるんだよね。現行版には無いJSの正規表現の解説もある。
http://d.hatena.ne.jp/kazu-yamamoto/20090617/1245202311

584 :デフォルトの名無しさん:2013/10/13(日) 16:02:51.65
ちょw 最低価格が232円だったのが1250円になってるw

585 :デフォルトの名無しさん:2013/10/13(日) 16:50:12.81
>>573
問題の主旨は

「htmlソースの中から <p>xyzを含まない文字列</p> を検索したい」

みたいな場合に使える正規表現を作ること。
htmlソースの他の部分にxyzがあっても動作することが求められる。

>>571は手段の1つとしてはアリ。
欠点は全ての行にマッチしてしまうので置換結果をテストしないと
求める行かどうか分からない。つまり二度手間になる。

586 :デフォルトの名無しさん:2013/10/13(日) 17:44:46.10
そもそもその「置換結果をテスト」の内容がやりたい置換作業じゃねえの?

全部の行をそっくりコピペで貼付けたあと、必要ない行を一行ずつテストして
消していいならどんな複雑な置換でもできちゃうよ。

587 :デフォルトの名無しさん:2013/10/13(日) 18:19:02.66
あんな複雑な正規表現を作らなくても出来る方法がある、と言いたかったんだと思う。
そういうことに気付くのも実用上は重要だったり。

588 :デフォルトの名無しさん:2013/10/13(日) 18:21:34.53
あと>>572の正規表現だけどあれはA[^A]を軸にして作っているが
[^A]Aを軸にして作ることも出来る。これが別のアプローチ。
興味のある人は作ってみてね。

589 :デフォルトの名無しさん:2013/10/13(日) 23:35:14.37
>>585
>>571>>573は同一人物で>>571は欠点があるから修正してねってのが>>573じゃねーの?
こういうことだろ
^AA.*AA.*AA$|^(AA.*AA)$

590 :デフォルトの名無しさん:2013/10/13(日) 23:52:56.83
>>589
>>585はそれを理解したうえで書いたものだけど、どう誤解されたのか気になる。

591 :デフォルトの名無しさん:2013/10/14(月) 00:02:00.73
>「htmlソースの中から <p>xyzを含まない文字列</p> を検索したい」
>htmlソースの他の部分にxyzがあっても動作することが求められる。
>欠点は全ての行にマッチしてしまうので置換結果をテストしないと
>求める行かどうか分からない。つまり二度手間になる。
どうして?

592 :デフォルトの名無しさん:2013/10/14(月) 00:33:04.61
>>591
<html>xyz<p>ABC</p></html>

から

<p>xyzを含まない文字列</p>

を検索したいとする。(この場合は <p>ABC</p> をマッチさせたい。)
こういう場合に .*xyz.*|(.*) では役に立たない、というのは分かるかな?

>>550のサイトではこういう場合に使える正規表現の作り方を解説している。
逆に言えばこういう場合に使えない正規表現は問題の主旨から外れてしまう。

593 :デフォルトの名無しさん:2013/10/14(月) 00:51:01.14
いや俺が言ってるのは
^AA.*AA.*AA$|^(AA.*AA)$
を理解した上でってことだったから重ねて質問したまで
つまり
<p>.*xyz.*</p>|(<p>.*</p>)
を想定した上での質問

594 :デフォルトの名無しさん:2013/10/14(月) 00:52:01.71
>>591
>二度手間になる。

ごめん、これはプログラムの中で正規表現を使うときの話ね。

テキストエディタで使うときは置換結果をテストする必要がないので
(いらない行が空行になるので一目瞭然だ)二度手間にはならない。

595 :デフォルトの名無しさん:2013/10/14(月) 01:10:29.07
>欠点は全ての行にマッチしてしまうので
>それを理解したうえで書いたものだけど
どっちかがウソだよね?

596 :デフォルトの名無しさん:2013/10/14(月) 01:29:12.68
すべての行にマッチしまうってそもそもダメだろw
自分でおかしいと思わないのかな?

597 :デフォルトの名無しさん:2013/10/14(月) 02:12:48.03
あまちゃんすぎてすみません。

正規表現でマッチングしたいっていうところなんですが、

ソースが

まどかほむらマミさんまどかマミさんまどか

とあった時に、最初の「まどか」から二回目の「まどか」までを選択したいんです。


まどかほむらマミさんまどか

この範囲です。



ただ、このとき、ほむらとマミさんは不確定な内容だもんで、正規表現を使いたいというところです。

このときに、
まどか.+まどか
でマッチングすれば

まどかほむらマミさんまどか

が出て来てくれると思ったんですが
最後のまどかまで拾ってしまいます。

上のソース、最初から最後まで拾ってしまいます。

.+の後の要素が始めて出てきた時点で、そこまでを範囲とするような指定はできませんでしょうか?

598 :デフォルトの名無しさん:2013/10/14(月) 02:18:23.85
まどか.+?まどか

599 :デフォルトの名無しさん:2013/10/14(月) 02:19:36.07
ほむらちゃんの正規表現巻き戻し機能を使うしかないな。

600 :デフォルトの名無しさん:2013/10/14(月) 02:27:18.28
>>598
ありがとうごさいます。バッチリです。

>>599
因果の糸が絡むと「まどか」が増えそうなのでやめておきますね。

601 :デフォルトの名無しさん:2013/10/14(月) 04:09:09.19
最長マッチにかかって悩むレベルならwebprogに帰れよ

602 :デフォルトの名無しさん:2013/10/14(月) 14:33:53.13
><p>.*xyz.*</p>|(<p>.*</p>)
>を想定した上での質問
なにが?
>どっちかがウソだよね?
どうして?

603 :デフォルトの名無しさん:2013/10/14(月) 15:00:10.08
あんたって、ほんとバカ

604 :デフォルトの名無しさん:2013/10/14(月) 22:13:23.08
>こういう場合に .*xyz.*|(.*) では役に立たない、というのは分かるかな?

これが分かってないんだね。<p>.*xyz.*</p>|(<p>.*</p>)でも使いものにならないんだよ。
それを分からずに人のことを誹謗中傷するとか・・

605 :デフォルトの名無しさん:2013/10/15(火) 03:06:49.12
>>550のテスト用テキストに^AA.*AA.*AA$|^(AA.*AA)$を適用すると全行にマッチする。
全行にマッチしないと言ってる人は何を対象に適用させる話をしてんだろう?そんな話はしてないのにね。

606 :デフォルトの名無しさん:2013/10/15(火) 15:28:01.48
先に<p></p>で囲まれた文字列をmatchさせてそれに対して使えばいい

それより.*xyz.*|(.*)の考え方じゃないのなら、
>俺なら>>550のサイトに書いてある正規表現よりずっといい正規表現を作れる。
>まったく別のアプローチからね。
をぜひ披露してもらいたいな
まさか、>>588のことじゃないだろうしね

607 :デフォルトの名無しさん:2013/10/15(火) 19:57:35.48
>>588のヒントで作れるぞ、俺は作れたし。もしかして作れないの?

608 :デフォルトの名無しさん:2013/10/15(火) 21:28:48.72
>先に<p></p>で囲まれた文字列をmatchさせてそれに対して使えばいい

これは酷い

609 :デフォルトの名無しさん:2013/10/16(水) 02:11:37.86
本早く届かないかなー

610 :デフォルトの名無しさん:2013/10/18(金) 01:20:07.44
(?^: regexp )

perlで何故かこれが動いた。

611 :デフォルトの名無しさん:2013/10/18(金) 01:23:06.98
ttp://hodade.adam.ne.jp/seiki/page.php?checker2
/z$/がマッチしない

612 :デフォルトの名無しさん:2013/10/18(金) 01:30:53.00
マッチをするたびに、暖かい料理や暖炉の幻影がみえて、朝になると死んでた

613 :デフォルトの名無しさん:2013/10/18(金) 04:27:50.63
マッチをするたびに、暖かい料理や暖炉の幻影がみえて、朝になると死んでたは甘え
マッチするたびに痴漢されて慰謝料で生活費を荒稼ぎするくらいの気概がないと

614 :デフォルトの名無しさん:2013/10/18(金) 18:50:19.80
いわゆる性器表現で痴漢という奴ですね。

615 :デフォルトの名無しさん:2013/10/18(金) 19:00:48.58
漏れのマッチをするな

616 :デフォルトの名無しさん:2013/10/19(土) 02:16:22.39
>>611
/z\r$\n^/m
$は\rと\nの間にマッチ

617 :デフォルトの名無しさん:2013/10/19(土) 23:32:43.05
>>610
winのコマンドプロンプトだと動くね。
C:\>perl -e "if('123' =~ \"(?^:2)\"){print \"match\";}"
しかし同じコードをperl test.plで起動しても動かない。

618 :デフォルトの名無しさん:2013/10/20(日) 05:43:49.29
>>617
こちらではplでも動作した。if('123' =~ "(?^:2)"){print "match";}

619 :デフォルトの名無しさん:2013/10/20(日) 09:40:06.18
>>592のxyzを含まない文字列を
http://www.kt.rim.or.jp/~kbk/regex/regex.html#NOTINCLUDED
で作ってみた。
(((([^x]*)*(x+[^y][^x]*)*)*)*(x+[^z][^x]*)*)*
実験してみたらxyzを含む文字列にマッチ。駄目じゃん。

620 :デフォルトの名無しさん:2013/10/20(日) 10:16:31.31
([^x]*)* = [^x]*
こういう無駄が多いね。

621 :デフォルトの名無しさん:2013/10/20(日) 10:53:48.13
Perlで以下のようなHTMLの
<select id="select_id">
<option value="option_value1">あ
<option value="option_value2">い
<option value="option_value3">う
</select>

selectタグのidとその中にあるoptionタグのvalueを

$hash->{select_id} = [
 option_value1,
 option_value2,
 option_value3,
]

のようなデータを作っていくようなコードではどのような正規表現を使えばいい?

実際のHTMLと同じで、selectやoptionにはその他の属性があったり
selectは複数あったりするという前提。selectの閉じタグがないとか
壊れたHTMLまでは対応しなくていい。

一旦select+optionを抜き出してから、その中のoptionを探すか、
正規表現一つで一度に処理するかなやんでるんだ。

622 :デフォルトの名無しさん:2013/10/20(日) 12:32:04.00
perlでその処理が必要ってのが謎すぎる。まー、やりたい方法でやればいいんじゃね。

623 :デフォルトの名無しさん:2013/10/20(日) 12:39:19.60
>>619
otbeditで動かしてみたらotbeditが異常終了したw

624 :デフォルトの名無しさん:2013/10/20(日) 12:40:06.61
>>622
それは他の処理をするプログラムの一部だから。
全体的にperlで書かれていて、この部分だけ
perl以外を使おうとする発想は普通ない。

625 :デフォルトの名無しさん:2013/10/20(日) 12:53:38.44
なるほど、HTMLを走査する処理をperlでやる機会が無かったから不思議に思ったw
正規表現は俺が作るなら・・正規表現を使わずに文字列操作関数で作る。動作が早いし。

626 :デフォルトの名無しさん:2013/10/20(日) 13:14:23.34
文字列操作関数だと長くなるでしょ?
さくっと取り出したいのよ
selectのid部分とoptionのvalue部分を

627 :デフォルトの名無しさん:2013/10/20(日) 13:23:16.90
なる、特定のidから取る訳じゃないのか。なら\Gと/cを使うとラクチンだよ。
\Gは文頭と前回マッチした最後の位置にマッチする。
/cは前回マッチした位置から検索を始めるオプション。

628 :デフォルトの名無しさん:2013/10/20(日) 15:15:35.64
>>621
そこまで条件つけるならHTMLパーサ使えば。

629 :デフォルトの名無しさん:2013/10/20(日) 18:19:44.18
>>627
了解調べてみる。

>>628
メインの処理の最後に挟み込む、
簡易なフィルタ扱いなので、
なるべく軽くしたい。

630 :デフォルトの名無しさん:2013/10/20(日) 20:39:00.98
>>629
ならそういう省略されたhtmlとか諦めた方がいいんじゃない。

631 :デフォルトの名無しさん:2013/10/20(日) 23:14:03.26
何が分からなくて来たのか分からない。

632 :デフォルトの名無しさん:2013/10/21(月) 00:41:04.91
>>639
省略されたhtmlってなんのことですか?

633 :デフォルトの名無しさん:2013/10/21(月) 03:33:17.96
</option>で閉じてないってことじゃない

634 :デフォルトの名無しさん:2013/10/21(月) 06:56:03.62
^AAA?([^A]+A)*[^A]*AA$

635 :デフォルトの名無しさん:2013/10/21(月) 11:40:02.69
>>619

^
[^x]*
(
x+
(
[^xy]
|y[^xz]
)
[^x]*
)*
(x+y?)?
$

636 :デフォルトの名無しさん:2013/10/21(月) 11:49:37.40
>>3
正規表現クックブック
http://www.amazon.co.jp/dp/4873114500

637 :デフォルトの名無しさん:2013/10/22(火) 01:36:42.83
>>635
これもAAのと同じように別のアプローチで違った正規表現が作れる。
これ自体ももっと早く動くように最適化する余地が残っている。

>>634>>572、どっちが良い正規表現か、という問題もある。

本を読めばこんなのが簡単に分かる。読まない奴はそこまでだ。

638 :デフォルトの名無しさん:2013/10/22(火) 05:51:45.72
スピードラーニングみたいでつね

639 :デフォルトの名無しさん:2013/10/22(火) 06:31:27.14
本を持ってる人はまず素晴らしい正規表現を作って見せてください
回答例を一つも出さないとか理解できません
大口叩いてるだけでは本に対する印象が悪くなり逆効果です

640 :デフォルトの名無しさん:2013/10/22(火) 12:15:43.30
つ <p>.*xyz.*</p>|(<p>.*</p>)

641 :デフォルトの名無しさん:2013/10/23(水) 00:29:24.06
"0000000000"のような文字列を用意しておいて、"123" のような
任意の文字列を"0000000123"のように置き換えるのって簡単にできますか?
置き換える方の文字列は3桁じゃなくて、いろんな数字があり得ます。

C言語でいうsprintf(%10d, 123)みたいなフォーマットを正規表現で簡単に
再現できますか?

642 :デフォルトの名無しさん:2013/10/23(水) 00:53:43.42
何で正規表現でやろうとするんだろう
(00000000000000の桁数)-(123の桁数)の0を用意して123を引っ付ければ良いだけでは

643 :デフォルトの名無しさん:2013/10/23(水) 00:56:10.12
テキスト中に幾つも数字列があってそれを"0000000000"で一気に書き換えたいってことだと

644 :デフォルトの名無しさん:2013/10/23(水) 01:10:22.77
Q:〜みたいな置き換えやりたいんですけど。
A:最初からそういう文字列作ればいい。

なんでも通用する最強の回答だなw

645 :デフォルトの名無しさん:2013/10/23(水) 01:14:58.01
最初からそういう文字列作ればいいって
誰が言ってるの?

646 :デフォルトの名無しさん:2013/10/23(水) 01:50:49.38
wsh(jscript)だけど
replace(/(\d+)/g,"0000000000$1").replace(/\d*(\d{10})/g,"$1")
と2回置換ではダメ?(10桁より多い数字列があったら頭がちょん切れるけど)

647 :デフォルトの名無しさん:2013/10/23(水) 01:57:25.65
おまえら難しく考えすぎ。

質問は

「簡単に出来るか?」

その答えにふさわしい回答は

「はい」



「イエス」

だ。

648 :デフォルトの名無しさん:2013/10/23(水) 01:59:48.65
は、い いえっす

649 :デフォルトの名無しさん:2013/10/23(水) 02:00:19.35
徘徊江洲だ

650 :デフォルトの名無しさん:2013/10/23(水) 02:15:07.37
>>646
だめ。一回でできますので頑張ってください。

651 :デフォルトの名無しさん:2013/10/23(水) 02:49:07.91
そろそろ環境言えよボンクラ

652 :デフォルトの名無しさん:2013/10/23(水) 03:05:44.15
こういうとこで真面目に回答してるような奴は大成しない。
こんなことしてる時間と熱意を自分のために使うべきという発想が無いから。

653 :デフォルトの名無しさん:2013/10/23(水) 03:10:30.84
いいよもう大成とか諦めてるから

654 :デフォルトの名無しさん:2013/10/23(水) 03:15:44.15
エンコしてる傍らで暇つぶしにこのスレ見てるんで
真面目に考えてる時間を別のものに振り替えるものがない
ボケーとしてるくらいなら考えてた方がマシ

655 :デフォルトの名無しさん:2013/10/23(水) 03:22:14.86
そんなに時間あるなら>>635これの別バージョン作れよ。あと2パターン作れるぞ。

656 :デフォルトの名無しさん:2013/10/23(水) 03:30:58.17
あんがとさん
暇つぶしのネタが増えた

657 :デフォルトの名無しさん:2013/10/23(水) 03:44:03.02
s#(\d+)\d{3}/${1}123/

658 :デフォルトの名無しさん:2013/10/23(水) 03:45:34.70
まちがえた
s/(\d+)\d{3}/${1}987/

659 :デフォルトの名無しさん:2013/10/23(水) 08:57:06.18
>>654
何をエンコしてるか、そこが重要だ。のんのんびよりだったら許す。

660 :デフォルトの名無しさん:2013/10/23(水) 09:21:50.75
いや別に他のでもいいけど、ちょっと気になっただけ。

661 :デフォルトの名無しさん:2013/10/23(水) 20:44:07.52
>>644-645
クソワロタw

662 :デフォルトの名無しさん:2013/10/23(水) 22:06:06.77
●Regular Expressionの使用環境
Visual C#

●検索か置換か?
検索

●説明
同じ文字が5回以上繰り返されている箇所のある行を検索したい

●対象データ→結果
うわあああああい → マッチ
aaaaaaaa      → マッチ
あいあいあい   → マッチせず

663 :デフォルトの名無しさん:2013/10/23(水) 23:09:26.57
宿題は自分でやれ

664 :デフォルトの名無しさん:2013/10/23(水) 23:37:53.07
>>661
自演乙

665 :デフォルトの名無しさん:2013/10/24(木) 01:19:42.05
>>662
.*(.)\1{4}.*
Visual C#での動作は確認していない。

666 :デフォルトの名無しさん:2013/10/24(木) 01:54:55.50
>>665
> >>662
> .*(.)\1{4}.*
> Visual C#での動作は確認していない。

自分もC#での動作は確認してないけど
頭と尻の「.*」は無くてもいいと思う

667 :デフォルトの名無しさん:2013/10/24(木) 02:07:48.74
え、「行を検索したい」とのことなんだが、違うかな?

668 :デフォルトの名無しさん:2013/10/24(木) 02:18:39.07
まあ大抵の正規表現では行単位てのがデフォルトなんで
そこを厳密にしたいのなら前後に「^」と「$」をつけるべきかと

669 :デフォルトの名無しさん:2013/10/24(木) 02:53:07.78
何も調べずに質問してくるアホの相手してたらキリが無い。

670 :デフォルトの名無しさん:2013/10/24(木) 03:19:17.03
>>668
マッチ範囲を検索語句のみか行全体にするかという話だよ?
それに、ヘタに「^」や「$」を付けると複数行テキストの文頭・文末になるぜっ!
>>669
十分ネタになってるからいいよ。

671 :デフォルトの名無しさん:2013/10/24(木) 03:24:21.91
.*から始まる正規表現をスレに貼るのは私は何も知りませんって言ってるようなもん。

672 :デフォルトの名無しさん:2013/10/24(木) 03:32:00.09
なんで?
理屈なしに批判だけでは分からんぞ。

673 :デフォルトの名無しさん:2013/10/24(木) 03:34:08.77
>>670
> マッチ範囲を検索語句のみか行全体にするかという話だよ?
俺には最初の質問は
> 同じ文字が5回以上繰り返されている箇所のある行を検索したい
これは普通にマッチした検索語句がある行を検索したい、って読めるけどな
検索を行全体にしたいてのは>>667の勝手な解釈では?

674 :デフォルトの名無しさん:2013/10/24(木) 03:43:43.82
>>673
だとすると、質問者が真に問うてたことはこういうことだと?
△ 同じ文字が5回以上繰り返されている箇所のある行を検索したい
○ 同じ文字が5回以上繰り返されている箇所を検索したい

675 :デフォルトの名無しさん:2013/10/24(木) 03:48:51.49
アホくさ、本読もう。

676 :デフォルトの名無しさん:2013/10/24(木) 06:17:55.74
何も調べずに質問してくるアホが回答者やってるようなもんだな。何も調べずに教える。
本人は親切のつもりで極悪コード貼るからたちが悪い。

677 :デフォルトの名無しさん:2013/10/24(木) 07:34:10.45
>>668
> まあ大抵の正規表現では行単位てのがデフォルトなんで
grepなら大抵のテキストエディタがそうだろうけど、
今回はプログラミング言語について質問してるんだから、
同じ文字が5連続以上続いている行全体を配列かハッシュにでも突っ込んで、
何らかの処理を行おうとしてるんじゃないの?

後はこの質問が行全体ではなく5連続以上の同じ文字のみにマッチさせたいということであれば、
{n,}の構文が.net Frameworkの正規表現でサポートされていないといけないんだけど、
{n,}で直前文字のn回以上の繰り返しがはサポートされてない環境も多いよね

678 :デフォルトの名無しさん:2013/10/24(木) 09:01:24.67
>>665-666
大変助かりました。自分なりに思考錯誤してたんですが、うまくいかず

>>677で指摘されてるとおり、今回は行全体を抽出して
それをある処理にかけたいと思っていた次第です。

言葉足らずで申し訳ないです。

ですので、教えていただいた正規表現を元に

^.*(.)\1{4,}.*$

としたものを組み込んで試してみることにしました。
({n,}は.net Frameworkの正規表現でサポートされていると思います)

ありがとうございました

679 :デフォルトの名無しさん:2013/10/24(木) 10:15:23.35
>>678
説明するときは、↓このようにマッチ範囲も書くといいね。
らめぇぇぇぇぇぇっ! → 全体にマッチ

>^.*(.)\1{4,}.*$
あれ、>>677をよく読んだほうがいいな。そのままでも実害はないけど、
{4,}は「行全体ではなく5連続以上の同じ文字のみにマッチさせたい」ときだよ。
その場合は(.)\1{4,}とする。
「^」と「$」も気になるね。まあ使い方で問題が出なければヨシだが…。
あるだけ盛ればいいってもんじゃないから、きちんと理解して使ってみてね。

680 :デフォルトの名無しさん:2013/10/24(木) 11:24:15.27
↑メンヘラ臭がする

681 :デフォルトの名無しさん:2013/10/26(土) 13:28:45.89
>>678
サポートされてるね
ttp://msdn.microsoft.com/ja-jp/library/az24scfc(v=vs.110).aspx#quantifiers
ttp://msdn.microsoft.com/en-us/library/az24scfc(v=vs.110).aspx#quantifiers
{n,}
Matches the previous element at least n times

というかPerlフォロワーのモダンな正規表現でサポートされてないことはまずない

例外は{,m}だと思う
{0,m}や {1,m}で代用できるから正規表現エンジン側が実装する必要がないし

682 :デフォルトの名無しさん:2013/10/27(日) 13:23:00.80
あれ、第三版の中古本も値段上がってる。英語版の新品より高いとか・・w

683 :デフォルトの名無しさん:2013/10/27(日) 13:48:00.01
>>636は英語版の第2版が出てるからそのうち日本語版も出るのかな?

>>8は英語版が2006/8発売だから最新版とはいえ情報が古くなってる・・。
偶然にも2006/8はrubyに採用された正規表現エンジン・鬼車が初めて公開された月でもある。
当然第三版には鬼車(鬼雲)の正規表現は載ってない。

684 :デフォルトの名無しさん:2013/10/27(日) 14:27:51.39
鬼車ってなんか怖いな
ゲゲゲの鬼太郎の猛霊八惨あたりが使いそう

685 :デフォルトの名無しさん:2013/10/27(日) 14:53:56.69
鬼車は柔道技

686 :デフォルトの名無しさん:2013/10/28(月) 08:41:50.69
検索しても柔道一直線の方しか出てこないな
本物の柔道技じゃないんじゃまいか

687 :デフォルトの名無しさん:2013/10/29(火) 20:44:29.72
肩車なら知ってる

688 :デフォルトの名無しさん:2013/10/30(水) 05:42:53.26
>>635
ところでこれの別解答は?

689 :デフォルトの名無しさん:2013/10/30(水) 19:56:45.01
●Java1.5
●検索
●真ん中のAを否定 かつ Aが含まれる にマッチするか

●対象データ 3桁限定
ABC true
BAC false
CBA true
DEF false

.*1.* & ^.[^9].*
こんな正規を使ったのですができませんでした。
宜しくお願いします。

690 :デフォルトの名無しさん:2013/10/30(水) 20:54:10.30
>>689
まず、何でそんな正規表現を試そうと思ったのか理解不能

691 :デフォルトの名無しさん:2013/10/30(水) 21:19:15.35
(A[^A].)|(.[^A]A)
こういうやつかな?
Javaでどう書くのか知らないけど。

692 :デフォルトの名無しさん:2013/10/30(水) 21:21:37.57
なんで正規表現のスレにOniguruma知らない奴が来てるんだ

693 :デフォルトの名無しさん:2013/10/30(水) 22:03:05.57
<<691
ありがとうございます。
でも、できませんでした。

http://java-regex-tester.appspot.com/
(1[^1].)|(.[^1]1)

012 false
102 true
021 false

右辺単独だとできるんですが

694 :デフォルトの名無しさん:2013/10/30(水) 22:05:14.69
<<690
あ、試してるクエリー確認せず張っちゃいました。。。

695 :デフォルトの名無しさん:2013/10/30(水) 22:12:23.46
括弧つけたのがダメだったみたいだね。
1[^1].|.[^1]1
これでいけた。

696 :デフォルトの名無しさん:2013/10/30(水) 22:31:39.76
ありがとうございます!
プログラムで使うクエリーを色々試してるんですが、
条件が3、4個の複雑なクエリーだとどこが間違ってるのか、
頭がこんがらがってきちゃって

697 :デフォルトの名無しさん:2013/10/30(水) 22:43:28.88
記号の羅列だからプログラミングよりも理屈が必要なので、最初はそんなもんだよ

698 :デフォルトの名無しさん:2013/10/30(水) 22:58:32.90
>>692
それは数学を語るのにカシオの計算機知らないなんてな。と言っているように聞こえる。

699 :デフォルトの名無しさん:2013/10/30(水) 23:52:42.02
>>698
正規表現は数学ほど理論と実装が分離できてないんで当てはまらんよ。
つか少なくともエンジンの名前について話が逸れてる状態において、
「俺は〜ってエンジンは知らん!」ってのは無知の喧伝にしか見えん。

700 :デフォルトの名無しさん:2013/10/31(木) 00:11:08.31
>>699
程というのは程度の問題。つまりあなたの主観ということですね。私は初歩的な正規表現なら、エンジンの違いを意識する必要はないという主観です。
話題ではなく、>>692でスレへの参加を問題にしてましたので、それに対するレスです。

701 :デフォルトの名無しさん:2013/10/31(木) 00:39:51.75
正規表現よりも前に変な奴には触るなって教わっただろ放っておけよ

702 :デフォルトの名無しさん:2013/10/31(木) 01:54:14.32
たびたびすみません。

3桁の文字に対して、
ABCのいずれかが2つ以上マッチした場合trueを返したいのですが上手くいきません。

194
[841]{2,}
自分はこれでテストしたのですが、、、
http://java-regex-tester.appspot.com/

703 :デフォルトの名無しさん:2013/10/31(木) 02:02:40.81
>>702
お前さあ。。。ここで答えを聞くより先にやるべきことがあるだろ?

704 :デフォルトの名無しさん:2013/10/31(木) 02:39:19.54
(.*[841].*){2}
できました。
グループは試したと思ったんだけどなぁ

705 :デフォルトの名無しさん:2013/10/31(木) 07:24:55.44
ミングに触らずに正規表現覚えた人は^と$が行頭、行末にマッチすると思ってるから注意な。

706 :デフォルトの名無しさん:2013/10/31(木) 08:02:43.93
民具?ming?何?

707 :デフォルトの名無しさん:2013/10/31(木) 09:38:20.19
プログラミングっていうおまえらには無縁な高度な技術があるのよ。

708 :デフォルトの名無しさん:2013/10/31(木) 09:39:40.43
minGW

709 :デフォルトの名無しさん:2013/10/31(木) 09:53:50.26
>>705
まるでそれを否定してるような言い方だけど
それはまさにそれのためでしょ何いってるの

710 :デフォルトの名無しさん:2013/10/31(木) 10:47:33.51
>>709
わらた

711 :デフォルトの名無しさん:2013/10/31(木) 13:32:35.34
>>709
>>611

712 :デフォルトの名無しさん:2013/10/31(木) 17:37:50.76
wshのjscriptで
abc123def456
これのcと1の間とfと4の間だけに一致させる方法ないですかね?
"abc123def456".splitに投げたら["abc", "123def", "456"]が返ってくるのが理想です
後読みが使えたら(?<![0-9])(?=[0-9])でいけるんだけど使えなくて困る

713 :デフォルトの名無しさん:2013/10/31(木) 18:12:54.07
>>721
match(/\d*\D*/g)
で最後のマッチ項目は捨てるのではダメ?

714 :713:2013/10/31(木) 18:17:28.96
いや$のみを弾けばいいのか
match(/[^$]\d*\D*/g).join().split(",");

715 :デフォルトの名無しさん:2013/10/31(木) 23:34:14.22
正規表現のお勧め本について教えて下さい。

716 :デフォルトの名無しさん:2013/11/01(金) 06:33:15.71
ちょっと上にも出てるけど
やっぱ http://www.oreilly.co.jp/books/9784873113593/ っしょ

717 :デフォルトの名無しさん:2013/11/01(金) 19:29:35.79
今読んでるけど知らないことがいっぱいあったよ。\Cはなかなか面白い。

718 :デフォルトの名無しさん:2013/11/02(土) 14:04:08.27
>>717
\Cって初耳なのでkwsk

719 :デフォルトの名無しさん:2013/11/02(土) 15:11:28.83
>>718
マルチバイト文字だろうが問答無用で1バイトにマッチ。

720 :デフォルトの名無しさん:2013/11/02(土) 15:55:31.95
それどう便利なの?
あとどれを同種とみなすかで実装ごとに不安定になりそう。

721 :デフォルトの名無しさん:2013/11/02(土) 16:11:46.87
od xxd しなくて済むじゃん

722 :デフォルトの名無しさん:2013/11/02(土) 17:46:07.83
>>450より

あ = E3 81 82
い = E3 81 84

\xE3\x81\C どっちにもマッチ

723 :デフォルトの名無しさん:2013/11/02(土) 18:07:06.01
面白いね。

724 :デフォルトの名無しさん:2013/11/02(土) 21:49:34.60
面白いといえば鬼車のネスト。中級者向き。
http://d.hatena.ne.jp/atzy/20080910/p1

725 :デフォルトの名無しさん:2013/11/02(土) 22:27:01.57
面白いけどUTF-8はUTF-16かUTF-32扱いで処理して欲しいな。
文字バラバラにされたら溜まったもんじゃない。

726 :デフォルトの名無しさん:2013/11/03(日) 11:08:00.32
\A(?=.\z)\C\C\C\z

3バイトで構成されている1文字にマッチ。$は誤作動の可能性があるので\z

727 :デフォルトの名無しさん:2013/11/03(日) 13:02:38.59
\Zも誤動作の可能性あり?

728 :デフォルトの名無しさん:2013/11/03(日) 13:09:13.01
>>727
最初の\Zともう1つの\Zがマッチする位置が別の位置になる可能性がある。$も同じ。
\zは一か所にしかマッチしないのでそれを回避出来る。

729 :デフォルトの名無しさん:2013/11/04(月) 00:17:22.81
a\X

730 :デフォルトの名無しさん:2013/11/05(火) 19:05:54.94
perlでネスト
http://swatmac.info/?p=716

731 :デフォルトの名無しさん:2013/11/06(水) 17:08:19.55
ネストって入れ子のことだよ。入れ子って分かる?

732 :デフォルトの名無しさん:2013/11/06(水) 17:50:41.39
引き出し役が出し子だから、詐欺で騙された人のことかな

733 :デフォルトの名無しさん:2013/11/06(水) 18:28:08.19
>>731
マトリョーシカですね
わかります

734 :デフォルトの名無しさん:2013/11/07(木) 13:10:19.70
本半分読んだけど本物の教材はやっぱ違うな、というのが率直な感想だった。

ネットの情報は初心者を中級者にすることは出来るけど
中級者を上級者にすることは出来ないと確信した。

ついでにperlの本も買うかな、激安中古本があればだけどw

735 :デフォルトの名無しさん:2013/11/08(金) 19:25:12.92
>>734
俺も今読んでる。完走目指して頑張ろうぜ。

736 :デフォルトの名無しさん:2013/11/08(金) 23:57:02.81
ここ見ながら勉強してるのですが、
>>714
[^$] これはどういう意味でしょう

737 :デフォルトの名無しさん:2013/11/09(土) 00:26:51.49
初めもなければ終わりもない円環の理

738 :デフォルトの名無しさん:2013/11/09(土) 03:25:53.22
[]の最初に^が来た時は残りの物以外になるから、$のみを弾いている。$は終端のこと。
文頭じゃないということを言いたいのかな。あまり見ない表現ではある。

739 :デフォルトの名無しさん:2013/11/09(土) 04:06:33.86
>>738
×文頭
○文末

740 :デフォルトの名無しさん:2013/11/09(土) 06:30:07.34
典型的な間違いにはまってる人多すぎ
[] の中では $ は、$ 自身であって文末ではない。なので [^$] は $ 以外の任意の1文字。
[] の中は別文法。

741 :デフォルトの名無しさん:2013/11/09(土) 07:31:16.65
つまり>>714は実質ほぼ match(/.\d*\D*/g) であって、怪しい表現ということだねー。

742 :デフォルトの名無しさん:2013/11/09(土) 12:14:26.95
>>736
それ書いた者だけど、完全に間違いだから気にしないで
match(/\D+\d*|\D*\d+/g).join().split(",");
もっと良い書き方もあるんじゃないかと思うけど
まだ初心者だからこんな芸の無い書き方しかできないや

743 :デフォルトの名無しさん:2013/11/09(土) 12:17:51.60
アー、\Dと\dの順序がひっくり返ってる
最初の質問を見直せばよかった

744 :デフォルトの名無しさん:2013/11/09(土) 12:30:48.06
>>738-742
書いた方までわずらわせてしまってすみません。
ありがとうございました。

745 :デフォルトの名無しさん:2013/11/09(土) 13:10:54.31
>>740
/http:[/][/]/とかたまに使う。

746 :デフォルトの名無しさん:2013/11/09(土) 14:35:02.62
ここ見ながら勉強しないほうがいい。わりとマジで。

747 :デフォルトの名無しさん:2013/11/12(火) 18:03:10.73
SVG文字列(数字列)処理で困っています(JavaScript)

107.099-47.839 でマイナスの前で区切るため 107.099,-47.839 とカンマを
挿入したく思っています。 ※特定の文字の前に文字を挿入

検索文字列Aを [0-9]-[0-9] として replace()後の文字列Bを指定したいの
ですがググっても後者のBが分かりません。

どう書けば良いでしょうか?

748 :デフォルトの名無しさん:2013/11/12(火) 18:11:35.11
"107.099-47.839".replace(/-/, ",-")
"107.099,-47.839"

749 :デフォルトの名無しさん:2013/11/12(火) 18:20:34.44
"107.099-47.839".replace(/([0-9\.]+)-([0-9\.]+)/, "$1,-$2")
"107.099,-47.839"

750 :デフォルトの名無しさん:2013/11/12(火) 18:24:50.13
ピリオドに\は要らない
/([\d.]+)-([\d.]+)/,'$1,-$2'

751 :デフォルトの名無しさん:2013/11/12(火) 18:26:33.84
A
(?=-)

B
,

752 :747:2013/11/12(火) 18:50:31.45
>>748-751
どうも。 >>750さんの応用 
数字列.replace(/([\d.]+)-([\d.]+)/g, '$1,-$2'); でOKでした

753 :747&752:2013/11/12(火) 19:24:43.93
すいません、 数字列.replace(/([\d.]+)-([\d.]+)/g, '$1,-$2'); では
例題の 107.099-47.839 とか 45.988-108.951 や 68.21-49.691 などは
OKだったのですが、 -3.854-11.644 は区切られませんでした。

このため /(-*[\d.]+)-([\d.]+)/g と前の方に -* を付けたのですが変りません。
どうすべきでしょうか?

754 :デフォルトの名無しさん:2013/11/12(火) 21:26:14.72
>>753
こっちではそれでうまく行ってるけど?
落ち着いてもう一度確認してみれば?
>>751のを参考に別の記述をしてみた
/-*[\d.]+(?=-\d)/g,'$&,'

それと、もう他に条件はないの?
例えば、
999-999-999とか3つ続く場合とか、
-999-(-999)とか後の数値もマイナスだとか
特定の文字列に挟まれた場合のみとか、又は挟まれてない場合だけだとか?

755 :デフォルトの名無しさん:2013/11/12(火) 21:33:34.04
あ、やっぱりダメだな
忘れて

756 :デフォルトの名無しさん:2013/11/13(水) 02:35:08.04
s/(\d)-(\d)/$1,-$2/g

757 :デフォルトの名無しさん:2013/11/13(水) 04:56:58.74
後出しでこれか・・はぁ・・・なんで残念回答者しかいないんだココ・・・
もういいよ、自分でなんとかしたほうがマシだよ・・・

758 :デフォルトの名無しさん:2013/11/14(木) 13:36:59.52
あるシステムにデバイスのシリアルを登録するのですが、シリアルに半角スペースが入っていると正常に登録ができません。
正規表現が使えるようなので、質問ですが、下記のシリアルを正規表現で表記するにはどう表記すれば良いでしょうか。
<AA123456A 1A2B3C4D>
上記シリアルは二つの文字列間に半角スペースが12個含んでいます。
よろしくお願いします。

759 :デフォルトの名無しさん:2013/11/14(木) 14:24:49.83
>>758
<AA123456A 1A2B3C4D>
という正規表現で、表現される。どこがどういう文字を取り得るかもないので、さっぱりだ。

760 :デフォルトの名無しさん:2013/11/14(木) 16:22:43.40
人に聞いて済まそうとする奴はクズ。ここはム板だぞカス。

761 :デフォルトの名無しさん:2013/11/14(木) 16:50:46.29
>>758
今ひらめいた。
<AA123456A\x20{12}1A2B3C4D>
こういうこと?

762 :デフォルトの名無しさん:2013/11/14(木) 17:57:03.42
半角スペースを含んでて困ってるわけだから
多分スペース(と<>のくくり)をカットしたいんじゃないかと
replace(/<([^ ]+) *([^ ]+)>/,'$1$2')

763 :デフォルトの名無しさん:2013/11/14(木) 20:12:47.00
昔書いたプログラムは他人が書いたプログラムになると思えというけど、
一ヶ月前に書いたもので正規表現はさっぱりわからなくなるな。

764 :デフォルトの名無しさん:2013/11/14(木) 21:06:25.16
>>763
正規表現に名前を付けないからそうなる。

単純に変数に代入するだけでも分かりやすくなるし、
正規表現を使った比較を関数にすればもっといい。

正規表現にもコメント入れる。
なぜか日本で使ってる人が少ないような気がするけど、
長い正規表現は複数行で書いてコメントを入れなさい。
そのための機能がちゃんと用意されてるんだから。

765 :デフォルトの名無しさん:2013/11/14(木) 23:02:26.64
historyのワンライナーで何回か使うとコメントつけるけど、その作り途中のが出てくると混乱する。

766 :デフォルトの名無しさん:2013/11/14(木) 23:03:33.48
>>763
ドキュメント無くても、テストコード書いとくと、後で使い方が分かっていいよ。
正規表現に限らないけど。

767 :デフォルトの名無しさん:2013/11/14(木) 23:51:03.43
ttp://blog-imgs-29-origin.fc2.com/f/u/n/funcchan/image58.jpg
俺は↑のソフトで作ってる。>>でコメント行、***でそれ以降の行が無視されるという仕様。
正規表現が動かないときに正規表現の途中に***を入れて動かせばそこまでちゃんと
動いてるかどうか確かめられたり。

ただ完成度が低いのがアレ。\/を認識出来ないバグがある。
ウインドウの大きさが変えられなくて不便。
改行を含むテキストへのマッチングが試せない。

完成度を高くしてくれたら金払ってもいい。

768 :デフォルトの名無しさん:2013/11/15(金) 08:02:17.63
>>764
正規表現にコメント機能があるのは知ってるけど、改行入れても大丈夫なの?

769 :デフォルトの名無しさん:2013/11/15(金) 09:12:17.61
>>763
私だけの現象かと、心配していました。少し安心、どうもありがとう。

770 :デフォルトの名無しさん:2013/11/16(土) 01:40:09.33
>>768
xオプション
http://d.hatena.ne.jp/perlcodesample/20080414/1208186274

プログラミング言語で正規表現を使うことが前提の質問にはオプションのことも
考えて回答する必要がある。

テキストエディタの正規表現しか触れたことが無い人はこういうオプションの知識が
無いから適切なオプションのアドバイスが出来ず混乱の元になることがある。

771 :デフォルトの名無しさん:2013/11/16(土) 03:02:41.39
xオプション使わずに長ったらしい正規表現を
ドヤ顔で掲載しているサイトとかあるよな。

772 :デフォルトの名無しさん:2013/11/16(土) 03:22:03.59
マトモに動くだけマシだけどな。期待通りに動作しないものを公開して
間違いを指摘されても修正しない奴とかいるから・・。(スキルが無いから間違いだと分からない)

773 :デフォルトの名無しさん:2013/11/16(土) 03:27:17.28
○○はアウトだと言っている。

そこに誰かが△△を持ってきて○○はまだマシという。


この時、俺が思うのは、

○○はアウト
△△はアウトよりもさらにアウト

マシという考え方はしない。

774 :デフォルトの名無しさん:2013/11/16(土) 04:30:56.00
いつか鬱になる思考法だな

775 :デフォルトの名無しさん:2013/11/16(土) 05:08:35.39
なんの根拠もないことを言われてもね。

776 :デフォルトの名無しさん:2013/11/16(土) 22:19:42.28
とりあえずどうでもいい情報は書かなくていいぞ。

777 :デフォルトの名無しさん:2013/11/17(日) 00:13:48.10
>>776 を書く前に気づいてほしかったな

778 :デフォルトの名無しさん:2013/11/17(日) 20:59:28.72
このスレにはどうでもいい情報しかないけどな

779 :デフォルトの名無しさん:2013/11/17(日) 21:13:49.77
●Regular Expressionの使用環境
Perl(Emeditor)

●検索か置換か?
検索

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

●対象データ
お肉料理
お魚料理
料理


●希望する結果
3行目の"料理"のみマッチさせたいです。

例えば
(?<!お魚)料理 で検索すると、1行目のお肉料理の"料理"と、3行目の"料理"がマッチされてしまいます。
(?<!お肉)料理 で検索すると、2行目のお魚料理の"料理"と、3行目の"料理"がマッチされてしまいます。
上記を1行で書いて、前方にお肉、お魚が付いていない3行目の”料理”の単語だけマッチさせたいです。

((?<!お肉)料理|(?<!お魚)料理)
((?<!お肉)|(?<!お魚))料理

のように書いてみましたが動きませんでした。
どなたかお分かりになる方教えて頂けるとうれしいです。よろしくお願いします。

780 :デフォルトの名無しさん:2013/11/17(日) 21:15:42.95
^料理

781 :デフォルトの名無しさん:2013/11/17(日) 21:22:25.39
>>780
申し訳ないです、説明不足になってしまいました。
対象データは例えば下のように文章内のいずれかの場所にあるので、行頭にあるとは限らないので ^料理 ではマッチしないことが多いです。

例:
おいしいお肉料理です
おいしいお魚料理です
おいしい料理です

上の場合では3行目の、おいしい料理です の "料理" のみマッチさせたいです。
説明不足で申し訳ありませんでした。

782 :デフォルトの名無しさん:2013/11/17(日) 21:35:07.17
[^肉魚]料理

783 :デフォルトの名無しさん:2013/11/17(日) 21:45:21.95
(?<!お肉|お魚)料理

784 :デフォルトの名無しさん:2013/11/17(日) 21:52:37.65
(?<!お[肉魚])料理
(?<!お肉)(?<!お魚)料理

785 :デフォルトの名無しさん:2013/11/17(日) 22:15:05.21
>Perl(Emeditor)

http://jp.emeditor.com/help/howto/search/search_regexp_syntax.htm
>EmEditor の正規表現検索ルーチンは、Boost ライブラリの Regex++ を利用しています。

全然perlじゃねぇ。ゴミじゃん。

786 :デフォルトの名無しさん:2013/11/17(日) 22:20:04.47
みなさんレスありがとうございます。みなさんのレスの通りでできました。
後読みの | の書き方はそのように書くのですね。勉強になりました。
どうもありがとうございます。

787 :デフォルトの名無しさん:2013/11/17(日) 22:20:26.46
http://www.s34.co.jp/cpptechdoc/article/regexpp/

>この文字列パターンの正規表現は: <a +href=('|\").*('|\") *> となります。

大丈夫か、この会社・・

788 :デフォルトの名無しさん:2013/11/17(日) 22:23:34.74
regex++, Introduction
http://boost.cppll.jp/HEAD/libs/regex/introduction.htm

htmlもマトモに書けないのかよ・・

789 :デフォルトの名無しさん:2013/11/17(日) 22:23:52.04
>>785
あれ、Regex++ってものになるんですかね?前にPerlと聞いてそちらのページトップに
>EmEditor は、Perl の正規表現構に基づいています
とあって今までPerlだと思ってました。。

790 :デフォルトの名無しさん:2013/11/17(日) 22:26:47.20
自称perlってとこかな、まったくの別物。
perlの正規表現はこんなちゃちぃものじゃないよ。

791 :デフォルトの名無しさん:2013/11/17(日) 22:49:00.06
http://www.boost.org/doc/libs/1_55_0/libs/regex/doc/html/boost_regex/syntax.html
これ読むとちゃちくはないな・・訂正。

792 :デフォルトの名無しさん:2013/11/17(日) 23:11:33.64
>>789
あくまで「基づいている」であって、「同じ」ではないよ。誤解をまねく不親切な記述かもしれない。
でもね、それが決まり文句となってることを知る者なら、いわゆる普通の「Perl(下位)互換の正規表現」と理解するよ。

以下は決まり文句の例。

RegExp - JavaScript | MDN
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/RegExp
>Perl は JavaScript の正規表現のモデルとなっているプログラミング言語です。

Clinick's Clinic on Scripting: 正規表現による Visual Basic Scripting Edition (VBScript) の機能強化 - MSDN
http://msdn.microsoft.com/ja-jp/library/ms974570.aspx
>VBScript のパターンセットは Perl をもとにしており、そのコアの機能は Perl に似ています。

java.util.regex (Java Platform SE 6)
http://docs.oracle.com/javase/jp/6/api/java/util/regex/package-summary.html
>Pattern クラスのインスタンスで使用する正規表現は、Perl に似た文字列形式で指定します。

793 :デフォルトの名無しさん:2013/11/18(月) 00:33:58.79
まぁ例え本物のperlで動いていたとしてもテキストエディタ上ではおもちゃみたいなもんだけどな。

794 :デフォルトの名無しさん:2013/11/18(月) 00:35:09.58
なるほどー、詳しくありがとうございます。

795 :デフォルトの名無しさん:2013/11/18(月) 02:19:48.02
>>792
鬼車系の名前指定部分式呼出しやネストレベル付き後方参照ってPerl下位互換では無いよね。
どっちが上とかじゃなく、原型がPerlというだけでそれぞれ独立したものだと思ってて良いと思う。

796 :デフォルトの名無しさん:2013/11/18(月) 03:41:28.08
鬼車はもう独立した感じだな。派生の1つとでも言うべきか。

797 :デフォルトの名無しさん:2013/11/20(水) 06:06:25.93
詳説 正規表現 第3版 第1刷 → 第2刷 正誤表
https://www.oreilly.co.jp/books/9784873113593/#errata0

\Sの間違いは酷いなw
正規表現にもっと誤植あったような気がしたが・・メモっときゃ良かった。

798 :デフォルトの名無しさん:2013/11/30(土) 16:23:01.11
abcxyczabc

このテキストのabc以外(つまりxycz)に一致させたいんですが
[^(abc)]+ こうやってもxyzしか返ってきません…
実現するにはどうしたらいいんでしょうか?

799 :デフォルトの名無しさん:2013/11/30(土) 16:35:21.92
正規表現は「以下のルールを満たすもの」だから
そういう満たさないものに一致させるのは原則として無理だよ。
まあ、逆転の発送と頑張り次第で、その場はなんとかなるけどね。

800 :デフォルトの名無しさん:2013/11/30(土) 16:38:54.80
>>799
そうなんですか…
では頑張っていろいろ考えてみます。

801 :デフォルトの名無しさん:2013/11/30(土) 16:44:51.47
ここはアホー知恵遅れか

802 :片山博文MZコスモ ◆T6xkBnTXz7B0 :2013/11/30(土) 16:46:13.34
([^a]|a[^b]|ab[^c])

803 :デフォルトの名無しさん:2013/11/30(土) 16:47:14.17
>>798
[^(abc)] は (,a,b,c,) 以外の任意の一文字を示す。
括弧でくくったつもりかもしれないが無意味で、文字列ではないことに注意。
先読みとか戻り読みで調べてみたらいいかもしれない。

804 :デフォルトの名無しさん:2013/11/30(土) 16:53:16.48
>>802-803
レスありがとうございます。
文字列否定は結構面倒なんですね。
勉強になります。

805 :デフォルトの名無しさん:2013/11/30(土) 17:47:05.06
>>798
JavaScriptとかならsplit(/abc/)でいける。
「マッチした"範囲"」から「マッチしなかった範囲」を求めてもいける。

806 :デフォルトの名無しさん:2013/11/30(土) 17:57:19.70
vim なら /^abc\zs.*\zeabc$

807 :デフォルトの名無しさん:2013/11/30(土) 18:00:03.82
そう。工夫すれば、この場合はなんとかなる。
だが他の場合には使えなかったりするわけさ。

808 :デフォルトの名無しさん:2013/11/30(土) 18:21:28.10
sed -e 's/\(abc\)//g'

809 :デフォルトの名無しさん:2013/12/01(日) 07:56:41.84
文字列否定ってちょっと上でさんざんやってたやつじゃん。
>>635の前後の ^ と $ を取ってxyzをabcにするだけだよ。

810 :デフォルトの名無しさん:2013/12/01(日) 08:32:08.26
まあsplitが一番賢いな
次点でゼロ幅否定
一文字ずつ文字クラス否定を並べるのは猿レベル

811 :デフォルトの名無しさん:2013/12/01(日) 10:33:21.35
http://○○○.com/dir/index.html
http://○○○.com/dir/

どちらが与えられた場合でも常に
http://○○○.com/dir に一致させるにはどうすればいいんでしょうか?

812 :デフォルトの名無しさん:2013/12/01(日) 12:31:02.12
○○○\.com/dir(?=/|/index.html)

813 :デフォルトの名無しさん:2013/12/01(日) 12:50:23.74
どうすればいいのか分からない奴は帰れ。おまえみたいな乞食が来るとこじゃねぇ。

814 :デフォルトの名無しさん:2013/12/02(月) 10:21:58.19
●Regular Expressionの使用環境
Python3.3

●検索か置換か?
置換

●説明
均等割りにしているスペースを削除したい
一文字ずつスペースが入っている文字のスペースを削除したい

●対象データ
あ い う え お
かき くけ ここ

●希望する結果
あいうえお
かき くけ ここ

815 :デフォルトの名無しさん:2013/12/02(月) 10:31:55.75
>>812
ありがとうございました!

816 :デフォルトの名無しさん:2013/12/02(月) 17:36:15.17
>>814
s/([^\s])\s(?=[^\s]\s[^\s])/$1/g

817 :デフォルトの名無しさん:2013/12/02(月) 21:06:11.02
丸投げ厨でしかもお願いしますの一言も無いとかw
おまえら虫けらくらいにしか思われてないぞ

818 :814:2013/12/03(火) 09:48:22.21
>>816
ありがとうございます。

>>817
テンプレート読んでそのまま書き込んで投稿してしまいました。
申し訳ございません。

819 :814:2013/12/03(火) 10:27:41.88
>>816

python用に書き換えてみたのですが

import re
src = 'あ い う え お'
dst = re.findall(r'(\S)\s(?=\S\s\S)+', src)
dst
['あ', 'い', 'う']

「え・お」が抽出されないのですが
perlでは抽出されるのでしょうか?

820 :814:2013/12/03(火) 10:32:49.07
プラスつけてましたので修正しました

import re
src = 'あ い う え お'
dst = re.findall(r'(\S)\s(?=\S\s\S)', src)
dst
['あ', 'い', 'う']

821 :デフォルトの名無しさん:2013/12/03(火) 21:34:34.08
m/\A\s?(?:\S\s)+\S?\z/
これがマッチしたら
s/\s//g
すればいい。

822 :デフォルトの名無しさん:2013/12/03(火) 22:49:48.53
814だと結局均等割りの判定の仕方が曖昧なんだよね

823 :デフォルトの名無しさん:2013/12/03(火) 23:50:31.93
ネタでしょ

824 :814:2013/12/04(水) 14:55:39.20
>>816
勉強になりましたありがとうございます。

>>822,823
すみません

825 :デフォルトの名無しさん:2013/12/05(木) 06:13:23.74
>>816にお礼してるよこいつw

826 :デフォルトの名無しさん:2013/12/05(木) 15:53:41.55
【乞食速報】オライリー電子書籍が半額
http://engawa.2ch.net/test/read.cgi/poverty/1386147240/

827 :814:2013/12/06(金) 08:44:56.87
>>821
ありがとうございました。

828 :デフォルトの名無しさん:2013/12/07(土) 13:36:01.92
●Regular Expressionの使用環境
分かりません

●検索か置換か?
検索

●説明
風向は北のように1文字だったり西南西のように3文字だったりします。
風速も1〜2文字に変化します。

●対象データ
観測場所風向風速気圧入道埼灯台西南西15m1016hPa艫作埼灯台南西10m

●希望する結果
入道埼 西南西 15m
艫作埼 南西  15m


正規表現というもの自体、昨日初めて知りました。
入門サイトを見ましたが概要が少し分かったような気がするだけです。
海上保安部の気象状況サイトから文字列を取得してデスクトップ上に表記させようと考えています。
他にも活用して行きたいので、これから勉強しようと思います。よろしくお願いします。

829 :デフォルトの名無しさん:2013/12/07(土) 15:05:12.57
>>654
ほれ、はよぅ造ってやれや

830 :デフォルトの名無しさん:2013/12/07(土) 15:47:10.53
>>828
まず環境決めろよ

831 :デフォルトの名無しさん:2013/12/07(土) 15:53:58.68
Javaです
艫作埼 南西 15m でなく 10mです 

832 :デフォルトの名無しさん:2013/12/07(土) 15:58:04.10
どこでその文字列が配信されてるか知らないけど、
ここのHTMLを解析したほうが早くないか?
http://www6.kaiho.mlit.go.jp/07kanku/sasebo/kisyou.html
テーブルになってるから楽だと思われ

833 :デフォルトの名無しさん:2013/12/07(土) 16:12:13.84
androidのアプリの仕様上、正規表現でいじるしかないのです。。

834 :デフォルトの名無しさん:2013/12/07(土) 16:18:12.40
これがHTMLファイル解析するやつな
Perlだけどだいたい読めるだろ
各ページのHTMLファイルはあらかじめダウンロードしておくこと
use strict;

my @weatherfile;
my $wf;

my @src;
my $dat;
my @buf;

@weatherfile = ( "sasebo.html" , "tsushima.html" , "nagasaki.html" );

foreach $wf ( @weatherfile ){
open( FH , "<./$wf" );
@src = <FH>;
close( FH );
$dat = join( "" , @src );
$dat =~s/(\r|\n)//meg;

@buf = split( /<\/tr><tr>/ , $dat );
foreach( @buf ){
if ( $_ =~/"tdNum1 normal"/ ){
if ( $_ =~/<td.*?>(.*?)<\/td><td.*?>(.*?)<\/td><td.*?>(.*?)\s.*?<\/td>/ ){
print $1 . " " . $2 . " " . $3 . "m\n";
}
}
}
}

exit;

835 :デフォルトの名無しさん:2013/12/07(土) 16:30:51.86
オナニーしてるの?

836 :デフォルトの名無しさん:2013/12/07(土) 17:07:40.69
>>833
もし、そのサイトの仕様がいつも変わらないなら
URLでファイルにアクセスしてreadLineを繰り返して
startWithで欲しい行を見つけて
subStringで文字列取ればいいんじゃないの?

837 :デフォルトの名無しさん:2013/12/07(土) 17:11:18.99
そのアプリを使ってる人に聞いたほうが早くね?情報小出しクンの相手はしたくないぞ。

838 :デフォルトの名無しさん:2013/12/07(土) 17:27:53.74
つーかずっとデスクトップとか言い続けてたからみんなその流れで議論を重ねてきたのに
いつの間にかアンドロイドアプリって方向になってる。

839 :デフォルトの名無しさん:2013/12/07(土) 17:49:53.64
まあそう言わずに何か示してやれ
>>832のような波高データがあったり、風向数値データが全部無い灯台があったら破綻するけど
<html><head><script>
var s="観測場所風向風速気圧入道埼灯台西南西15m1016hPa艫作埼灯台南西10m";
var pattern=/(?:観測場所風向風速気圧)?(.+?)(?:灯台|GPS局)((?:東|西|南|北)+)?(\d+m)?(?:\d+hPa)?/g
var newdata=s.replace(pattern,'$1 $2 $3<br>');
document.write(x);
</script></head></body></html>

840 :839:2013/12/07(土) 17:53:44.98
newdataはxに変更してね
それと、アンドロイドのjavaで使える正規表現かどうかは知らない

841 :デフォルトの名無しさん:2013/12/07(土) 17:54:58.80
そういえば安藤ロイドって見てる?

842 :デフォルトの名無しさん:2013/12/08(日) 15:35:25.79
bashやzshで実装されている、正規表現のパターンマッチングについてです。
数字以外のときはエラーを出すというのをやりたいのですが

[[ "$A" =~ ^[^0-9]+$ ]] &amp;&amp; echo "not number"
がうまく動作しません。
具体的には、0a1のように数字とアルファベットが混ざっているときに
エラーが出ません。

[[ "$A" =~ ^[0-9]+$ ]] || echo "not number"
[[ ! "$A" =~ ^[0-9]+$ ]] &amp;&amp; echo "not number"
だとうまくいきます。
上記の書き方ならうまくいくのですが、原因が知りたいので
最初のやり方でダメな理由を教えていただきたいです。

843 :デフォルトの名無しさん:2013/12/08(日) 15:49:56.41
^[^0-9]+$ は数字以外だけの文字列の場合ヒット、数字混じりだと絶対ヒットしない

844 :デフォルトの名無しさん:2013/12/08(日) 16:04:16.52
たぶんやりたいことはこうだろう。数字以外の文字が1文字でもあればエラーを出す。

[[ "$A" =~ [^0-9] ]] &amp;&amp; echo "not number"

845 :デフォルトの名無しさん:2013/12/08(日) 16:13:30.83
だだし対象が0文字の場合、エラーが出ない。[^0-9] にマッチする文字が1文字も無いため。

846 :デフォルトの名無しさん:2013/12/08(日) 16:22:47.63
・演算子で否定
"$A" !~ ^[0-9]+$

847 :デフォルトの名無しさん:2013/12/08(日) 18:20:20.70
>>843
ああ、なるほど。
私の書いた1番目と2,3番目は否定のかかる箇所が違うんですね。ありがとうございます。
集合と論理って難しい・・・。

848 :デフォルトの名無しさん:2013/12/08(日) 21:52:43.84
正規表現テスターとかで試しながら作るいいよ。
未テストの正規表現をコードの中にブチ込んで動作確認するは面倒だろう。

849 :デフォルトの名無しさん:2013/12/08(日) 22:40:03.05
>>848
ありがとうございます。
さっそくブックマークしました。

850 :デフォルトの名無しさん:2013/12/09(月) 14:48:19.97
数値と特定の単位の間にスペースを入れるため
([0-9])TB タブ  ¥1 TB タブ regex
([0-9])GB タブ ¥1 GB タブ regex
([0-9])cm タブ ¥1 cm タブ regex
とやると例えば1tbや1CMも1 tbや1 cmなっています。
そこで([0-9])(TB) → ¥1¥2となると大文字小文字の変換はなくなりましたが
相変わらず1tbも1 tbとなってしまいます。
どうやって大文字小文字の区別をすれば良いのでしょうか?

851 :デフォルトの名無しさん:2013/12/09(月) 19:55:31.26
>>850
Where are you fom? Japanese is a mess.

852 :デフォルトの名無しさん:2013/12/09(月) 19:57:35.73
fom fom

853 :デフォルトの名無しさん:2013/12/09(月) 21:29:02.20
ぐぐらん馬鹿はスルー

854 :デフォルトの名無しさん:2013/12/10(火) 19:24:33.22
●Regular Expressionの使用環境
Becky! Internet Mail Ver.2

●検索か置換か?
検索

●説明
+0900を含まないものを検索したい

●対象データ
+0900
+0500
+0630

●希望する結果
+0500
+0630

よろしくお願いします。

855 :854:2013/12/10(火) 19:56:28.06
すみません、少し訂正です。

●対象データ
+0900
+0930
+0500
+0610

●希望する結果
+0930
+0500
+0610

856 :デフォルトの名無しさん:2013/12/10(火) 21:21:13.85
そのぐらいググれよ

857 :デフォルトの名無しさん:2013/12/10(火) 23:17:39.43
「ない時」 にチェック入れろアホ

858 :854:2013/12/10(火) 23:27:28.77
>>857
貴方のおっしゃる「ない時」にチェックを入れたのでは希望の動作はしません。
>>854-855は「+0900がない時」という条件ではないです。

859 : ◆bSTipHqgHegt :2013/12/11(水) 00:47:30.83
>>854
\+([0-9]{0,3}|[0-9]{5,}|[^0][0-9]{3}|0[^9][0-9]{2}|09[^0][0-9])$

860 :デフォルトの名無しさん:2013/12/11(水) 13:16:49.92
●対象データと●希望する結果を見る限りじゃ「+0900がない時」で希望の動作になるよね。

861 :デフォルトの名無しさん:2013/12/11(水) 14:01:09.19
>>860はスパマー

862 :854:2013/12/11(水) 14:56:35.05
>>859
先頭がマイナスの場合もありました。

>>854を取り消して再度質問です。
●Regular Expressionの使用環境
Becky! Internet Mail Ver.2

●検索か置換か?
検索

●説明
+0900を除くタイムゾーンが含まれているかどうかを検索したいです。
※+0900が含まれている・いないにかかわらず+0900を除くものがある場合を検索。

●対象データ
※データ1-3はそれぞれひとまとまりです。
---データ1---
+0900
+0900
+0900
---データ2---
-1200
+0900
+0900
+0500
---データ3---
-1200
+0545
+0630
+1300

863 :854:2013/12/11(水) 14:57:24.22
続き。

●希望する結果
---データ2---
-1200
+0900
+0900
+0500
---データ3---
-1200
+0545
+0630
+1300

864 :デフォルトの名無しさん:2013/12/11(水) 15:02:56.36
>>860
条件を変えたので早く答えてください

865 :854 ◆0GPvTQBfjB8L :2013/12/11(水) 15:18:55.75
騙りが出てきたのでトリップ?を付けておきます。
ここまでで>>854,855,858,862,863,865以外は私ではないです。
※以降、別のトリップを付ける事はしません。
 忘れた等いかなる理由の場合でも変更しません。

866 :デフォルトの名無しさん:2013/12/11(水) 16:09:49.51
トリップつけようが「俺様の希望通りに動いたか否かだけ答えてやるから
俺様が満足するまでお前らが試行錯誤しろ」という態度に変わりはない

867 :デフォルトの名無しさん:2013/12/11(水) 16:51:19.09
866が被害妄想ということはわかった

868 :デフォルトの名無しさん:2013/12/11(水) 16:53:25.64
誰が見たって866は864だろ

869 :デフォルトの名無しさん:2013/12/11(水) 19:01:34.46
バレたかー

870 :デフォルトの名無しさん:2013/12/11(水) 19:03:22.72
日本語不自由なだけでも大きなハンデなのに、態度も悪いときたら人生苦労してるだろうな

871 : ◆bSTipHqgHegt :2013/12/11(水) 21:15:19.34
>>862
(\-[0-9][0-9][0-9][0-9])|(\+1[0-9][0-9][0-9])|(\+0[^9][0-9][0-9])|(\+09[^0][0-9])

872 :デフォルトの名無しさん:2013/12/11(水) 21:27:01.26
>>866>>870みたいな口だけで行動が伴わない男ってやだね^^;
相手の態度は関係なくてただ理解力不足なせいで回答できないくせに…

873 :デフォルトの名無しさん:2013/12/11(水) 21:58:51.07
コテ付け忘れてるぞ

874 :デフォルトの名無しさん:2013/12/11(水) 22:05:12.54
>>873
872はageて書いてるし文章も質問者とは異なる
明らかな煽り

875 :デフォルトの名無しさん:2013/12/11(水) 22:16:25.66
>>862
ですみませんもありがとうもない人間か

876 :デフォルトの名無しさん:2013/12/11(水) 22:20:33.97
>>873
●Regular Expressionの使用環境
Vaka873
●検索か置換か?
置換
●説明
「コテ付け忘れてるぞ」を「答えられる頭がなくて悔しいです」に置換したい
●対象データ
コテ付け忘れてるぞ
●希望する結果
答えられる頭がなくて悔しいです

877 :デフォルトの名無しさん:2013/12/11(水) 22:23:29.33
>>875
>>859は量指定子が入っているから使えないけどな
だからありがとうもすみませんも言う必要はない

878 :デフォルトの名無しさん:2013/12/11(水) 22:57:34.41
使える使えないじゃなくて回答してくれた事に対して、条件が変わった事に対してだろ……脳みそわいてるじゃないか……

879 :デフォルトの名無しさん:2013/12/11(水) 23:10:12.63
まぁこういう質問する類でマトモな人格だったら騙りをスルー出来る筈ないし、質問含めて荒らしなんじゃねぇのコイツ。
荒らしに構うんじゃねぇよ。

880 :854 ◆0GPvTQBfjB8L :2013/12/11(水) 23:11:42.81
>>871
>>859
条件が変わってすみません。
回答ありがとうございました。
>>871で出来ました。

881 :デフォルトの名無しさん:2013/12/11(水) 23:17:42.19
>>879が騙りをしていた本人だね^^;
荒らしに反応するのも荒らしみたいだからみんな>>879には触らないようにね

882 :デフォルトの名無しさん:2013/12/11(水) 23:22:03.61
煽りの特定でも、さすがにここの住人は認識力も識別力も高いな

883 :デフォルトの名無しさん:2013/12/11(水) 23:23:57.53
ここまで全て>>882の自演という事で終了。

884 :デフォルトの名無しさん:2013/12/12(木) 18:42:32.65
どなたかブラウザで正規表現のGREP使えるフリーのチェックツールって知りませんか?

seikihyougenn.com
↑唯一使い勝手がいいウェブツール

こちらで公開しているツールは正規表現のログや登録ができてリストをクリックすればさっと入力されて、置換も抜き出しもできて便利なんですが、
フォルダごとやファイルの複数選択ができません

フォルダごとやファイルを複数選択ができて、このツールみたいな機能がついているのがほしいんです

ブラウザが無理でしたら普通のツールでもいいです
フォルダ選択できれば神ツールなんですが、、、

885 :デフォルトの名無しさん:2013/12/12(木) 18:49:31.18
フォルダごとやファイルの複数選択の意味が分からないんだが
ブラウザでそんなことできるわけないだろ

886 :デフォルトの名無しさん:2013/12/12(木) 18:49:47.84
普通のツールでいいならgrepでいいじゃん。

887 :デフォルトの名無しさん:2013/12/12(木) 20:02:02.80
>>884
firefoxならmigemo使っていたが。
最近はブラウザといえばウェブブラウザだが、ファイルブラウザか? ならsedでいいんじゃない。

888 :デフォルトの名無しさん:2013/12/12(木) 20:13:47.76
そこであえてsakura editorですよ

889 :デフォルトの名無しさん:2013/12/12(木) 20:15:50.83
ローカルで使える正規表現チェッカーが欲しいってことだろ
でも良い物は見つからなかったよ

890 :デフォルトの名無しさん:2013/12/12(木) 20:17:44.97
http://anago.2ch.net/test/read.cgi/software/1290026981/763

891 :デフォルトの名無しさん:2013/12/12(木) 20:25:14.65
なんだ中の人が書き込んでたのか

892 :デフォルトの名無しさん:2013/12/12(木) 20:32:16.71
正規表現チェッカーなるものを初めて知ったわ
実際に何か仕事をしてくれるわけではないチェック専用のツールというのが実に斬新だな
どういう状況でそれが必要になるのかはさっぱりわからないが

893 :デフォルトの名無しさん:2013/12/12(木) 20:35:38.87
>>885
お前は>>884未満な奴だな。
ブラウザで複数選択する事は可能。
>>884はFlashっぽいから尚更。

>>890
どうやってみつけてきたんだ。
探偵にでもなればいいんじゃね。

894 :デフォルトの名無しさん:2013/12/12(木) 20:36:40.88
ヒット部分、サブマッチ部分を表示してくれるから
自分でいちいち表示させなくて良いという手間を省いてくれるツール

895 :デフォルトの名無しさん:2013/12/12(木) 20:45:18.10
サーバ経由でgrepなんて使ったらファイルの内容ダダ漏れじゃねぇか。
某国の諜報員さんですか?

896 :デフォルトの名無しさん:2013/12/12(木) 20:49:22.75
>>893 ログ持ってるスレに書き込みがあったらわかるよなそれだけだ

897 :デフォルトの名無しさん:2013/12/12(木) 21:01:43.01
>>893
アホかflashだろうがフォルダの内容はみれねーよ

898 :884:2013/12/12(木) 21:22:52.27
速攻で見つけるとかすごいなw
あっちでは紹介ついでの質問って感じに
なっちゃって質問が弱くなっちゃったし
過疎ってたのでこちらに書き込ませてもらいました
>>888
ツール見てもらったら分かると思うけど、
ひたすら正規表現やるのに楽できる機能が欲しいんです
ないでしょうかね?
>>889
いや、ローカルなのはさっきのツールもなので、
その使い勝手のGREP使えるツールがほしいんです
>>895
さっきのツールはFlash製で鯖経由なしのローカルで完結してるツールで
内容が漏れることがないって説明に書いてありましたよ
>>897
フォルダは無理でもファイル複数選択って無理ですかね?

899 :デフォルトの名無しさん:2013/12/12(木) 21:33:47.02
ひたすら正規表現やる
カッコイイ!!

900 :884:2013/12/12(木) 21:52:48.61
>>887
レスありです

firefoxでmigemo
調べてみたけどなんか違う、、、

このツールみたいに作った正規表現をリストに登録して
クリックですぐ使えるようにしたりできます?
今となっては必須と言っていい機能なのでこれがないと不便

あとマークだけじゃなくて抜き出しや置換できるのが欲しいです
串の抜き出しとかにも使ってるのでw

GREPほしい、、、いちいちファイル一つずつ開くのがめんどくさいんですよね、、、

>>892
中途半端な腕前だと間違いが頻発して繰り返し作業になるから
正解が出るまで繰り返せるチェッカー必須

>>899
正規表現できる人間は文字列の魔術師なんだってさwカッコイイ

901 :デフォルトの名無しさん:2013/12/12(木) 22:28:55.53
>>897
(お前の中では)不可なんだろ。

902 :デフォルトの名無しさん:2013/12/12(木) 22:45:57.68
ここの人はみんな人がいいねえ。正規表現の問題じゃないだろって思うんだが

903 :デフォルトの名無しさん:2013/12/12(木) 23:02:42.17
え、宣伝?

904 :デフォルトの名無しさん:2013/12/12(木) 23:27:25.71
スパイウェアって・・・

905 :デフォルトの名無しさん:2013/12/13(金) 00:35:48.35
>>885
HTML5 FileAPI

906 :デフォルトの名無しさん:2013/12/13(金) 00:57:06.25
>>884のテスターは良く出来てるよ、ロクでもないものかと思ったけどそうではなかった。
テスターというよりは実際に正規表現を使って文字列処理をするツール、という感じ。
正規表現を作る場ではなく使う場。

複雑な正規表現を作りたいときは1行の入力フォームの中で作るなんてとても無理。
ここの常連のようなガチな正規表現作者には向かない。
一般人には一行で十分かもだけどね。

907 :デフォルトの名無しさん:2013/12/13(金) 01:16:35.00
>>884が中の人ならReplaceStrToolを参考にするといいよ。
正規表現に改行やタブを入れながら作れるツール。このツール自体はJaneに特化してて
普通の正規表現作成には向かないが。

908 :デフォルトの名無しさん:2013/12/13(金) 01:50:36.65
正規表現フォームを 一行 ←→ 全画面 の切り替え出来るようにって可能なのかな。
flashならフレーム移動とかで出来そうな気がする。

909 :デフォルトの名無しさん:2013/12/13(金) 05:34:09.90
>884は>886を普通にスルーしているが、grepで事が足りるだろ。
フロントエンド位、LL言語で好きなように実装すればいいんだし。

910 :デフォルトの名無しさん:2013/12/13(金) 10:09:27.23
置換も必要ならgrepじゃ不十分。最低限sedだろう。

911 :デフォルトの名無しさん:2013/12/13(金) 11:13:20.11
grepとかファイル一括置換とかはvectorにあるフリーソフトで出来そうじゃん。
まぁ>>884のサイトの宣伝のダシに使っただけで用はないんだろうけど。

912 :デフォルトの名無しさん:2013/12/13(金) 11:46:39.99
サイトの作者、ツイッターでも宣伝しとるね。
「作ったので良かったら使って下さい」って普通に宣伝すればいいのに
なんでこんな感じの悪いことしにくるのか。

913 :デフォルトの名無しさん:2013/12/13(金) 11:55:40.86
>>898

>>895
> さっきのツールはFlash製で鯖経由なしのローカルで完結してるツールで
> 内容が漏れることがないって説明に書いてありましたよ

ここで中の人と分かるね。本人だからこそ書けるレスだよこれ。
一般ユーザーならこんな説明を信用しない。

914 :デフォルトの名無しさん:2013/12/13(金) 11:59:59.87
とりあえず

(?=正規表現)

の 正規表現 をいちいち消さないといけないのが面倒。
(?=) が挿入されて = の後ろにカーソルが移動するようにしたらどうか。

915 :デフォルトの名無しさん:2013/12/13(金) 12:01:25.38
確かにな、リストから探して「正規表現」の部分を消すくらいなら手書きで
打ったほうが早い。

916 :884:2013/12/13(金) 18:40:44.51
ここは流れが速くていいなw
しかもプロが多いw
レベルの低い自分はちょっとスレ違いだったか、、、

とにかくファイルを複数選択できて作った
のを楽に再利用できるツールがほしいんです
一押しのツールないか教えてプロの人
>>906
うん、よくできてますよね
プロは何行もいるのか、、、
僕はとりあえず一行で十分です
>>907
レスサンクス
ダウンロードしてツール使ってみたけど
なんか違う、、、ファイルを複数選択できて、
再利用が楽にできて
抜きだしもできるやつがほしいんです
>>909
自分で作れたら聞いてないです
もっと楽に再利用できるのがほしいんです
あとできれば抜きだしもほしい

917 :884:2013/12/13(金) 19:07:39.71
>>911
ブラウザ以外にもいろいろ調べたけど
いいのがなかった
あるなら教えてほしいです
>>912
そうなのか、、、
そのわりにカウンターが全然回ってないw
いいツールなのにな、、、
>>913
んな言い切られてもwww
て笑えたけどちょっと笑えないわ
一理あるかも?
>>914>>915
うん、めんどいです
だからデータ修正しました
先読み、戻り読みは直打ちめんどいです

913で気になったんですけど
ローカルで完結って
やたら強調してるし、、、これあやしいですか?
明記して嘘だったら犯罪でしょ?
詳しい人なら分かりませんか?
見られて困ることしてないけど

918 :デフォルトの名無しさん:2013/12/13(金) 19:29:07.03
おまえが一番良く知ってるだろ、文体でバレバレなのが分からないのは本人だけ。

919 :デフォルトの名無しさん:2013/12/13(金) 19:35:44.43
>>917
自作xmlをうp出来るうpローダーを用意したらどうか。
counter.cgiが動くってことはうpロダも接地出来るっしょ。

920 :デフォルトの名無しさん:2013/12/13(金) 19:47:00.44
>>916
>なんか違う

↓こういうのが出来るから参考にしたらどうかと言いたかった。
http://blog-imgs-29-origin.fc2.com/f/u/n/funcchan/image58.jpg

このツールは画像の状態で正規表現のテストが出来るから複雑な正規表現が作りやすい。
これが出来ないツールはいらね。

921 :デフォルトの名無しさん:2013/12/13(金) 19:49:21.44
↑アフィで稼ぎたいなら必須だぞ

922 :デフォルトの名無しさん:2013/12/13(金) 19:57:25.37
前もマイナスステマしてたやつか。

923 :884:2013/12/13(金) 20:10:54.18
打てば響くなwこのスレ
>>920
レスサンクス
これがプロか、、、
でもすごいけど違うんです
こういうのできなくてもいいから
楽にできるやつがほしいんです
ファイル複数選択できてね

924 :デフォルトの名無しさん:2013/12/13(金) 21:32:45.81
いや、あんたがいるかいらないかじゃなくてさ、あんたのサイトのもこういうこと
出来るようにしてくれって言ってんだよ。しないならイラネ。

ガチ勢の有名人も使えるようなツールにすればアフィが捗るぞ。有名人が宣伝してくれるからな。

925 :デフォルトの名無しさん:2013/12/13(金) 21:35:41.27
インデントするツールは普通の正規表現の作成には向いてないからあんたのサイトが
インデント対応するなら乗り換えるよ。インデントされてれば見やすいままコードに突っ込めるし。
/xを使ってね。

926 :デフォルトの名無しさん:2013/12/13(金) 21:55:14.62
>>925
それいいかも。
xのチェックボックスがあるテスターは多いけど
実際にxの書式で使えるテスターはなかなか
ない。

927 :デフォルトの名無しさん:2013/12/13(金) 22:02:22.60
一行だと>>16みたいなの作るときイライラしそう
俺はテキストエディタで作ってるからテスターなんてノーサンキュだけど

928 :デフォルトの名無しさん:2013/12/13(金) 22:03:51.05
それよか一行だとxある意味なくね?xのテスト出来ねーじゃん

929 :デフォルトの名無しさん:2013/12/13(金) 22:14:25.70
半角スペ入れてテストするとか?

930 :884:2013/12/13(金) 22:16:01.39
だからそんな機能は僕はいらないってのに、、、

別に中の人だと思われてもおもしろいから
スルーしてたけど会話にならないな、、

ずいぶん前にメール送ってみて、
今も音沙汰ないし
手っ取り早くツール見つけたかったけど
サクラエディタとの使い分けしかないかな、、めんどい

931 :デフォルトの名無しさん:2013/12/13(金) 22:39:22.47
ブラウザからはセキュリティの関係で無理。
普通のソフトなら↓
http://www.gigafree.net/tool/grep/

932 :デフォルトの名無しさん:2013/12/13(金) 22:42:24.00
バッチファイルという手もあるぞ。検索ワードごとにバッチファイルを用意する。
こういうことが出来る程度のスキルがあればだけど。

933 :デフォルトの名無しさん:2013/12/13(金) 22:57:14.19
ツイッターでスパム並みに宣伝しまくったのにカウンターが1000って・・ギャグだな。

934 :デフォルトの名無しさん:2013/12/14(土) 00:18:34.71
>>901
そりゃまぁFlashのセキュリティホールから任意コード実行系のバグを使えばそりゃ不可能ではないだろうけど…
Webサイト上のコンテンツの一部に過ぎないFlashがローカルファイルを任意に閲覧とか駄目に決まってるだろ。
ユーザが明示して許可した範囲のアクセスか、Webサイトじゃなくアプリケーションとして動かすかしかなくね?
HTML5 FileAPIにしたって制限ガチガチ。

935 :デフォルトの名無しさん:2013/12/14(土) 00:32:44.54
.NETでファイルアクセス用のCOMを作成すればいいじゃん
まあ全部作るんなら言語は何だっていいんだけど

936 :デフォルトの名無しさん:2013/12/14(土) 02:50:04.05
ブラウザで正規表現使いたいってどんな内容のファイルなんだろ。
社外秘のファイルの置換がしたいとかなら笑えるんだが。

flashに読み込むということはそれを外部に送信されても全然不思議じゃない状況になる。
POSTメソッド呼び出すだけだからね。それが分かってればブラウザ上で使いたいなんて普通は思わない。

937 :デフォルトの名無しさん:2013/12/14(土) 03:29:20.07
ブラウザの中で動くオモチャなんぞを便利って言ってる奴は普段何を使ってるんだろう

938 :デフォルトの名無しさん:2013/12/14(土) 05:09:35.66
くまーく 正規表現マスター

でググると痛い発言がてんこもりだな。
>>884
「唯一使い勝手がいいウェブツール」
 ~~~~
も痛いね、他人とは思えないね、すごい偶然だなぁ。

939 :884:2013/12/14(土) 21:25:11.40
>>931
なんかあきらめかけてたのに
レスサンクス!
これこれ!こういうやつです!

ありがとう、だけど、ごめん、、、
そのページのものはもう見てるんだ
>>933
ほんとそれ!
だから応援してるw
>>934
なるほど、やっぱり複数選択は無理なんですね
こういうことをスラスラ言えるレベルの高さがほしい
>>932>>935
そんなスキルあったら聞いてないです、すいません
>>936
なるほど、ちょっと心配になりました
けどプロは普通じゃないと思います
変な送信してないかとかを調べられないんですか?

940 :884:2013/12/14(土) 21:47:43.89
>>937
そのオモチャより便利なのが
見つからないから聞いてるんです
サクラエディタも使ってるけど不便です
普段使ってるプロのツールを教えてほしいです
使いこなせないかもしれないけど
>>938
あちこち探しても見つからないから
ちょっと煽って、いいものを紹介してもらいたかったw
例を見せないと知ってるのとか
ほしいのと違うもの紹介されそうだからね


やっぱりここは全体的にレベルが高いですね
ここでは自分のレベルが低くて困る
レスのつく良スレだけどスレ違いだったかな

941 :デフォルトの名無しさん:2013/12/14(土) 22:53:24.25
はい、次の患者さんどうぞ

942 :デフォルトの名無しさん:2013/12/15(日) 01:37:22.50
馬鹿には無理

943 :デフォルトの名無しさん:2013/12/15(日) 05:38:37.32
>>940
鼬害。ソフト板にでも逝け。

944 :デフォルトの名無しさん:2013/12/15(日) 14:46:11.50
>>920
これいいな

945 :デフォルトの名無しさん:2013/12/15(日) 15:53:01.93
>>920
これxyzを含まない正規表現のつもり?
y| が余計でこのせいで y[^xz] が意味をなさなくなってる。

946 :デフォルトの名無しさん:2013/12/15(日) 16:09:11.73
階層表示使ってみた。これだけは便利だな。これだけはな。

947 :デフォルトの名無しさん:2013/12/15(日) 22:31:36.71
ざっくり言うと、.shファイルみたいに書けますよってことか
awkじゃあるまいしスペース量で見た目を分けた方がいいや

948 :デフォルトの名無しさん:2013/12/15(日) 22:53:43.50
他人が書いた正規表現の解読するときは使えるかも知れん。そんくらいだな。

949 :デフォルトの名無しさん:2013/12/16(月) 01:22:38.06
>>946
>>16の解読してみた。アレが4個だった。

950 :デフォルトの名無しさん:2013/12/16(月) 04:29:02.82
4個っすね、アレ

951 :デフォルトの名無しさん:2013/12/16(月) 06:04:18.86
正規表現 Part11
http://toro.2ch.net/test/read.cgi/tech/1363769640/

次スレ

952 :デフォルトの名無しさん:2013/12/16(月) 19:32:29.29
荒らしの立てた重複スレは次スレではない。

953 :Regular Expression(正規表現) Part12:2013/12/16(月) 20:04:37.05
Regular Expressionスレです。

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

前スレ
Regular Expression(正規表現) Part11
http://toro.2ch.net/test/read.cgi/tech/1362913813/


天ぷら等2以降

954 :デフォルトの名無しさん:2013/12/16(月) 22:38:16.22
このキチガイまだいたのか・・

955 :デフォルトの名無しさん:2013/12/16(月) 23:03:39.65
>>954
自己紹介して楽しい?

956 :566:2013/12/17(火) 00:35:00.75
次スレは>>951な。重複スレ立てても俺はそっちには行かないから。
マトモな解答出来るのが俺しかいないから重複スレは閑古鳥になるだろうよ。

957 :566 ◆QzqhRqBYxktP :2013/12/17(火) 00:40:44.74
トリップ付けとくか・・

958 :デフォルトの名無しさん:2013/12/17(火) 03:43:48.98
キチガイによるスレ潰しの一例

□スレの私物化

959 :デフォルトの名無しさん:2013/12/17(火) 07:57:05.10
タイトルを変えた理由は理解しているが
Regular Expressionなんて表現は日常ほとんど使わないのではないか。

960 :デフォルトの名無しさん:2013/12/17(火) 14:30:37.08
次スレないから立てた

Regular Expression(正規表現) Part12
http://toro.2ch.net/test/read.cgi/tech/1387257592/

961 :デフォルトの名無しさん:2013/12/17(火) 18:09:47.13
>>960
正統性を主張するのは構わないが、せめてタイトルだけは変えて欲しかったが
立ててしまったのだね。

962 :デフォルトの名無しさん:2013/12/17(火) 18:47:42.92
「正規表現」でスレッド検索できないなら問題だろうけど、検索できるから良いだろう。

963 :デフォルトの名無しさん:2013/12/17(火) 21:39:21.49
>>960
おつー

964 :デフォルトの名無しさん:2013/12/18(水) 21:14:06.43
向こうのスレ荒らしてる奴、>>575の最後の2行を読め。

965 :デフォルトの名無しさん:2013/12/18(水) 21:23:48.50
見に行ったけど荒れてなかった件について

966 :デフォルトの名無しさん:2013/12/18(水) 21:59:32.14
>>965
>>964は荒らしだからスルーよろ。

967 :デフォルトの名無しさん:2013/12/18(水) 22:41:01.91
他人に当り散らすのはやめろ。正規表現道を極めたいなら人間的にも成長しろ。
感情をコントロールしろ。周りの人間を威嚇するな、バカ犬じゃあるまいし。

968 :デフォルトの名無しさん:2013/12/18(水) 22:42:54.03
こっちは、煽り道を極めようと必死なんだ。
煽り道をなめんな。

969 :デフォルトの名無しさん:2013/12/18(水) 22:53:41.13
これは人格障害の一種だね。ストーカーやDVと同じタイプの精神病。
周りが自分の思い通りにならないと暴走する。早めに精神病院に行くことをおすすめする。

970 :デフォルトの名無しさん:2013/12/18(水) 22:57:53.38
>>969
あー、お前が何を言っても
お前の思い通りにはならないから
諦めとけw

971 :デフォルトの名無しさん:2013/12/18(水) 23:13:02.43
>>969はレッテル貼って回ってる可哀想な人だよ

972 :デフォルトの名無しさん:2013/12/18(水) 23:41:46.70
やっぱ精神病なのか、スレタイ変えたりおかしいとは思ってた

973 :デフォルトの名無しさん:2013/12/19(木) 01:05:30.65
>>1
ほれ、おまえの仲間だぞ。

三鷹ストーカー殺人「彼女の死考えると心安らいだ」
http://news.tbs.co.jp/newseye/tbs_newseye2083960.html

974 :デフォルトの名無しさん:2013/12/19(木) 01:08:28.23
>>1のストーカー行為↓

正規表現 Part11
http://toro.2ch.net/test/read.cgi/tech/1363769640/

975 :デフォルトの名無しさん:2013/12/19(木) 01:52:46.92
見ようかと思ったけどタイトルで荒らしの立てた重複スレだと分かった
レッテル貼りと宣伝乙です^^

976 :デフォルトの名無しさん:2013/12/19(木) 01:57:03.49
うわ〜、ストーカーって初めて見た

977 :デフォルトの名無しさん:2013/12/19(木) 02:12:07.48
>>975
ねぇねぇ、いつごろからそういう性格になったの?
参考までに教えてくれないかな。

978 :デフォルトの名無しさん:2013/12/19(木) 02:14:36.44
>>975
お父さんとお母さんとは上手くいってた?
特にお母さんとの関係は?

979 :デフォルトの名無しさん:2013/12/19(木) 02:16:28.70
>>975
人間関係はどう?自分だけ孤立したりしてない?

980 :デフォルトの名無しさん:2013/12/19(木) 04:06:46.97
>>975
http://kotobank.jp/word/%E7%97%85%E8%AD%98

981 :デフォルトの名無しさん:2013/12/19(木) 04:15:38.21
>>975
http://www.psy-nd.info/

982 :デフォルトの名無しさん:2013/12/19(木) 06:43:51.65
うめ

983 :デフォルトの名無しさん:2013/12/19(木) 07:40:26.71
>>975
元々は漢字名の正規表現 Part** だったんだよ。Part11からかな。この名前に
突然置き換わったのは。

984 :デフォルトの名無しさん:2013/12/19(木) 10:40:12.93
>>977-979
お前そんなに酷い環境で育ったのか。
夜中の2時過ぎになっても眠れなくてここに書き込んで発散するとか
お前がいくら荒らしとはいえさすがに同情するわ。
可哀想に。

985 :デフォルトの名無しさん:2013/12/19(木) 14:19:55.01
こういう病気の人間は自尊心が足りなく、足りない分を補うために他者を支配しようとするそうだ。
ストーカーやDVはそのための行為。

スレタイや天ぷら改変でスレを支配してみじめな自分を満たそうとしたんだろう。

986 :デフォルトの名無しさん:2013/12/19(木) 14:27:46.04
なるほどね、このスレタイは>>1のみじめさで出来てるのかwwwww
だったらこのままでもいいやwwwwwwwww

ざまぁあああああああああああああwwwwwwwwwwwww

987 :デフォルトの名無しさん:2013/12/19(木) 15:05:20.82
【精神病】 Regular Expression(正規表現) Part13 【みじめ】

次々スレはこれにするわw

988 :デフォルトの名無しさん:2013/12/19(木) 18:15:31.60
向こうで荒らしてる奴がこっちでも荒らしてるな
そうやって自演で煽れば対立構造にでもなると思ってるんだろうか

989 :デフォルトの名無しさん:2013/12/19(木) 18:53:17.57
向こうのスレがあがってるじゃねーか、早くストーカーしにいけよキチガイw

990 :デフォルトの名無しさん:2013/12/19(木) 19:03:17.92
おいストーカー、早くしろよ

991 :デフォルトの名無しさん:2013/12/19(木) 19:14:24.82
うめ

992 :デフォルトの名無しさん:2013/12/19(木) 19:19:08.93
>>987
ww

993 :デフォルトの名無しさん:2013/12/19(木) 19:42:42.54
精神障害者が知的障害とか言っててワロタ

994 :デフォルトの名無しさん:2013/12/19(木) 19:58:21.91
おいストーカー、早くしろよ

995 :デフォルトの名無しさん:2013/12/19(木) 20:26:25.73
うめ

996 :デフォルトの名無しさん:2013/12/19(木) 20:31:17.37
うめ

997 :デフォルトの名無しさん:2013/12/19(木) 20:32:21.82
997

998 :デフォルトの名無しさん:2013/12/19(木) 20:32:51.30
埋め

999 :デフォルトの名無しさん:2013/12/19(木) 20:33:47.53
999

1000 :デフォルトの名無しさん:2013/12/19(木) 20:34:23.12
次スレ

正規表現 Part11
http://toro.2ch.net/test/read.cgi/tech/1363769640/

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

230 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)