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


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

Regular Expression(正規表現) Part12



1 名前:デフォルトの名無しさん [2013/12/17(火) 14:19:52.00 ]
Regular Expressionスレです。

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

前スレ
Regular Expression(正規表現) Part11
toro.2ch.net/test/read.cgi/tech/1362913813/


天ぷら等2以降

52 名前:デフォルトの名無しさん [2013/12/20(金) 03:47:57.61 ]
s/(\.test\{[^}]*padding:\s*)[^;]+/$14px/g;

53 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 03:52:58.58 ]
>>51
チョンの本スレ宣伝はここにも来たか

54 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 04:49:30.72 ]
part10 1340383120.dat 2012/06/23(土) 01:38:40.22〜2013/03/12(火) 22:57:24.75
part11 1362913813.dat 2013/03/10(日) 20:10:13.34〜2013/12/19(木) 20:34:23.12
偽スレ 1363769640.dat 2013/03/20(水) 17:54:00.46〜

part11が立ってから10日遅れ
part10が埋まってからでも8日遅れ
もう重複とかいうレベルですらなく、ただの荒らしだな
何が嫌でこんな宣伝してるのか……part10終盤を再現したいとか?

toro.2ch.net/test/read.cgi/tech/1363769640/102
102 名前:デフォルトの名無しさん[sage] 投稿日:2013/12/17(火) 18:44:06.65
重複重複うるさいから確認してみたら、
正規の次スレが立って1週間以上経ってからこの偽物スレが立ってる。

どう考えても確信犯。
このスレを立てたのは恐らく本物のキチガイ。

55 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 07:02:29.39 ]
>>54
スレタイを勝手に変えてしまったから、どちらとも言えないけどね。
なんとかスタンダードとやらで、こちらが正統でいいんじゃないの。

56 名前:デフォルトの名無しさん [2013/12/20(金) 16:49:34.58 ]
正規表現って環境依存のイメージだけど、いわゆる「正規表現」ってあるの?

例えばC言語でも、
コンパイラの独自拡張を除いたいわゆる「C言語」ってあるじゃん。
そういう意味でいわゆる「正規表現」ってあるの?

57 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 18:55:07.78 ]
>>56
POSIXとかPCREのこと?
CもANSI C89とかいろいろあるでしょう。

58 名前:デフォルトの名無しさん [2013/12/20(金) 19:07:50.28 ]
>>56
Posix正規表現だけでもSRE、BRE、EREと3種あるくらいで所謂とか本家とかは
聞いたことないですね。
C++11でEcmascriptの正規表現もサポートとしていることや、利用者数、使い
やすさ等を鑑みてJSの正規表現を中心に考えてみてはどうでしょうか。
自分の製品に正規表現エンジンを組み込む場合は。

59 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 21:05:18.16 ]
>>52
短くていいな。
俺も昨日ちょっと考えてたけど、もうちょい長くなった。

60 名前:50 mailto:sage [2013/12/20(金) 22:57:20.64 ]
>>52
ありがとうございます!
もう少しでCSSを解析してハッシュの配列にしてからやるところでした!



61 名前:デフォルトの名無しさん mailto:sage [2013/12/21(土) 02:56:45.92 ]
>>55
part10終盤の様相からしたら仕方ない。
スレタイ変えた程度であの手の馬鹿が引っ込むってのも不自然だが、
自演だとしても質問スレ系みたいに変なルール追加されたわけでもなさげだし。

62 名前:デフォルトの名無しさん mailto:sage [2013/12/21(土) 03:04:06.35 ]
パーサとかって内部では正規表現使ってパースしてんのかね?
何のパーサかにもよるだろうけど、RSSのパーサとか

63 名前:デフォルトの名無しさん mailto:sage [2013/12/21(土) 03:50:16.65 ]
>>62
見てみりゃいいじゃん。

64 名前:デフォルトの名無しさん mailto:sage [2013/12/21(土) 03:53:20.96 ]
正規表現も使っているが、
正規表現だけでは限界があるので
単語の判断ぐらいに使ってる。

65 名前:デフォルトの名無しさん mailto:sage [2013/12/21(土) 04:00:03.52 ]
>>62
RSSのパーサってか、XMLのパーサだな。

66 名前:デフォルトの名無しさん mailto:sage [2013/12/21(土) 04:39:34.92 ]
そもそも正規表現自体が形式言語理論畑の言葉・概念がパターンマッチに流用されたものだからなぁ…
正しい定義で言うといわゆる正規表現は正規表現と呼ぶべきではないとか言う事になりそうですらある
逆にいわゆる正規表現とは全く異なるBNFとかの方が元の定義で言う正規表現らしかったりすらする程
そしてXMLはExtended BNFで定義されてるから、Extended BNFを正規表現と呼ぶならXMLパーサ=正規表現処理エンジンという事に

