- 1 名前:デフォルトの名無しさん [2007/08/02(木) 13:53:20 ]
- 正規表現(Regular Expression)スレです。
質問する場合は実装言語や処理系ソフトウェア名を示しておくと話が早いです。
- 213 名前:209 [2007/10/07(日) 20:38:53 ]
- >>212
すみません。途中でした。 '/^涼子|^愛|^美姫/'; だと涼子、愛、美紀も全部ひっかかってしまいます。 それだけを含んで、それ以外の文字列を全然含まないようにしたいのですが。
- 214 名前:デフォルトの名無しさん [2007/10/07(日) 20:55:01 ]
- 同じくphp5のpreg_matchですが、
半角または全角の数字から始まるはどう書きますか?
- 215 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 21:39:55 ]
- >>213
/^(?:涼子|愛|美姫)*$/ とか?
- 216 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 21:40:46 ]
- >>214
/^(?:\d|1|2|3|4|5|6|7|8|9|0)/ とか?
- 217 名前:デフォルトの名無しさん [2007/10/08(月) 00:15:19 ]
- $string = '涼子愛子美紀';
$result = preg_replace( '/涼子|愛|美姫/', '', $string); echo 'おまんこ';
- 218 名前:デフォルトの名無しさん [2007/10/08(月) 13:51:27 ]
- >>215-216
ありがとうございました。 >>217 氏ね!
- 219 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 17:38:51 ]
- NFAを機械的にDFAに変換する方法を教えてください。
- 220 名前:デフォルトの名無しさん [2007/10/08(月) 20:14:07 ]
- そんなもん無い!
って答えでFA?
- 221 名前:ヽ・´∀`・,,)っ━━━━━━┓ mailto:sage [2007/10/19(金) 03:35:03 ]
- Aho-Corasick改とかでいいと思うが。
- 222 名前:デフォルトの名無しさん [2007/10/25(木) 17:50:49 ]
- phpなんですが、*.example.*/にマッチさせたいと思ってます。
2つめの*の部分で、comやjp等にマッチさせたいのですが、 http:\/\/(.+\.)?example\..+/では、 www.example.hoge.com/なんかもマッチしてしまいます。 http:\/\/(+\.)?example\.(com|jp)/とかにすると、 新しいドメインがでてきたときに対応できません。 何かよい方法ありませんでしょうか?
- 223 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 18:33:14 ]
- >>222
「新しいドメイン」ってのはどんなところまでを想定してる?
- 224 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 18:49:54 ]
- 簡易なのでよければ \..+ じゃなくて \.[^/.]+ にするとか
- 225 名前:デフォルトの名無しさん [2007/10/25(木) 19:51:52 ]
- http:\/\/(+\.)?example\.[^.]+\/
- 226 名前:デフォルトの名無しさん [2007/10/27(土) 16:43:32 ]
- /\/\/\/\/\//\/\/\/\/\/\/\FUCKINTOSH?_*+*}+}`+`%$W`}!LT`LA<VR`AKVAREGERGA"#%IW$%U&'I<{)'(<O'T(*O>
最近、こうして何の作意もなく打ったものが正則表現に見えてどうしようもない
- 227 名前:デフォルトの名無しさん [2007/11/08(木) 00:14:41 ]
- 最初と最後は"/"であり、
その間に"/../"や"/./"が発生しない文字列を 正規表現では記述できますか? [×] /etc/../usr/./local/ /../ /./ [○] /etc/sysconfig/ /abc/.aaaa/
- 228 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 05:41:48 ]
- >>227
正規表現で一気に行うんじゃなくて、 "/" で分割して、各パーツがドットだけで構成されていたらハネる、とか (ディレクトリトラバーサル対策ならよく調べたほうがいいかも)
- 229 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 08:45:57 ]
- ありがとうございます。
xmlのxsd:patternで書きたかったのですが、だめそうです。考え直してみます。
- 230 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 13:40:57 ]
- >>227
これでどうかな。 ^/(([^/.][^/]*|\.[^/.][^/]*|\.\.[^/]+)/)*$ 汚染チェックに使うなら>>228の言うようにした方がいいな。
- 231 名前:デフォルトの名無しさん [2007/11/11(日) 17:33:05 ]
- webでの絵文字表示に苦戦しているのですが、
BAD+[SJISコード]を正規表現で表すにはどう書いたらいいですか?
- 232 名前:デフォルトの名無しさん [2007/11/11(日) 17:34:32 ]
- 書き忘れていました。言語はPHPで、バージョンは4.4.1です。
- 233 名前:デフォルトの名無しさん [2007/11/11(日) 23:06:58 ]
- ぐ・ぐ・れ
- 234 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 23:47:19 ]
- うん、ググれば全て解決するからこのスレ潰すべきだね。
- 235 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 23:52:31 ]
- aho
- 236 名前:デフォルトの名無しさん [2007/11/12(月) 00:15:22 ]
- ワロタwwwwwww
- 237 名前:デフォルトの名無しさん [2007/11/12(月) 01:18:32 ]
- いや、ググって該当するページを見たんですけど、正規表現の構成の仕方がわからなくて、
ここに書き込みました。 調べるだけ調べたんですけど、やはりだめでしょうか
- 238 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 01:42:05 ]
- だめです
- 239 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 04:32:21 ]
- なんだこいつら 本当はできないんじゃねーの?
- 240 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 09:32:04 ]
- >>239
お、やっと気づいたようだね。それじゃあバイバーイ!
- 241 名前:デフォルトの名無しさん [2007/11/12(月) 19:50:58 ]
- 質問です。正規表現でconsumeするというのは日本語でいうとどういうことですか?
- 242 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 19:59:53 ]
- 文字を消費するということ。
- 243 名前:241 [2007/11/12(月) 21:10:47 ]
- >>242
ありがとうございます。「文字を消費する」とはどういうことでしょうか? イメージが湧きません。
- 244 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 22:24:56 ]
- 正規表現 /..c/ を "abc" にマッチさせたときを考えると、
最初の /./ は "a" にマッチして消費する。 すると、なんと言うかテキストエディタのカーソルが一つ進むのをイメージしてくれたらよいか、 二個目の /./ が "b" にマッチできるようになる。
- 245 名前:デフォルトの名無しさん [2007/11/12(月) 22:30:07 ]
- テキストエディタの ed ってのが元になってるからね。
カーソルって例えはナイス!
- 246 名前:241 [2007/11/12(月) 23:16:33 ]
- >>244
なるほど、よくわかりました。ありがとうございます。
- 247 名前:デフォルトの名無しさん [2007/11/15(木) 07:57:08 ]
- おはようございます。このスレの過去ログってネットにありますか?
- 248 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 16:55:18 ]
- あります。
- 249 名前:デフォルトの名無しさん [2007/11/15(木) 20:14:33 ]
- アキュムレータの0ビット目って左端?それとも右端?
- 250 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 00:58:31 ]
- >>249
スレ違い。
- 251 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 23:29:30 ]
- >>249
左
- 252 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 01:06:19 ]
- perl互換のFlexible Renamerで置換したいのですが。
(hoge)hoge(hoge).txtを(hoge) hoge(hoge).txtとしたい場合はどう書けばいいのでしょうか。 )の直後にスペースを入れ、拡張子前の)の直後には入れたくないんです。
- 253 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 01:30:29 ]
- ")" -> ") "
" ." -> "."
- 254 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 01:34:08 ]
- >>253
なるほど。2回やるという手が・・・。ありがとうございました。
- 255 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 09:27:48 ]
- リネーマの仕様によるけど、Perl互換なら
"^(\([^)]*\))" -> "$1 " "^(\([^)]*\))(.*)" -> "$1 $2" とか。いずれにしても調整が必要
- 256 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 19:15:56 ]
- vb.netで
「// xxxxx EXEC 〜」で始まり、 「// xxxxx EXEC 〜」で始まる1行前までを 1グループで取得したいと考えています (?ims:(^\/\/+\s+EXEC+.+)) だとまるまる取得してしまうのはわかるのですが、 これを上記の様に取得するにはどう書けばよいのでしょうか? ご教授よろしくお願いいたします。
- 257 名前:デフォルトの名無しさん [2007/11/18(日) 20:18:03 ]
- split
- 258 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 02:39:09 ]
- >>256
なんでスラッシュをエスケープしてんだよw .NET の正規表現なら可変長の戻り読みが使えたと思うから、 その始まりのしるしと終端のしるしを戻り読みの部分と先読みの部分に置けば? .NETで可変長の戻り読みができなかったらすまんw
- 259 名前:デフォルトの名無しさん [2007/11/22(木) 22:35:09 ]
- 数値比較をしたいのですが、0x021a4 っていくつなのでしょうか?
- 260 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 23:13:20 ]
- 2 * 16^3 + 1 * 16^2 + 10 * 16^1 + 4 * 16^0
- 261 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 23:17:32 ]
- >>259
電卓開く ↓ 関数電卓モードにする ↓ 16進モードにする ↓ 21a4と打つ ↓ 10進モードにする 正規表現の話じゃねーし
- 262 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 01:54:14 ]
- ttp://www.google.co.jp/search?hl=ja&q=2*16%5E3%2B1*16%5E2%2B10*16%5E1%2B4*16%5E0&lr=
- 263 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 01:58:02 ]
- www.google.co.jp/search?q=0%2B0x021a4
これでおk
- 264 名前:デフォルトの名無しさん [2007/11/23(金) 02:44:38 ]
- 16進数知らないプログラマがいるのか・・・時代は変わったな。
- 265 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 02:46:28 ]
- プログラマじゃないから
- 266 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 08:04:03 ]
- 具体的には秀丸エディタで置換を行いたいのですが、こうするには…
-------------- [12:34:56] 発言者1: 文章2 文章3 [12:34:56] 発言者2: 文章4 ↓ [12:34:56] 発言者1: 文章2 文章3 [12:34:56] 発言者2: 文章4 -------------- どうしたら良いのでしょうか?(文章の中に [ ] が含まれる可能性は無いものとして単純に) \n[ と記述すると、正規表現の括弧の対応が合ってないとか怒られてしまいます。 非常に初心者な質問ですいません。
- 267 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 09:26:00 ]
- エスケープ
- 268 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 11:43:08 ]
- regexre
FrameworkFrame などといったような「同じ文字列とそれに挟まれた別な文字列」を取り出したいのですが、 どういう文を書いたら実現できますか? PHPのpreg_replaceで使用します。 よろしくお願いします。
- 269 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 12:00:17 ]
- re(.*)re でいけると思うけど。
以下はJScriptだけどこれくらいなら読み取れるよね? var keyword = "re"; var pattern = keyword + "(.*)" + keyword; var objReg = new RegExp(pattern); "regexre".match(pattern); WScript.StdOut.WriteLine(RegExp.$1); "rere".match(pattern); WScript.StdOut.WriteLine(RegExp.$1); "regexregex".match(pattern); WScript.StdOut.WriteLine(RegExp.$1);
- 270 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 12:50:33 ]
- Ruby なら (.+)(.+)\1 で $2 を取ればいけるけど、
PHP でいけるかどうかは知らん
- 271 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 12:53:54 ]
- >>269
日本語読解力に大きく欠けますな
- 272 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 13:00:21 ]
- eregexreならrが取れるはずだからつかいものになるのか?
- 273 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 13:05:34 ]
- eregexre なら regexr が取れる。
最長一致だから。 これが目的の物かはともかくとして。
- 274 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 13:51:50 ]
- >>269
すみません、説明不足でした。 同じ文字列というのも未知なのです。 >>270. ありがとうございます。 Rubyならいける、というのは期待が持てました。 早速調べてみます。 >>272-273 ここも説明不足でした。 「同じ文字列とそれに挟まれた別な文字列」の全てを取得したいです。 つまりThisIsThePenという文字列からThisIsTh(とePe)を取得できるようにしたいのです。
- 275 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 13:56:24 ]
- sIs は要らないの?
- 276 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 14:00:51 ]
- sIs が必要ないならとりあえず Ruby ではこうなる。
PHP でいk(ry 'ThisIsThePen'.scan(/((.+).+\2)/) { puts($1) }
- 277 名前:デフォルトの名無しさん [2007/11/23(金) 19:31:22 ]
- 文字列 [全ての文字] を 正規表現 [[]([^\]]+)] で 全ての文字 を取り出すことができますが、 文字列 {全ての文字} で 全ての文字 を取り出す正規表現を教えてください。
- 278 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 19:42:51 ]
- 日本語でおk
- 279 名前:デフォルトの名無しさん [2007/11/23(金) 19:46:56 ]
- \{([^\}]+)\}
- 280 名前:デフォルトの名無しさん [2007/11/24(土) 08:40:39 ]
- ありがとう。
すごいね 正規表現分かる人尊敬するわ
- 281 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 09:46:49 ]
- 別に大した事じゃない。
すげーとか思って思考停止してるから理解できないだけ。
- 282 名前:デフォルトの名無しさん [2007/11/24(土) 09:48:41 ]
- 分かりました。
私も頑張って勉強します
- 283 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 10:09:17 ]
- よし! その意気だ!
- 284 名前:デフォルトの名無しさん [2007/11/24(土) 11:18:23 ]
- ホモビデオからお前ら。
- 285 名前:デフォルトの名無しさん [2007/11/25(日) 17:53:21 ]
- なんでホモなの?
私は女性です
- 286 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 19:20:34 ]
- 性同一性障害か
- 287 名前:デフォルトの名無しさん [2007/11/25(日) 20:30:25 ]
- 性器表現
- 288 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 20:32:19 ]
- モザイクのことか
- 289 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 00:01:46 ]
- >>285
ホモセクシュアルは同性愛って意味だよ 当然、女性同士でも使う
- 290 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 12:46:15 ]
- ここにいる奴らは全員例外なくホモ
サピエンス
- 291 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 15:19:45 ]
- ホモ牛乳という名前にはかなりインパクトがあると思うんだ
- 292 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 15:26:00 ]
- 「ホモゲナイズド牛乳」じゃ長すぎるべ。
- 293 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 18:38:03 ]
- ホモジニアス・マルチコアを略してホモコア呼べ
- 294 名前:デフォルトの名無しさん [2007/11/27(火) 08:45:29 ]
- みんな頭おかしいのですね。
残念です
- 295 名前:デフォルトの名無しさん [2007/11/27(火) 11:39:19 ]
- HTMLに含まれる CSSの
class="***" や id="**" , aタグの target="***" を削除したいんですが、観よう見真似でやったのですが マッチしてくれません。どなたか.. (id|class|target|title|style|name)=[\+\$\;\?\.\W\w%,!#~*/:@&=_-]+? PC用に吐き出されたデータを、携帯用に変換したくて..
- 296 名前:デフォルトの名無しさん [2007/11/27(火) 11:56:07 ]
- target="[^"]*"
- 297 名前:デフォルトの名無しさん [2007/11/29(木) 17:43:52 ]
- HTMLのコメントを取得するにはどうしたら良いでしょうか?
<!--[^-->]*--> で試したのですが[^-->]だと各文字を含まないとなってしまうのでだめでした。 文字列を含まないって表現方法がわかりません。 お手数ですがよろしくお願いします。
- 298 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 18:01:50 ]
- >>297
貪欲でないマッチ
- 299 名前:デフォルトの名無しさん [2007/11/29(木) 18:35:11 ]
- >>297
html パーサ使え
- 300 名前:297 mailto:sage [2007/11/29(木) 19:51:50 ]
- >>298
ありがとうございます。 貪欲でないマッチでググッた所無事解決しました。 >>299 プログラム内で使いたかったので、 パーサを使うとhtml記述ミスなどがあった場合に面倒なので正規表現を使う事にしました。
- 301 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 23:53:17 ]
- >>299
アホ
- 302 名前:デフォルトの名無しさん mailto:sage [2007/12/02(日) 03:37:22 ]
- bregexp.dllを使って
<th>ほげほげ<br/>ほげほげ</th> のような<th>で囲まれた内部の<br/>だけ削除したいのですが、 <br/>の数が不定で困ってます。どう書けばよいのでしょう?
- 303 名前:デフォルトの名無しさん [2007/12/02(日) 17:04:43 ]
- >>302
html パーサ使え
- 304 名前:デフォルトの名無しさん [2007/12/03(月) 18:49:06 ]
- 正規表現でand検索したいのですが
どのようにすればいいのですか? 正規表現: Win.*Mac.*Linux.*Sun 上記のようにやると、順番が固定されてしまいます。 どのような順番でもいいので4つ入っていれば ヒットさせたいのです。
- 305 名前:デフォルトの名無しさん mailto:sage [2007/12/03(月) 19:19:07 ]
- >>304
肯定戻り読み
- 306 名前:デフォルトの名無しさん mailto:sage [2007/12/03(月) 21:22:52 ]
- (?=.*Win)(?=.*Mac)(?=.*Linux)(?=.*Sun).*
- 307 名前:デフォルトの名無しさん mailto:sage [2007/12/03(月) 23:37:29 ]
- NHKのFMの番組の曲の時間表示(全角の数字と '分'と'秒'から成る文字列で
末尾は必ず '秒' )を一気に半角数字と「分⇒m」「秒⇒s」のように一気に置換 する方法がありますか? 全角数字でも '2007年' のような文字列はそのま まにしたいのです。 【例】 '6分08秒' ⇒ 6m08s
- 308 名前:デフォルトの名無しさん [2007/12/04(火) 00:20:03 ]
- tr/時分秒/hms/
- 309 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 09:06:00 ]
- >全角数字でも '2007年' のような文字列はそのままにしたい
のなら >【例】 >'6分08秒' ⇒ 6m08s は '6分08秒' ⇒ 6m08s ならないといけないの? それとも【例】のようにして欲しいの?
- 310 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 21:11:44 ]
- 正規表現処理系一般の話なら文字変換はダメだなあ
- 311 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 21:38:52 ]
- tr/時分秒[0-9]/hms[0-9]/
- 312 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 21:39:27 ]
- trはスレ違いだろ
- 313 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 00:33:46 ]
- >>309は日本語が読めないのだろうか?
|

|