[過去ログ] Regular Expression(正規表現) Part14 [無断転載禁止]©2ch.net (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
41: 2017/04/12(水)21:12 ID:u8woYKAJ(2/2) AAS
>>40
なんか勘違いしてそうな記述なんだけど?
それは、(,a,b,c,)の5文字以外の1文字を表してる
文字列abc以外を表すのなら
(?:(?!abc).)
42: 2017/04/12(水)21:52 ID:ixmoPw8q(1) AAS
Ruby 2.4.1で使えるようになった非包含オペレータ便利
外部リンク:qiita.com
43(1): 38 2017/04/12(水)22:16 ID:QHemYrmG(2/2) AAS
>>39>>40
レスをありがとうございます。
やろうとしてたのは下記例のような場合で、-で直接挟まれた文字のみ残したいというものです。
消-残-残--消 -残--消 -残-
消--残--消 -消 -残-
44(1): 2017/04/13(木)05:45 ID:Bx+Z85rt(1) AAS
- と - の間の文字列で空白文字が入っちゃいかんということならこんな感じ?
perl -ne 'print( /(?<=-)([^-\s]+)(?=-)/g ,"\n")'
こういうことじゃないならもう少し説明を。
45(1): 43 2017/04/14(金)03:41 ID:8AuQ8qy9(1) AAS
>>44
レスをいただきありがとうございます。教えて頂いた記述はPerlということであってますよね?
Perlを導入して使ってみてからレスをお返ししようといろいろ調べていたら、大変遅れてしまい礼を欠いてしました。
いろんなサイトを見過ぎたせいか、結局導入方法が絞れないというか、よくわからなくり、
時間だけが過ぎましたので不甲斐なく申し訳ないですが兎に角お礼まで。どうもありがとうございました。
46(1): 2017/04/14(金)08:15 ID:mEmX7gnv(1) AAS
ブラウザから実行すれば、簡単
paiza.IO, codepad なら、ログインもいらない
47(1): 2017/04/14(金)09:03 ID:uldWbSLb(1) AAS
>>45
とりあえず>>1-2を嫁
48(1): 2017/04/14(金)11:21 ID:7lZUeeAF(1) AAS
置換でやるとすると、これでどうかな?
これなら適当なエディタやWSH(JScript)ででも実行できる
(先頭の.*?を[\s\S]*?に変えれば、改行コードは末尾のみになる)
ただ、もしかすると考慮抜けの場合があるかも
正規表現:/.*?-([^\s-]+)(?=-)|-*[^-]*?(\r)?$/mg
置換文字:$1$2
49(1): 2017/04/15(土)02:46 ID:8aYCgh5m(1/2) AAS
レスをくださった方々、また遅くなりましたがありがとうございます。
>>46
こんな便利なものがあるんですね!教えていただきありがとうございます。またゆっくり触ってみたいとおもいます。
>>47
質問方法の不備を自覚しました。以後気を付けます。申し訳ありません。
>>48
サクラエディタで希望どうりの置換えが出来ました。本当にありがとうございます。
たて続けになり申し訳ないのですが。できればもう一つお聞きしたいです。
下記のような英文やその他も、単語と単語の間に入る半角スペースを許容することは可能でしょうか?
-Good Morning-
省3
50(1): 2017/04/15(土)09:28 ID:7fUWShMv(1/5) AAS
>>49
それは別件なのか?
-a -b-
の場合、その条件なら
a b
が残ることになるけど?
それでいいなら、\sを抜くだけでもいいし、(?=-)も取ってもいい
51(1): 2017/04/15(土)10:02 ID:7fUWShMv(2/5) AAS
ごめん、「間に入る」だったのか
/.*?-((?:[^-\s]| )*[^-\s])(?=-)|-*[^-]*?\r?$/mg
$1
52(1): 2017/04/15(土)10:07 ID:7fUWShMv(3/5) AAS
\rもいらないか
/.*?-((?:[^-\s]| )*[^-\s])(?=-)|-*[^-]*?$/mg
53(1): 2017/04/15(土)10:21 ID:7fUWShMv(4/5) AAS
これじゃまずい
/.*?-((?:[^\s-]| )*[^\s-])(?=-)|.*-(?:[^\s-]| )*[^\s-](?=[^-])|-*[^-]*$/mg
冗長かもしれない
54(1): 2017/04/15(土)10:24 ID:7fUWShMv(5/5) AAS
↑でも問題ないけど
/.*?-((?:[^\s-]| )*[^\s-])(?=-)|.*-(?:[^\s-]| )*[^\s-](?!-)|-*[^-]*$/mg
55: 2017/04/15(土)11:39 ID:8aYCgh5m(2/2) AAS
>>50-54
無理を利いてくださりありがとうございます。
実は最初の質問に穴があったので別件という形で再質問させていただきました。失礼しました。
教えて頂いた記述は完璧でした本当に感謝です!
レスも何度もくださってこの度は大変お世話になりました。
56(2): 2017/04/20(木)21:29 ID:rsUIJG5Q(1/2) AAS
●Regular Expressionの使用環境
Becky!
●検索か置換か?
検索
●説明
+0900以外に一致
●対象データ
+
-
+0
省11
57(1): 2017/04/20(木)21:30 ID:rsUIJG5Q(2/2) AAS
+
-
+0
-0
+09
-09
+090
-090
-0900
+09000
省5
58(1): 2017/04/21(金)08:10 ID:P/4d/uOg(1/2) AAS
Beckyで使えるかは知らんけど
^(?!\+0900$).*
59(1): 2017/04/21(金)12:02 ID:30M0P9UI(1) AAS
zip版をダウロードしてchmヘルプファイルを見てみたら、
正規表現は本当に基本的なものしか無かった
(?!)はおろか()とかのキャプチャ自体無い(括弧は優先順位が上になるだけ)
[abc-d]もダメ( ([ab]|[c-d])と分けて書くらしい)
だから、やるなら
^[^+]|^\+$|^\+[^0]|^\+0]$|^\+0[^9]|…と全ての場合を併記するしかないかも
60(1): 2017/04/21(金)14:10 ID:P/4d/uOg(2/2) AAS
鬼車や鬼雲使わず独自実装なんだね。シェアウェアだからかな
非包含か先読みを使えなきゃ実質無理だと思う
^\+0900$ の方をどうにかする運用を考えた方が良い
Beckyの公式のメーリングリストや掲示板で正規表現じゃなく具体的にやりたい事を質問してみたら?
上手い運用方法を思い付いてくれる人が居るかも
上下前次1-新書関写板覧索設栞歴
あと 942 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.147s*