真面目に実装の話に戻ると、何らかの正規表現言語で言語を定義してそれをパーサジェネレータに食わせてパーサ作ったりするはず
ここで使う正規表現はいわゆる正規表現で無い事も多いが、正規表現を使っているといえば使っている
出力されたパーサには正規表現が含まれ・・・・・・ないんじゃないかなぁ・・・・・・

67 名前:デフォルトの名無しさん mailto:sage [2013/12/21(土) 11:16:20.61 ]
JScriptのエンジンって何?

68 名前:デフォルトの名無しさん [2013/12/22(日) 00:37:07.32 ]
質問です

C言語のソースコードに以下の条件に従ってスペースを入れたいのですが正規表現でどう書けば良いでしょうか?

1. 関数のカッコの中では、カッコの前後、及びカンマの前後に半角スペースを1つ入れたい
2. 但し、関数の中で文字列が引数になっている場合、その文字列に含まれるカッコやカンマの前後には何も入れない
3. 但し、ソースコード全体では、既に希望通りの半角スペースの入っている部分と、まだ入っていない部分がある

鬼車5.9.2です
よろしくお願いします

69 名前:デフォルトの名無しさん [2013/12/22(日) 01:05:58.47 ]
>>66
正規表現は文字列の集合を表すもの。
BNFは文脈自由文法を表すもの。
従って、正規表現で表現できるものはBNFでも表現可能だが、逆は真でない。
例えば、XMLの文法を表現するのにBNFが使えるが、正規表現では無理。

70 名前:デフォルトの名無しさん mailto:sage [2013/12/22(日) 01:12:21.33 ]
BNFは正規表現ではないの?



71 名前:デフォルトの名無しさん [2013/12/22(日) 01:19:10.65 ]
BNFが正規表現であると定義する世界ではORだけあれば全ての言語を記述できる。
可能なすべてのパターンをORでつなげばいいから。

72 名前:デフォルトの名無しさん mailto:sage [2013/12/22(日) 01:21:57.64 ]
>>69
あー、右正規文法か左正規文法を表現するのが正規表現で、
文脈自由文法は右正規文法と左正規文法を同時に含みうるのか。

ただどっちにしてもそこで言う正規表現ってこのスレで扱う正規表現じゃ無くてその元ネタの方だよね。

73 名前:デフォルトの名無しさん [2013/12/22(日) 01:25:47.38 ]
君は何が何でも自分が正しいと主張したい人のようだね。

74 名前:デフォルトの名無しさん [2013/12/22(日) 01:26:53.77 ]
でも結局のところ、Ajaxとかで取得したRSSをJSで加工するときは正規表現使うよな

75 名前:デフォルトの名無しさん mailto:sage [2013/12/22(日) 01:40:04.42 ]
>>74
DOMで扱う場合は使わない

76 名前:デフォルトの名無しさん [2013/12/22(日) 01:48:18.97 ]
>>67
JavaScriptの正規表現エンジンはブラウザ独自。
だからIEで挙動が違ったり、Chromeが正規表現のエンジンを高速化したりということがある。

何年か前からブラウザは動作速度合戦になって、各ブラウザ共色々テコ入れしてる。
JavaScriptとその中の正規表現エンジンもかなり動作速度に影響するから当然テコ入れ対象。

77 名前:デフォルトの名無しさん [2013/12/22(日) 01:51:07.17 ]
EMCAで規格が決まっています。

78 名前:デフォルトの名無しさん [2013/12/22(日) 02:54:20.70 ]
規格とエンジンは別だろ
規格に基づいてエンジン作るわけだから

79 名前:デフォルトの名無しさん [2013/12/22(日) 02:57:41.75 ]
Wikiって文法解析してHTML生成してるけど、あれは正規表現で解析してるの?

80 名前:デフォルトの名無しさん [2013/12/22(日) 03:06:17.95 ]
念のためにきくけど、正規表現で住所を切り分けるのって無理だよな



81 名前:デフォルトの名無しさん [2013/12/22(日) 03:20:59.29 ]
>>80
要件による

82 名前:デフォルトの名無しさん [2013/12/22(日) 03:22:31.90 ]
IEのJSの正規表現の挙動がおかしいのは昔話題になってなかったっけ。

83 名前:デフォルトの名無しさん mailto:sage [2013/12/22(日) 05:25:17.33 ]
>>77
ECMA?

