[過去ログ] Regular Expression(正規表現) Part14 [無断転載禁止]©2ch.net (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
224: 2017/06/25(日)15:19 ID:cBKwT0iz(6/6) AAS
>>222
なるほど。

外部リンク[html]:hide.maruo.co.jp
> Unicode正規化を行ないます。
> パラメータとしてNFC、NFD、NFKC、NFKDが指定可能です。

Googlエ
> 合成形に正規化する方法を NFC(Normalization Form Composition)
225: 2017/06/29(木)16:59 ID:02bfNUCV(1) AAS
質問します
●Meryで置換

●対象データ
wwwwwwwa,AAAAA,gawgagaw,fwaf awfaf
n,BBB,gawgagaw,fwaf awfa,fwaaw,fwaaw
rea,CCCC
ae,DD,gawgagaw,fwaf awfaf ,fwaaw

●希望する結果
カンマ2番目の
AAAAA
省12
226
(1): 2017/06/29(木)18:40 ID:poRQnsAj(1) AAS
(^.*?,).*?(?=[,¥n])
rea,CCCCのパターンが行末だとできないんだよなー。
227
(1): 2017/06/29(木)18:57 ID:WmvxL1Sm(1) AAS
^([^,]*,)[^,\r\n]+

$1******
に置換
"a,b",defのようなものはダメだが
228: 2017/06/30(金)03:23 ID:9+Qy2E7i(1) AAS
>>226-227
ありがとうございます 上手くいきました 
使わせていただきます&勉強材料にさせていただきます
229
(1): 2017/07/06(木)20:38 ID:zX6kiHLz(1) AAS
質問です。
●Regular Expressionの使用環境
Java Script

●検索か置換か?
置換

●対象データ
abc:ABCDEFG
def:123456789
ghi:くぁwせdr

●希望する結果
省5
230
(2): 2017/07/07(金)08:13 ID:QFC9teR0(1) AAS
後読みが使えないJSなら/def:(.*?$)/m
使えるなら/(?<=def:).*?$/m
231
(2): 2017/07/08(土)02:10 ID:OqNCkVph(1) AAS
BBCの正規表現クイズ。たまにはこういうのも面白いね
外部リンク:www.bbc.co.uk
232
(1): 2017/07/08(土)06:16 ID:b/20QJ7+(1/2) AAS
>>230
こういう場合、先読みの方法でやるメリットって有るんですか?
初心者なんで教えて下さい。
233: 2017/07/08(土)06:17 ID:b/20QJ7+(2/2) AAS
訂正
後読みでした。
234: 2017/07/08(土)09:10 ID:NOOXEVdu(1) AAS
>>232
後読みの部分にはマッチしない

つまり>>229で後読み使った場合には
123456789
にマッチするがそうでない場合は
def:123456789
にマッチする
235: 2017/07/08(土)19:51 ID:utlt5XjQ(1) AAS
後読みの説明はそうなんだけど、>>230 について訊いてるんでしょ?

俺も>>230の意図はよくわからん。行単位の処理を希望してるのにm付けてるし
236: 2017/07/10(月)01:20 ID:8zNQYoZi(1) AAS
>>231
日本語の記事
外部リンク:gigazine.net
237: 2017/07/15(土)10:24 ID:/mu01QmD(1) AAS
>>231
新しいなコレ!

面白いんでエクセルで入力できるフォーマットを作ってみた
外部リンク[xls]:www.dotup.org

(拡張子でうちのエクセルが激古なのがバレる…)
238: 2017/07/15(土)12:03 ID:6mzqXSAQ(1) AAS
少しやって時間の問題だなと思って途中で切り上げて答見たけど
数文字しか合ってなかった
最後までやらなくてよかった
239
(1): 2017/07/25(火)08:57 ID:QW1aVSBc(1/5) AAS
●Regular Expressionの使用環境
VBA7.1

●検索か置換か?
検索

●説明
期待する数値の桁数かどうか。拡張子はあっても無くても良い。

●対象データ
AA17-0001.xlsm
AA17-0002

●希望する結果
省8
240
(2): 2017/07/25(火)09:09 ID:jjK7Ecmt(1) AAS
>>239
VBAの仕様は知らんけど、これでできない?
^AA¥d{2}¥-¥d{4}(¥.xlsm)?$
241: 2017/07/25(火)12:00 ID:QW1aVSBc(2/5) AAS
>>240
有り難うございます!ばっちりです。
$マークを足すだけで良かったんですね。助かりました。
242
(1): 2017/07/25(火)12:23 ID:QW1aVSBc(3/5) AAS
差し支え無ければ、 ^AA\d{2}-\d{4}(\.xlsm)? だと

ND17-00001
ND17-00001.xlsm2

等々にもマッチしてしまう理由を教えていただけないでしょうか。
243
(1): 2017/07/25(火)12:24 ID:QW1aVSBc(4/5) AAS
ミス。AAでした。
AA17-00001
AA17-00001.xlsm2
244: 2017/07/25(火)12:38 ID:0gI9u146(1) AAS
>>242,243
横からだけど
AA17-0000部分にマッチしちゃうんじゃない?
245: 2017/07/25(火)13:05 ID:BGzbzmfB(1) AAS
^AA\d{2}-\d{4}(\.xlsm$)?

"^AA\d{2}-\d{4}" と "^AA\d{2}-\d{4}\.xlsm$" という意味
AA17-00001
AA17-00001.xlsm2
の "AA17-0000" の部分に前者がマッチする
"^AA\d{2}-\d{4}$" であればマッチしない
246: 2017/07/25(火)13:22 ID:QW1aVSBc(5/5) AAS
なるほど。分かりやすく有り難うございます!
だから>>240で期待通りになるんですね。
頭固いと理解するのが大変です。。orz
247: 2017/07/25(火)13:29 ID:oWvKCPb4(1) AAS
?は「直前のパターンが 0回または 1回登場する事」なので、そのパターン中に、$「行末」を含めてしまうと、(0回登場側で)効果が消えてしまう。
1人で書いてるとよくやるミスだと思う。
248: 2017/07/25(火)21:26 ID:lTcbRvTI(1) AAS
^AA\d{2}-\d{4}
は実は
^AA\d{2}-\d{4}.*$
だと考えれば理解の助けになるかも。ならないかも。
249
(5): 2017/07/26(水)01:05 ID:3rtPYRQF(1) AAS
^AA\d{2}-\d{4}(\.xlsm$)?

$?
行末の後ろに、? か。
この式は、見た瞬間に、おかしいとわかる
250
(1): 2017/07/26(水)11:10 ID:Vp/yahqk(1/2) AAS
>>249
文法的にも間違いでは無いだろ
251
(1): 2017/07/26(水)13:08 ID:9H6h7u80(1) AAS
>>250
文法的には正しいけれど、式としておかしい「と感じる事ができる」と言いたいんだと思う。
252: 2017/07/26(水)14:48 ID:Vp/yahqk(2/2) AAS
>>251
式としても正しい
253
(2): 2017/07/26(水)14:55 ID:aH2YwDtv(1) AAS
250,252みたいなのをアスペっていうんだろうな
論点は式や文法として正しいか正しくないかではないって事ぐらい一目見れば分かりそうなもんだが
254: 2017/07/26(水)16:41 ID:NnPMbS6q(1) AAS
きちんと整理すると目的に合わない正規表現が直感的に分かるエスパー能力
としか言いようがないし>>249がその能力者だとしても特に羨ましくもない
255: 2017/07/26(水)17:37 ID:UlpW8N7A(1/2) AAS
例えば、エディタの検索等で強調表示する際の式としてなら何も不思議は無いが
プログラム中での判定式ならば後者は必ず前者にマッチするので意味を成さない
つまり無駄に冗長であったり何かミスをしている可能性が高い。そういう事でしょ
256: 2017/07/26(水)17:37 ID:Sop8S35W(1) AAS
>>253
プログラマに多いタイプではある
257: 2017/07/26(水)17:52 ID:Bbl5PJto(1) AAS
問題は >>249 が何の役にも立ちそうにないということじゃないかな。
何を言いたいか想像できなくもないが、単に知らないだけという可能性もまた捨てきれない。
ここはそういう場所だ。
明確に「$ は末尾にだけ書くようにすれば間違いを防げると思うよ」とでも書けばよかったのに。
258: 2017/07/26(水)18:26 ID:UlpW8N7A(2/2) AAS
まあ読点の打ち方とかみるにアホガキか底辺土方がドヤりたかっただけだろうから
そろそろそっとしておいておやり
259: 2017/07/26(水)19:38 ID:VudXLbcK(1) AAS
臭う正規表現だと言えばいいのかな
260: 2017/07/26(水)21:03 ID:JJ3vg08i(1) AAS
>>249は句読点の打ち方からも、おかしいとわかる

発端は正規表現は行を対象にマッチするものという偏見じゃないか
261: 2017/07/27(木)08:25 ID:JB/MQIbV(1) AAS
>>253
もう本来の問題は解決して、間違いを防ぐという話をしているところに >>249 だ。
いかにも頭悪そうだけど何しに来たんだというのが論点じゃないのか?
262: 2017/07/27(木)09:03 ID:32ZlcHw6(1) AAS
よくこんなネタでいつまでも盛り上がれるな
263: 2017/07/27(木)10:22 ID:FeDFxsXm(1) AAS
うむ
264
(1): 2017/07/27(木)11:04 ID:w0VKyQmM(1) AAS
そこら辺も含めてプログラマに多いタイプって事だ
話の流れや空気を読むのが苦手なタイプ
265: 2017/07/27(木)15:20 ID:DvNlZLuV(1) AAS
>>264
辛辣ワロタ
266: 2017/07/27(木)18:27 ID:t8Fq16Nl(1) AAS
2ch的にはまだ甘い方
267
(1): 2017/07/27(木)19:38 ID:/VCkXAgy(1) AAS
プログラマって話の流れが読めないやつ確かに多い気がするけど、何でなんだろう。
プログラムとかって、流れを理解する事が重要じゃん?
268: 2017/07/27(木)21:11 ID:oiygPPLB(1) AAS
プログラマーとひと口に言ってもピンキリ
使えないキリの方のコミュ障ボッチオタク系IT土方をバカにするネタでそういったのが多いから
そんなイメージが付いてるだけでしょ
業種に依らず底辺のゴミ共に通じるネタだったものが独り歩きしたんじゃない?

まあでも「流れや空気を読む」てのはファジーな判断能力でコミュニケーションの中で培われるから
人間関係よりも数学の方が楽って人には難しく、そういった傾向はあるのかも知れない
269: 2017/07/27(木)22:58 ID:SUaLVh4Q(1) AAS
>>267
君、249か253じゃあないのかよ?
270: 2017/07/28(金)06:08 ID:Xfxcd5ys(1) AAS
やっとスレチ終わった?
271: 2017/07/28(金)11:26 ID:qIgprOUf(1) AAS
sageも知らずに書いてる人って同一人物なんだろうけど
自分が遠回しにディスられてる事にも気付いてなくて可愛い
ある意味幸せか
272
(3): 2017/08/12(土)17:55 ID:cYclCetd(1/3) AAS
●Regular Expressionの使用環境
Java1.8

●検索か置換か?
検索

●説明
下記の部分を抽出したい
AV0bc-t3.jpg
B32bc4f.jpg

●対象データ(一部)
風景-20170503-AV0bc-t3.jpg
省4
273: 272 2017/08/12(土)18:05 ID:cYclCetd(2/3) AAS
>>272です
すいません。これどう考えても不可能ですね。
-ファイルについては手動でやってその他は正規表現で対応します。
失礼しました。
274: 2017/08/12(土)20:46 ID:oUGtyFlO(1) AAS
不可能
275
(1): 2017/08/12(土)21:05 ID:wIgCsZkA(1) AAS
>>272
誤爆前提
(?<=\-)([A-Za-z\d]+\-?[A-Za-z\d]{0,3}\.jpg)(?=(?:\n|$))

[A-Za-z\d]{0,3}部の構成次第か?
まあ全部手でやるよりかはマシになるような気がする
276: 272 2017/08/12(土)22:50 ID:cYclCetd(3/3) AAS
>>275
ありがとうございます!!
まじで神です!相談して良かったです。
こういう人がお金をもらえる世の中になってほしいです。
本当に感謝します。あなたは誰よりも優しいです。
無償で人の為にがんばる人は本当に尊敬します!!
ありがとうございました!!
277: 2017/08/12(土)23:11 ID:U/tP6VJk(1) AAS
該当文字列長の幅が決まっているなら{6,8}の数字を調整すればこれでいけるはず
(?<=-)[-A-Za-z\d]{6,8}\.jpg
278: 2017/08/13(日)03:23 ID:SYaWjJhn(1) AAS
ファイル名には、半角英数字の他、「- _ .」と半角空白も、考慮しろ

こういうファイル名もある

a.txt.zip
279: 2017/08/13(日)04:21 ID:dm/KZ1el(1) AAS
.tar.gzとかで良かったのでは
280
(1): 2017/08/13(日)19:47 ID:BX+CBZkv(1) AAS
2chのNGで、「URLが含まれる文章を除いた行が5つ以上あるレスをNG」という表記を作ることは可能ですか?
281
(1): 2017/08/13(日)21:08 ID:lg+GT5+n(1) AAS
>>280
日本語を(´・ω・`)
282: 2017/08/13(日)23:08 ID:47VquCRx(1) AAS
gopher:とかmailto:とかか
283: 2017/08/14(月)03:10 ID:FrfucSX4(1/2) AAS
>>281
前提
?正規表現を使い、2chのNG設定を行いたい
?専門板での長文荒らしをNGしたい
?URLが貼られたレスは長文であってもNGにしたくない
以上から、「URLが含まれる文章を除いた行が5つ以上あるレスをNG」をしたいです
この表記を作ることは可能ですか?
284: 2017/08/14(月)03:17 ID:FrfucSX4(2/2) AAS
URLの定義を以下のようにしました
://([a-zA-Z0-9_/:;%#\$&\?\(\)~\.=\+\-])*
(://の後に英数字とURLに使われる記号が続く文字列)
これを[^]で括って否定にした後、任意の行数以上含まれるレスのNGをするという方向性で考えています
285
(1): 2017/08/14(月)16:30 ID:yxoqAlkZ(1) AAS
^が否定と 先頭の2つの意味を持っていて
$ が 末尾と $1 $2 などのインデックスの意味を持っているとか
メタ文字の効果が重複しているのが混乱します。
どうすればいいですか?
286: 2017/08/14(月)16:37 ID:IeoGyZA4(1) AAS
>>285
たぶん[^]で括って否定には出来ないと思うよ。
287
(1): 2017/08/14(月)18:31 ID:89kehc6V(1/5) AAS
Jane StyleでIDなしのレスだけ抽出するにはどうしたらよろしいでしょうか?
IDなしをNGにする方法はいくらでも出てくるのですが・・・
288
(1): 2017/08/14(月)19:13 ID:j2odgQ2N(1/3) AAS
>>287
IDの有無が混在しているスレ教えて
289: 2017/08/14(月)20:33 ID:89kehc6V(2/5) AAS
>>288
浪人あればID消せるんじゃなかったっけ?
ID表示スレでも?

たまに見かけるんだけど、
じゃあ、どのスレ?と聞かれてもなかなか見つからない。

すいません、見つかるまでお待ち下さい・・・
290: 2017/08/14(月)20:34 ID:89kehc6V(3/5) AAS
半角文字列板でたまに見かけたような気が・・・
291
(2): 2017/08/14(月)20:39 ID:j2odgQ2N(2/3) AAS
もしくは
IDなしをNGにして、あぼーんのみ表示するとか
292
(1): 2017/08/14(月)20:59 ID:89kehc6V(4/5) AAS
>>291
すみません。今のところ該当スレが見つかりません。

目的としては、
優良エロ画像スレでたまにIDなしでグロ画像を貼る輩がいて、
IDなしのレスがほぼグロ画像ならIDなしをNGにするし、
IDなしでも優良エロ画像を貼ってくれてるならIDなしでもNGしないし・・・

という恥ずかしい理由なんです
293
(1): 2017/08/14(月)21:00 ID:89kehc6V(5/5) AAS
>>291

>IDなしをNGにして、あぼーんのみ表示するとか
これってどうやればいいんでしょうか?
294: 2017/08/14(月)21:04 ID:j2odgQ2N(3/3) AAS
>>292-293
ここ正規表現スレだからJane質問スレに来て
295
(2): 2017/08/21(月)19:05 ID:ToOu4wDd(1/3) AAS
よろしければアドバイスください

●Regular Expressionの使用環境
正規表現で検索できるテキストエディタ

●検索か置換か?
検索

●説明
アンド検索で一つ目にマッチした文字列からn行以内にある二つ目の文字列までを抽出したい

●対象データ
林檎みかんバナナ
みかん林檎バナナ
省11
296
(1): 295 2017/08/21(月)19:05 ID:ToOu4wDd(2/3) AAS
>>295の質問のつづきです

●自分で試したこと
今回は三行以内に「みかん」と「キウイ」の二つの文字列を含む部分 だけ を抽出したい
記述は以下のように書いてみたが、四行以上にまたがってマッチした部分まで抽出されてしまった

みかん([¥s¥S]*?)キウイ

●自分で試した検索ワード
「正規表現 複数行 文字列 検索 -秀丸」の組み合わせをいくつか試した
検索結果からプログラマーの質問回答サイトに飛んで似たように検索するも欲しい回答は見つからず
297: 2017/08/21(月)21:48 ID:EQVEvxNp(1) AAS
n行なら可能だけどn行以内ってのは無理だと思う
つまり
1行の式|2行の式|…|n行の式
と書くしかないんじゃないかな
298: 295 2017/08/21(月)22:44 ID:ToOu4wDd(3/3) AAS
そうですか
やはり ([¥s¥S]*?) を使うのが間違ってますよね?

レスありがとうございます
299: 2017/08/21(月)23:09 ID:7hohe37q(1) AAS
/みかん¥S*?¥n??¥S*?¥n??¥S*?キウイ/g
とか
/みかん(?:¥S*¥n?){0,2}¥S*キウイ/g
とかかな

1~3行目と6~8行目のみかん〜キウイがマッチする
300
(1): 2017/08/23(水)21:18 ID:a8dh4txw(1) AAS
>>296

秀丸の正規表現はしらないので一般的な正規表現で考えてみた。
試していないので間違っているかもしれないが。

みかん(.*¥n){1,3}?.*キウイ
301: 2017/08/23(水)23:01 ID:bHZ6/xkT(1) AAS
>>300
試すといいよ
外部リンク:regex101.com
302: 2017/08/23(水)23:56 ID:v21fsY6g(1) AAS
できないね
秀丸はマイナス検索では?
303: 2017/08/24(木)22:00 ID:vZuGMV9A(1) AAS
できたよ

コピペしたときバックスラッシュが別の文字に変わっていたので、
そこだけ入力し直したけど
304: 2017/10/02(月)15:17 ID:uet6lO9o(1) AAS
二文字以上連続していない場合のみヒットする正規表現はどう書けばいいですか?
aを探すとして
"abc"のaはヒットする
"aabc"のaaは連続しているのでヒットしない
ということをしたいです
305: 2017/10/02(月)15:33 ID:MBLNVziv(1) AAS
(?<!a)a(?!a)
306: 2017/10/02(月)15:50 ID:oE42sBRL(1) AAS
aで固定って訳じゃなくて
bだけとかcだけとかも探したいのでは?
307: 2017/10/02(月)16:29 ID:rrE28i3s(1) AAS
冷静なつっこみに受けた
308: 2017/10/02(月)17:40 ID:G/SyJC6m(1/2) AAS
単に見つけるだけなら
/(.)(?!\1)(.)(?!\2)/
で出来なくもない。
しかし、見つかったときは2文字マッチするパターンなので
全部見つけたい場合はそこを考慮する必要がある。
先頭の文字は見つけられないから別途
/^(.)(?!\1)/
のようにする必要があるだろう。
言語によってはもっとうまくできるかもしれない。
でも、for 文とかで探す方がいいと思うよ。
309: 2017/10/02(月)18:33 ID:G/SyJC6m(2/2) AAS
/(.)(\1)*/
でマッチした長さが 1 だったらという考え方も出来るけど、どう?
310: 2017/10/03(火)03:04 ID:FFksRFs1(1) AAS
/^(?!.*(.)\1).*/
311
(1): 2017/10/11(水)15:02 ID:PTqhQudL(1) AAS
ユニコード文字プロパティから
特定の文字のみを除外した文字の集合を
簡単に書く方法はあるでしょうか?

例えば \p{C} からタブ(\t)と改行コード(\n|\r)のみ除外したもの
312: 2017/10/12(木)22:03 ID:iUceZ3nS(1) AAS
>>311
(?![\n\r])\p{C}
313
(1): 2017/10/14(土)07:42 ID:sv7zl76d(1/2) AAS
「"」以外の文字にマッチするが「\"」ならそれにもマッチする
ってどう書けばいいですか?
314: 2017/10/14(土)08:04 ID:Wo1S3xrN(1) AAS
>>313
([^"]|(?<=\\)")
315: 2017/10/14(土)08:38 ID:sv7zl76d(2/2) AAS
ありがとうございます
知らない記号があるので勉強します
316
(2): 2017/10/14(土)12:04 ID:SVCVJk+z(1) AAS
正規表現を再利用したくて調べたんだができないんだな
itemcode:=/(S|T|U)\d{3}-\d{4}/
/^\s*\{itemcode}\s*$/
こういう仕様あっても全然いいと思うんだが仕様策定団体がサボったのか
317: 2017/10/14(土)12:19 ID:2Glba8SI(1) AAS
言語やエディタの機能で補完すれば?
変数に正規表現リテラルを格納して後で使えるようにするのは正規表現の枠をこえてる
318: 2017/10/14(土)13:45 ID:m/q/3Rhj(1) AAS
>>316
そもそも正規表現の規格の枠外やん
Perlなら

my $itemcode = q/(S|T|U)\d{3}-\d{4}/;
my $regex = qq/^\s*{$itemcode}\s*$/;

$target =~ /$regex/;

とか出来たと思うが, $itemcodeも$regexも単に文字列だしな
319: 2017/10/14(土)20:25 ID:nyEdEfPd(1) AAS
>>316
環境によるが、pcreを使っているプログラムなら、
(?(DEFINE)(?<name>pattern)...)で定義して(?&name)で使える。つまり、
/(?(DEFINE)(?<itemcode>(S|T|U)\d{3}-\d{4}))^\s*(?&itemcode)\s*$/
320: 2017/10/15(日)12:04 ID:xFgouCR2(1) AAS
正規表現技術入門って本買ったら初心者の入門書じゃなかった…
321: 2017/10/15(日)23:07 ID:/4ZFGRZX(1) AAS
後方参照っどこが後方やねん、後方で参照してるってことか?
と思っていたのですが、
左から右へと文字列を舐めていくカーソルの立場から見て後ろ、
という意味ですね?
322: 2017/10/16(月)07:55 ID:hhyAWPuR(1) AAS
んだんだ
323: 2017/10/16(月)10:07 ID:ZoMoe7Af(1) AAS
上から下
1-
あと 679 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.023s