84 名前:デフォルトの名無しさん [2013/12/22(日) 10:09:35.44 ]
>>79
全てがそうとは限りませんが、俺が見た範囲ではそうでした。

85 名前:デフォルトの名無しさん [2013/12/22(日) 12:32:08.28 ]
PHPです

HTMLのIMGタグから、ファイル名と、
もし幅か高さが指定されていればそれも抽出したいです

<img src="test.jpg">
<img src="test2.gif" width="200">
<img src="test3.png" width="200" height="160">

86 名前:デフォルトの名無しさん mailto:sage [2013/12/22(日) 12:47:55.74 ]
imgタグの仕様が分からなきゃ何とも言えないだろ
widthはパーセント指定できるの?構文解析の仕様は?

87 名前:デフォルトの名無しさん mailto:sage [2013/12/22(日) 12:56:13.97 ]
>>85
HTMLパーサでパースしろ
そしてここには二度と来るな

88 名前:デフォルトの名無しさん [2013/12/22(日) 13:00:48.21 ]
>>68
鬼車知らんけど、
([\(,])([.\s]*?)([,\)])
かな。

89 名前:デフォルトの名無しさん [2013/12/22(日) 13:25:48.13 ]
UTF-8でマルチバイト文字にのみマッチさせる正規表現はありますか?

90 名前:デフォルトの名無しさん mailto:sage [2013/12/22(日) 13:34:14.52 ]
ASCIIの範囲以外ならマルチバイトだろ。



91 名前:デフォルトの名無しさん [2013/12/22(日) 13:44:18.71 ]
>>90
数字だったら\dで表せるけどそういう簡単なのないですか?

92 名前:デフォルトの名無しさん [2013/12/22(日) 14:55:17.89 ]
[^アスキー全文字]+

93 名前:デフォルトの名無しさん mailto:sage [2013/12/22(日) 15:38:51.59 ]
POSIX文字クラスでググレ

94 名前:デフォルトの名無しさん mailto:sage [2013/12/22(日) 19:33:09.96 ]
>>80
四日市市とかで切り分けに失敗する自信がある

95 名前:デフォルトの名無しさん mailto:sage [2013/12/22(日) 20:53:52.69 ]
廿日市市と八日市市、他に何があったかな?
仮に[^:ascii:]{1,6}市?市としても、市名の次に市が付く町名が来たら厄介だな。

POSIX使ってみた([^:ascii:])
知らない人は「鬼車 正規表現」でググればわかる。
WSHとかでは使えないみたいだけど。

96 名前:デフォルトの名無しさん [2013/12/22(日) 21:53:21.53 ]
俺らの脳は市町村をどうやって切り分けてんだろ

97 名前:デフォルトの名無しさん mailto:sage [2013/12/22(日) 22:37:59.73 ]
>>95
四日市には市場町という地名があるようだ…

98 名前:デフォルトの名無しさん [2013/12/22(日) 23:06:47.37 ]
ワラタw

99 名前:デフォルトの名無しさん [2013/12/22(日) 23:10:22.38 ]
結局ブラウザごとにJSの正規表現エンジンって違うの?

100 名前:デフォルトの名無しさん mailto:sage [2013/12/22(日) 23:37:00.86 ]
>>97
なりたちからして自然だと思うが



101 名前:デフォルトの名無しさん mailto:sage [2013/12/23(月) 01:00:16.43 ]
>>80>>95
もう既存の市町村名から正規表現生成するスクリプト作ってしまったほうが良い気が

102 名前:デフォルトの名無しさん mailto:sage [2013/12/23(月) 07:58:36.38 ]
>>101
既存の市町村名全部持って、普通にマッチングした方がいいだろ...

103 名前:デフォルトの名無しさん [2013/12/23(月) 14:36:10.76 ]
これだけ注意すればよさそうだな
四日市市
野々市市
廿日市市

104 名前:デフォルトの名無しさん [2013/12/23(月) 14:39:25.15 ]
ちなみに八日市市は現存しない
www.city.higashiomi.shiga.jp/0000000610.html
平成17年2月11日には、
1市4町(八日市市・永源寺町・五個荘町・愛東町・湖東町)が合併し「東近江市」が誕生しました。

105 名前:デフォルトの名無しさん mailto:sage [2013/12/23(月) 14:42:30.11 ]
プログラマを救うために住所表記に対する正規表現の使用を禁止する法律が求められている

106 名前:デフォルトの名無しさん mailto:sage [2013/12/23(月) 15:44:28.03 ]
住所はいろいろあるからねー
www.addressmatch.jp/rule.html

107 名前:デフォルトの名無しさん [2013/12/23(月) 19:50:41.11 ]
>>68
2番目の条件がきつい

108 名前:デフォルトの名無しさん [2013/12/23(月) 23:14:24.79 ]
引数になってる文字列のコンマを別のものに置き換えて、
それからやったらどうよ
それでソースコードのコンマを処理し終わったらもとに戻す

[[comma]]とか

109 名前:デフォルトの名無しさん [2013/12/23(月) 23:53:19.75 ]
文字列の中に[[comma]]があったらどうする気だ。

110 名前:デフォルトの名無しさん mailto:sage [2013/12/24(火) 04:03:10.05 ]
>>102
大差なくね?
ああまあ市町村名DBをそのまま食わせられるからメンテ楽ってのはあるか…
しかし一度regexp.exec(str)すれば即結果が得られるってのもそれはそれで楽
>>104
古い住所入れる奴が居るから・・・
>>108-109
メタ文字決めて先にメタ文字のエスケープしろよ、定番だろ。



111 名前:デフォルトの名無しさん [2013/12/24(火) 15:37:26.19 ]
クリスマス関連の文字列を見たくないからネットサーフィンの際に
クリスマス関連の文字列でマッチしてクリスマス関連の文字列を含むウェブページをフィルタリングしたいのですが
どういう正規表現で書けばいいでしょうか

112 名前:デフォルトの名無しさん mailto:sage [2013/12/24(火) 17:47:45.62 ]
>>111
s/クリスマス関連/あぼーん/g

113 名前:デフォルトの名無しさん mailto:sage [2013/12/24(火) 19:25:31.28 ]
ブラウザの設定をアラビア語とかペルシャ語にしたらどうだい

114 名前:デフォルトの名無しさん [2013/12/25(水) 12:13:30.69 ]
s/.*(クリスマス|X'mas).*/あぼーん/g

115 名前:デフォルトの名無しさん [2013/12/25(水) 13:17:37.81 ]
Perl

痴漢

$1200.00
\24980000

3桁ごとに「,」を入れたい
$1,200.00
\24,980,000

116 名前:デフォルトの名無しさん [2013/12/25(水) 18:08:29.45 ]
s/(\d\d\d(\.|$))/,$1/

117 名前:デフォルトの名無しさん mailto:sage [2013/12/25(水) 19:07:10.42 ]
このスレにいる奴はこれどれくらいできる?
regex.alf.nu/

118 名前:デフォルトの名無しさん mailto:sage [2013/12/25(水) 22:14:50.89 ]
>>117
プログラミングの役に立たない無意味な正規表現を作る能力で何の能力を測るのかが不明。

119 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 11:54:11.09 ]
正規表現を使ったただの遊びで、
何か測るとか 考えすぎっつーか余裕なさすぎ

120 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 12:16:44.97 ]
>>117
ちゃんとマッチする物作って、点数が低いとかよくわからん。
マッチさせないギリギリを狙うゴルフなんだろか。



121 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 13:58:48.86 ]
>>116
それじゃダメだろ

122 名前:デフォルトの名無しさん [2013/12/26(木) 15:39:20.51 ]
じゃあお前書いてみろよ

123 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 15:48:59.72 ]
>>120
パターンの文字数が少ない方が点数が上がる
ドット使いまくり

124 名前:デフォルトの名無しさん [2013/12/26(木) 16:07:49.11 ]
Plain strings (205)
Anchors (204)
Ranges (202)
Backrefs (197)
Abba (183)
A man, a plan (165)
素数の逆転がうまくいかねー

125 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 18:48:08.56 ]
>>117
これ解析して正規表現を生成するプログラムは書くことできる?

126 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 18:48:35.02 ]
>>125
当たり前だろ

127 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 20:13:22.44 ]
>>123
なるほど、fooとか入れてくのね。
ありがd。

128 名前:デフォルトの名無しさん mailto:sage [2013/12/27(金) 06:30:50.86 ]
>>126
Prime(0) を生成するプログラムお願いします。

129 名前:デフォルトの名無しさん mailto:sage [2013/12/27(金) 08:52:28.55 ]
Plain strings (207) foo

130 名前:デフォルトの名無しさん mailto:sage [2013/12/27(金) 18:44:21.67 ]
>>124
^(xx+?)\1+$
の逆だから素直に
^(?!(xx+)\1+$)



131 名前:デフォルトの名無しさん mailto:sage [2013/12/27(金) 23:49:58.74 ]
すいません。VBScriptで
抽出した文字列にダブりがあります。
例:
AAA
BBB
AAA
CCC
BBB
CCC
これを
AAA
BBB
CCC
のように抽出し直すにはどうすればいいでしょうか?

132 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 00:43:17.44 ]
>>131
cat text.txt | sort | uniq

133 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 06:02:29.57 ]
>>132
重複を削れといっているようだが、整列し直せとは言っていない。

134 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 09:24:51.01 ]
>>133
Unixの勉強しましょうね

135 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 11:41:43.23 ]
>>131
正規表現スレだぞ
根本的に勘違いしてる
死んで良いよ

136 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 12:25:00.00 ]
>>134
?

137 名前:デフォルトの名無しさん [2013/12/28(土) 12:31:59.03 ]
>>133
cat text.txt | sort | uniq

uniqの部分をしっかり見ろよ

138 名前:137 ようわからん mailto:sage [2013/12/28(土) 12:38:28.75 ]
AAA  AAA  AAA  AAA
BBB  BBB  BBB  BBB
AAA          
CCC  CCC  CCC  CCC
BBB  BBB       
CCC  CCC  CCC    
この方法だとuniqしたく無い場合に良い。

139 名前:デフォルトの名無しさん [2013/12/28(土) 12:43:27.01 ]
整列が要件に入っていないのに勝手に整列させるのはまずいって言いたいんじゃないの?
するとsortが使えない、ゆえにuniqが使えないとなって破綻する。
UNIXのコマンドって微妙に使えないのが多くて、微妙に違うだけの同じ目的の
コマンドが多くて困る。
解決案として要件の変更が必ず提示されるのも困る。
それでUNIXは廃れたんじゃないかな?

140 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 12:49:05.40 ]
KISSの精神を体現したのがMac。



141 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 12:55:41.87 ]
>>139
要件に入ってない範囲なら整列するもしないも自由なのが常識。

142 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 12:58:58.73 ]
有るものを押し付けるのがUNIX、お客様の要望するものを用意するのが
Windows。

143 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 13:39:07.55 ]
/imsxadlup の /d /l /u の使い方教えて。英語読めないの。
perldoc.jp/docs/perl/5.14.1/perlre.pod#47l

144 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 13:46:20.25 ]
>>139
それは使いこなせてないんだろ。
Unixのコマンドは90%の解決を目指してる。その方が使いやすい。
自分の要件に合わせた、それにしか使えないコマンドが欲しいならプログラムすればいい。

145 名前:デフォルトの名無しさん [2013/12/28(土) 14:11:57.43 ]
UNIXのコマンドは微妙に使えないのが使いやすい。
使わなくて済むからだ。
〜ジャーゴンニュースより抜粋〜

146 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 14:19:31.38 ]
>>143
/d
この修飾子は、パターンマッチングの際にプラットフォーム固有のロケール(ASCIIなど)を使用するように指示する。
ただし、Unicodeを使うべき理由がある場合はこの設定はそちらが優先される。
この修飾子が具体的にパターンマッチングにどのような変化をもたらすかを以下のサンプルで示した。

/l
この修飾子は、パターンマッチングの際に現在のロケール設定を使用するように指示する。
このロケール設定はコンパイル時のロケールと同じであるとは限らず、
setlocale()を用いて任意のロケール設定を用いることができる。

/u
この修飾子は、パターンマッチングの際にUnicodeのルールを使用するように指示する。

147 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 15:07:09.11 ]
>>141
すでに抽出した行と同じ行は除外するというのが最も自然な
アルゴリズムなので、それを期待している可能性が高いから
整列は避けるというのが一番自然。

148 名前:143 mailto:sage [2013/12/28(土) 15:17:11.45 ]
>>146
おお、ありがとうございます。マジで助かりました。
おかげ様でperl 5.14.1の正規表現ルールを全部覚えられました、感謝〜。

149 名前:デフォルトの名無しさん [2013/12/28(土) 15:18:54.48 ]
>>148
どういたしまして。

150 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 15:40:23.44 ]
>>147 普通プログラムの問題だとsort()だけで重複が取れたりするから、 sortするのが当たり前だと思う。 ただ実務では300行に1行重複した行が紛れ込んでそれを削るという ケースがほとんどだから、絶対にsortを掛けたりしないもんだけど。



151 名前:デフォルトの名無しさん [2013/12/28(土) 18:44:49.26 ]
Regular Expressionと関係ねえからよそでやれ

152 名前:デフォルトの名無しさん mailto:sage [2013/12/29(日) 01:12:47.99 ]
そもそも要件に「VBScriptで」って入ってる段階でINIXコマンドは使えないって思うもんじゃね?






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

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

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