Regular Expressionスレです。
質問する場合は必ず実装言語や処理系ソフトウェア名を示してください。
前スレ
Regular Expression(正規表現) Part13
http://echo.2ch.net/test/read.cgi/tech/1415149975/
次スレは>>980宜しく
天ぷら等2以降
Regular Expression(正規表現) Part14 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2017/03/15(水) 02:04:35.47ID:e01p03UP236デフォルトの名無しさん
2017/07/10(月) 01:20:40.78ID:8zNQYoZi237デフォルトの名無しさん
2017/07/15(土) 10:24:03.66ID:/mu01QmD >>231
新しいなコレ!
面白いんでエクセルで入力できるフォーマットを作ってみた
http://www.dotup.org/uploda/www.dotup.org1307951.xls
(拡張子でうちのエクセルが激古なのがバレる…)
新しいなコレ!
面白いんでエクセルで入力できるフォーマットを作ってみた
http://www.dotup.org/uploda/www.dotup.org1307951.xls
(拡張子でうちのエクセルが激古なのがバレる…)
238デフォルトの名無しさん
2017/07/15(土) 12:03:12.72ID:6mzqXSAQ 少しやって時間の問題だなと思って途中で切り上げて答見たけど
数文字しか合ってなかった
最後までやらなくてよかった
数文字しか合ってなかった
最後までやらなくてよかった
239デフォルトの名無しさん
2017/07/25(火) 08:57:23.04ID:QW1aVSBc ●Regular Expressionの使用環境
VBA7.1
●検索か置換か?
検索
●説明
期待する数値の桁数かどうか。拡張子はあっても無くても良い。
●対象データ
AA17-0001.xlsm
AA17-0002
●希望する結果
ifで合致しているかどうかを判定しています。
.Pattern = "^AA\d{2}-\d{4}(\.xlsm$)?"
○AA17-0001.xlsm
○AA17-0002
×AA17-00023
×AA17-00024.xlsm
最後の?を削れば、拡張仕込みであれば上手くいきますが良い方法は
ないでしょうか。
VBA7.1
●検索か置換か?
検索
●説明
期待する数値の桁数かどうか。拡張子はあっても無くても良い。
●対象データ
AA17-0001.xlsm
AA17-0002
●希望する結果
ifで合致しているかどうかを判定しています。
.Pattern = "^AA\d{2}-\d{4}(\.xlsm$)?"
○AA17-0001.xlsm
○AA17-0002
×AA17-00023
×AA17-00024.xlsm
最後の?を削れば、拡張仕込みであれば上手くいきますが良い方法は
ないでしょうか。
240デフォルトの名無しさん
2017/07/25(火) 09:09:17.24ID:jjK7Ecmt241デフォルトの名無しさん
2017/07/25(火) 12:00:47.38ID:QW1aVSBc242デフォルトの名無しさん
2017/07/25(火) 12:23:12.14ID:QW1aVSBc 差し支え無ければ、 ^AA\d{2}-\d{4}(\.xlsm)? だと
ND17-00001
ND17-00001.xlsm2
等々にもマッチしてしまう理由を教えていただけないでしょうか。
ND17-00001
ND17-00001.xlsm2
等々にもマッチしてしまう理由を教えていただけないでしょうか。
243デフォルトの名無しさん
2017/07/25(火) 12:24:08.99ID:QW1aVSBc ミス。AAでした。
AA17-00001
AA17-00001.xlsm2
AA17-00001
AA17-00001.xlsm2
244デフォルトの名無しさん
2017/07/25(火) 12:38:31.42ID:0gI9u146245デフォルトの名無しさん
2017/07/25(火) 13:05:32.38ID:BGzbzmfB ^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}$" であればマッチしない
は
"^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:18.59ID:QW1aVSBc247デフォルトの名無しさん
2017/07/25(火) 13:29:36.02ID:oWvKCPb4 ?は「直前のパターンが 0回または 1回登場する事」なので、そのパターン中に、$「行末」を含めてしまうと、(0回登場側で)効果が消えてしまう。
1人で書いてるとよくやるミスだと思う。
1人で書いてるとよくやるミスだと思う。
248デフォルトの名無しさん
2017/07/25(火) 21:26:32.07ID:lTcbRvTI ^AA\d{2}-\d{4}
は実は
^AA\d{2}-\d{4}.*$
だと考えれば理解の助けになるかも。ならないかも。
は実は
^AA\d{2}-\d{4}.*$
だと考えれば理解の助けになるかも。ならないかも。
249デフォルトの名無しさん
2017/07/26(水) 01:05:33.15ID:3rtPYRQF ^AA\d{2}-\d{4}(\.xlsm$)?
$?
行末の後ろに、? か。
この式は、見た瞬間に、おかしいとわかる
$?
行末の後ろに、? か。
この式は、見た瞬間に、おかしいとわかる
250デフォルトの名無しさん
2017/07/26(水) 11:10:37.56ID:Vp/yahqk >>249
文法的にも間違いでは無いだろ
文法的にも間違いでは無いだろ
251デフォルトの名無しさん
2017/07/26(水) 13:08:28.96ID:9H6h7u80 >>250
文法的には正しいけれど、式としておかしい「と感じる事ができる」と言いたいんだと思う。
文法的には正しいけれど、式としておかしい「と感じる事ができる」と言いたいんだと思う。
252デフォルトの名無しさん
2017/07/26(水) 14:48:10.36ID:Vp/yahqk >>251
式としても正しい
式としても正しい
253デフォルトの名無しさん
2017/07/26(水) 14:55:46.30ID:aH2YwDtv 250,252みたいなのをアスペっていうんだろうな
論点は式や文法として正しいか正しくないかではないって事ぐらい一目見れば分かりそうなもんだが
論点は式や文法として正しいか正しくないかではないって事ぐらい一目見れば分かりそうなもんだが
254デフォルトの名無しさん
2017/07/26(水) 16:41:49.04ID:NnPMbS6q きちんと整理すると目的に合わない正規表現が直感的に分かるエスパー能力
としか言いようがないし>>249がその能力者だとしても特に羨ましくもない
としか言いようがないし>>249がその能力者だとしても特に羨ましくもない
255デフォルトの名無しさん
2017/07/26(水) 17:37:15.75ID:UlpW8N7A 例えば、エディタの検索等で強調表示する際の式としてなら何も不思議は無いが
プログラム中での判定式ならば後者は必ず前者にマッチするので意味を成さない
つまり無駄に冗長であったり何かミスをしている可能性が高い。そういう事でしょ
プログラム中での判定式ならば後者は必ず前者にマッチするので意味を成さない
つまり無駄に冗長であったり何かミスをしている可能性が高い。そういう事でしょ
256デフォルトの名無しさん
2017/07/26(水) 17:37:56.28ID:Sop8S35W >>253
プログラマに多いタイプではある
プログラマに多いタイプではある
257デフォルトの名無しさん
2017/07/26(水) 17:52:57.91ID:Bbl5PJto 問題は >>249 が何の役にも立ちそうにないということじゃないかな。
何を言いたいか想像できなくもないが、単に知らないだけという可能性もまた捨てきれない。
ここはそういう場所だ。
明確に「$ は末尾にだけ書くようにすれば間違いを防げると思うよ」とでも書けばよかったのに。
何を言いたいか想像できなくもないが、単に知らないだけという可能性もまた捨てきれない。
ここはそういう場所だ。
明確に「$ は末尾にだけ書くようにすれば間違いを防げると思うよ」とでも書けばよかったのに。
258デフォルトの名無しさん
2017/07/26(水) 18:26:15.97ID:UlpW8N7A まあ読点の打ち方とかみるにアホガキか底辺土方がドヤりたかっただけだろうから
そろそろそっとしておいておやり
そろそろそっとしておいておやり
259デフォルトの名無しさん
2017/07/26(水) 19:38:32.33ID:VudXLbcK 臭う正規表現だと言えばいいのかな
260デフォルトの名無しさん
2017/07/26(水) 21:03:00.43ID:JJ3vg08i261デフォルトの名無しさん
2017/07/27(木) 08:25:22.52ID:JB/MQIbV262デフォルトの名無しさん
2017/07/27(木) 09:03:12.08ID:32ZlcHw6 よくこんなネタでいつまでも盛り上がれるな
263デフォルトの名無しさん
2017/07/27(木) 10:22:50.72ID:FeDFxsXm うむ
264デフォルトの名無しさん
2017/07/27(木) 11:04:39.19ID:w0VKyQmM そこら辺も含めてプログラマに多いタイプって事だ
話の流れや空気を読むのが苦手なタイプ
話の流れや空気を読むのが苦手なタイプ
265デフォルトの名無しさん
2017/07/27(木) 15:20:17.23ID:DvNlZLuV >>264
辛辣ワロタ
辛辣ワロタ
266デフォルトの名無しさん
2017/07/27(木) 18:27:44.41ID:t8Fq16Nl 2ch的にはまだ甘い方
267デフォルトの名無しさん
2017/07/27(木) 19:38:46.83ID:/VCkXAgy プログラマって話の流れが読めないやつ確かに多い気がするけど、何でなんだろう。
プログラムとかって、流れを理解する事が重要じゃん?
プログラムとかって、流れを理解する事が重要じゃん?
268デフォルトの名無しさん
2017/07/27(木) 21:11:31.82ID:oiygPPLB プログラマーとひと口に言ってもピンキリ
使えないキリの方のコミュ障ボッチオタク系IT土方をバカにするネタでそういったのが多いから
そんなイメージが付いてるだけでしょ
業種に依らず底辺のゴミ共に通じるネタだったものが独り歩きしたんじゃない?
まあでも「流れや空気を読む」てのはファジーな判断能力でコミュニケーションの中で培われるから
人間関係よりも数学の方が楽って人には難しく、そういった傾向はあるのかも知れない
使えないキリの方のコミュ障ボッチオタク系IT土方をバカにするネタでそういったのが多いから
そんなイメージが付いてるだけでしょ
業種に依らず底辺のゴミ共に通じるネタだったものが独り歩きしたんじゃない?
まあでも「流れや空気を読む」てのはファジーな判断能力でコミュニケーションの中で培われるから
人間関係よりも数学の方が楽って人には難しく、そういった傾向はあるのかも知れない
269デフォルトの名無しさん
2017/07/27(木) 22:58:53.54ID:SUaLVh4Q >>267
君、249か253じゃあないのかよ?
君、249か253じゃあないのかよ?
270デフォルトの名無しさん
2017/07/28(金) 06:08:45.61ID:Xfxcd5ys やっとスレチ終わった?
271デフォルトの名無しさん
2017/07/28(金) 11:26:50.45ID:qIgprOUf sageも知らずに書いてる人って同一人物なんだろうけど
自分が遠回しにディスられてる事にも気付いてなくて可愛い
ある意味幸せか
自分が遠回しにディスられてる事にも気付いてなくて可愛い
ある意味幸せか
272デフォルトの名無しさん
2017/08/12(土) 17:55:36.45ID:cYclCetd ●Regular Expressionの使用環境
Java1.8
●検索か置換か?
検索
●説明
下記の部分を抽出したい
AV0bc-t3.jpg
B32bc4f.jpg
●対象データ(一部)
風景-20170503-AV0bc-t3.jpg
b5-two-mountain-B32bc4f.jpg
最初は-を区切りとして抽出できるかと思ったが
抽出対象の文字列にも-が登場することが判明して為万事休す状態です。
どうかご指導お願い致します。
Java1.8
●検索か置換か?
検索
●説明
下記の部分を抽出したい
AV0bc-t3.jpg
B32bc4f.jpg
●対象データ(一部)
風景-20170503-AV0bc-t3.jpg
b5-two-mountain-B32bc4f.jpg
最初は-を区切りとして抽出できるかと思ったが
抽出対象の文字列にも-が登場することが判明して為万事休す状態です。
どうかご指導お願い致します。
273272
2017/08/12(土) 18:05:09.95ID:cYclCetd274デフォルトの名無しさん
2017/08/12(土) 20:46:08.10ID:oUGtyFlO 不可能
275デフォルトの名無しさん
2017/08/12(土) 21:05:50.58ID:wIgCsZkA >>272
誤爆前提
(?<=\-)([A-Za-z\d]+\-?[A-Za-z\d]{0,3}\.jpg)(?=(?:\n|$))
[A-Za-z\d]{0,3}部の構成次第か?
まあ全部手でやるよりかはマシになるような気がする
誤爆前提
(?<=\-)([A-Za-z\d]+\-?[A-Za-z\d]{0,3}\.jpg)(?=(?:\n|$))
[A-Za-z\d]{0,3}部の構成次第か?
まあ全部手でやるよりかはマシになるような気がする
276272
2017/08/12(土) 22:50:49.75ID:cYclCetd >>275
ありがとうございます!!
まじで神です!相談して良かったです。
こういう人がお金をもらえる世の中になってほしいです。
本当に感謝します。あなたは誰よりも優しいです。
無償で人の為にがんばる人は本当に尊敬します!!
ありがとうございました!!
ありがとうございます!!
まじで神です!相談して良かったです。
こういう人がお金をもらえる世の中になってほしいです。
本当に感謝します。あなたは誰よりも優しいです。
無償で人の為にがんばる人は本当に尊敬します!!
ありがとうございました!!
277デフォルトの名無しさん
2017/08/12(土) 23:11:24.65ID:U/tP6VJk 該当文字列長の幅が決まっているなら{6,8}の数字を調整すればこれでいけるはず
(?<=-)[-A-Za-z\d]{6,8}\.jpg
(?<=-)[-A-Za-z\d]{6,8}\.jpg
278デフォルトの名無しさん
2017/08/13(日) 03:23:49.05ID:SYaWjJhn ファイル名には、半角英数字の他、「- _ .」と半角空白も、考慮しろ
こういうファイル名もある
a.txt.zip
こういうファイル名もある
a.txt.zip
279デフォルトの名無しさん
2017/08/13(日) 04:21:48.64ID:dm/KZ1el .tar.gzとかで良かったのでは
280デフォルトの名無しさん
2017/08/13(日) 19:47:39.02ID:BX+CBZkv 2chのNGで、「URLが含まれる文章を除いた行が5つ以上あるレスをNG」という表記を作ることは可能ですか?
281デフォルトの名無しさん
2017/08/13(日) 21:08:22.43ID:lg+GT5+n >>280
日本語を(´・ω・`)
日本語を(´・ω・`)
282デフォルトの名無しさん
2017/08/13(日) 23:08:53.31ID:47VquCRx gopher:とかmailto:とかか
283デフォルトの名無しさん
2017/08/14(月) 03:10:00.43ID:FrfucSX4 >>281
前提
@正規表現を使い、2chのNG設定を行いたい
A専門板での長文荒らしをNGしたい
BURLが貼られたレスは長文であってもNGにしたくない
以上から、「URLが含まれる文章を除いた行が5つ以上あるレスをNG」をしたいです
この表記を作ることは可能ですか?
前提
@正規表現を使い、2chのNG設定を行いたい
A専門板での長文荒らしをNGしたい
BURLが貼られたレスは長文であってもNGにしたくない
以上から、「URLが含まれる文章を除いた行が5つ以上あるレスをNG」をしたいです
この表記を作ることは可能ですか?
284デフォルトの名無しさん
2017/08/14(月) 03:17:09.39ID:FrfucSX4 URLの定義を以下のようにしました
://([a-zA-Z0-9_/:;%#\$&\?\(\)~\.=\+\-])*
(://の後に英数字とURLに使われる記号が続く文字列)
これを[^]で括って否定にした後、任意の行数以上含まれるレスのNGをするという方向性で考えています
://([a-zA-Z0-9_/:;%#\$&\?\(\)~\.=\+\-])*
(://の後に英数字とURLに使われる記号が続く文字列)
これを[^]で括って否定にした後、任意の行数以上含まれるレスのNGをするという方向性で考えています
285デフォルトの名無しさん
2017/08/14(月) 16:30:05.91ID:yxoqAlkZ ^が否定と 先頭の2つの意味を持っていて
$ が 末尾と $1 $2 などのインデックスの意味を持っているとか
メタ文字の効果が重複しているのが混乱します。
どうすればいいですか?
$ が 末尾と $1 $2 などのインデックスの意味を持っているとか
メタ文字の効果が重複しているのが混乱します。
どうすればいいですか?
286デフォルトの名無しさん
2017/08/14(月) 16:37:59.81ID:IeoGyZA4 >>285
たぶん[^]で括って否定には出来ないと思うよ。
たぶん[^]で括って否定には出来ないと思うよ。
287デフォルトの名無しさん
2017/08/14(月) 18:31:02.14ID:89kehc6V Jane StyleでIDなしのレスだけ抽出するにはどうしたらよろしいでしょうか?
IDなしをNGにする方法はいくらでも出てくるのですが・・・
IDなしをNGにする方法はいくらでも出てくるのですが・・・
288デフォルトの名無しさん
2017/08/14(月) 19:13:15.73ID:j2odgQ2N >>287
IDの有無が混在しているスレ教えて
IDの有無が混在しているスレ教えて
289デフォルトの名無しさん
2017/08/14(月) 20:33:03.02ID:89kehc6V290デフォルトの名無しさん
2017/08/14(月) 20:34:12.87ID:89kehc6V 半角文字列板でたまに見かけたような気が・・・
291デフォルトの名無しさん
2017/08/14(月) 20:39:37.25ID:j2odgQ2N もしくは
IDなしをNGにして、あぼーんのみ表示するとか
IDなしをNGにして、あぼーんのみ表示するとか
292デフォルトの名無しさん
2017/08/14(月) 20:59:49.60ID:89kehc6V >>291
すみません。今のところ該当スレが見つかりません。
目的としては、
優良エロ画像スレでたまにIDなしでグロ画像を貼る輩がいて、
IDなしのレスがほぼグロ画像ならIDなしをNGにするし、
IDなしでも優良エロ画像を貼ってくれてるならIDなしでもNGしないし・・・
という恥ずかしい理由なんです
すみません。今のところ該当スレが見つかりません。
目的としては、
優良エロ画像スレでたまにIDなしでグロ画像を貼る輩がいて、
IDなしのレスがほぼグロ画像ならIDなしをNGにするし、
IDなしでも優良エロ画像を貼ってくれてるならIDなしでもNGしないし・・・
という恥ずかしい理由なんです
293デフォルトの名無しさん
2017/08/14(月) 21:00:54.22ID:89kehc6V294デフォルトの名無しさん
2017/08/14(月) 21:04:32.71ID:j2odgQ2N >>292-293
ここ正規表現スレだからJane質問スレに来て
ここ正規表現スレだからJane質問スレに来て
295デフォルトの名無しさん
2017/08/21(月) 19:05:01.74ID:ToOu4wDd よろしければアドバイスください
●Regular Expressionの使用環境
正規表現で検索できるテキストエディタ
●検索か置換か?
検索
●説明
アンド検索で一つ目にマッチした文字列からn行以内にある二つ目の文字列までを抽出したい
●対象データ
林檎みかんバナナ
みかん林檎バナナ
林檎キウイみかん
バナナ林檎みかん
メロン林檎バナナ
メロンみかん林檎
みかんバナナ林檎
林檎みかんキウイ
林檎バナナみかん
●希望する結果
みかんバナナ
みかん林檎バナナ
林檎キウイ
●Regular Expressionの使用環境
正規表現で検索できるテキストエディタ
●検索か置換か?
検索
●説明
アンド検索で一つ目にマッチした文字列からn行以内にある二つ目の文字列までを抽出したい
●対象データ
林檎みかんバナナ
みかん林檎バナナ
林檎キウイみかん
バナナ林檎みかん
メロン林檎バナナ
メロンみかん林檎
みかんバナナ林檎
林檎みかんキウイ
林檎バナナみかん
●希望する結果
みかんバナナ
みかん林檎バナナ
林檎キウイ
296295
2017/08/21(月) 19:05:58.56ID:ToOu4wDd >>295の質問のつづきです
●自分で試したこと
今回は三行以内に「みかん」と「キウイ」の二つの文字列を含む部分 だけ を抽出したい
記述は以下のように書いてみたが、四行以上にまたがってマッチした部分まで抽出されてしまった
みかん([¥s¥S]*?)キウイ
●自分で試した検索ワード
「正規表現 複数行 文字列 検索 -秀丸」の組み合わせをいくつか試した
検索結果からプログラマーの質問回答サイトに飛んで似たように検索するも欲しい回答は見つからず
●自分で試したこと
今回は三行以内に「みかん」と「キウイ」の二つの文字列を含む部分 だけ を抽出したい
記述は以下のように書いてみたが、四行以上にまたがってマッチした部分まで抽出されてしまった
みかん([¥s¥S]*?)キウイ
●自分で試した検索ワード
「正規表現 複数行 文字列 検索 -秀丸」の組み合わせをいくつか試した
検索結果からプログラマーの質問回答サイトに飛んで似たように検索するも欲しい回答は見つからず
297デフォルトの名無しさん
2017/08/21(月) 21:48:45.68ID:EQVEvxNp n行なら可能だけどn行以内ってのは無理だと思う
つまり
1行の式|2行の式|…|n行の式
と書くしかないんじゃないかな
つまり
1行の式|2行の式|…|n行の式
と書くしかないんじゃないかな
298295
2017/08/21(月) 22:44:09.38ID:ToOu4wDd そうですか
やはり ([¥s¥S]*?) を使うのが間違ってますよね?
レスありがとうございます
やはり ([¥s¥S]*?) を使うのが間違ってますよね?
レスありがとうございます
299デフォルトの名無しさん
2017/08/21(月) 23:09:35.41ID:7hohe37q /みかん¥S*?¥n??¥S*?¥n??¥S*?キウイ/g
とか
/みかん(?:¥S*¥n?){0,2}¥S*キウイ/g
とかかな
1~3行目と6~8行目のみかん〜キウイがマッチする
とか
/みかん(?:¥S*¥n?){0,2}¥S*キウイ/g
とかかな
1~3行目と6~8行目のみかん〜キウイがマッチする
300デフォルトの名無しさん
2017/08/23(水) 21:18:57.34ID:a8dh4txw301デフォルトの名無しさん
2017/08/23(水) 23:01:36.58ID:bHZ6/xkT302デフォルトの名無しさん
2017/08/23(水) 23:56:43.55ID:v21fsY6g できないね
秀丸はマイナス検索では?
秀丸はマイナス検索では?
303デフォルトの名無しさん
2017/08/24(木) 22:00:31.43ID:vZuGMV9A できたよ
コピペしたときバックスラッシュが別の文字に変わっていたので、
そこだけ入力し直したけど
コピペしたときバックスラッシュが別の文字に変わっていたので、
そこだけ入力し直したけど
304デフォルトの名無しさん
2017/10/02(月) 15:17:50.91ID:uet6lO9o 二文字以上連続していない場合のみヒットする正規表現はどう書けばいいですか?
aを探すとして
"abc"のaはヒットする
"aabc"のaaは連続しているのでヒットしない
ということをしたいです
aを探すとして
"abc"のaはヒットする
"aabc"のaaは連続しているのでヒットしない
ということをしたいです
305デフォルトの名無しさん
2017/10/02(月) 15:33:07.99ID:MBLNVziv (?<!a)a(?!a)
306デフォルトの名無しさん
2017/10/02(月) 15:50:22.85ID:oE42sBRL aで固定って訳じゃなくて
bだけとかcだけとかも探したいのでは?
bだけとかcだけとかも探したいのでは?
307デフォルトの名無しさん
2017/10/02(月) 16:29:10.05ID:rrE28i3s 冷静なつっこみに受けた
308デフォルトの名無しさん
2017/10/02(月) 17:40:05.25ID:G/SyJC6m 単に見つけるだけなら
/(.)(?!\1)(.)(?!\2)/
で出来なくもない。
しかし、見つかったときは2文字マッチするパターンなので
全部見つけたい場合はそこを考慮する必要がある。
先頭の文字は見つけられないから別途
/^(.)(?!\1)/
のようにする必要があるだろう。
言語によってはもっとうまくできるかもしれない。
でも、for 文とかで探す方がいいと思うよ。
/(.)(?!\1)(.)(?!\2)/
で出来なくもない。
しかし、見つかったときは2文字マッチするパターンなので
全部見つけたい場合はそこを考慮する必要がある。
先頭の文字は見つけられないから別途
/^(.)(?!\1)/
のようにする必要があるだろう。
言語によってはもっとうまくできるかもしれない。
でも、for 文とかで探す方がいいと思うよ。
309デフォルトの名無しさん
2017/10/02(月) 18:33:11.59ID:G/SyJC6m /(.)(\1)*/
でマッチした長さが 1 だったらという考え方も出来るけど、どう?
でマッチした長さが 1 だったらという考え方も出来るけど、どう?
310デフォルトの名無しさん
2017/10/03(火) 03:04:28.76ID:FFksRFs1 /^(?!.*(.)\1).*/
311デフォルトの名無しさん
2017/10/11(水) 15:02:29.43ID:PTqhQudL ユニコード文字プロパティから
特定の文字のみを除外した文字の集合を
簡単に書く方法はあるでしょうか?
例えば \p{C} からタブ(\t)と改行コード(\n|\r)のみ除外したもの
特定の文字のみを除外した文字の集合を
簡単に書く方法はあるでしょうか?
例えば \p{C} からタブ(\t)と改行コード(\n|\r)のみ除外したもの
312デフォルトの名無しさん
2017/10/12(木) 22:03:36.05ID:iUceZ3nS >>311
(?![\n\r])\p{C}
(?![\n\r])\p{C}
313デフォルトの名無しさん
2017/10/14(土) 07:42:21.07ID:sv7zl76d 「"」以外の文字にマッチするが「\"」ならそれにもマッチする
ってどう書けばいいですか?
ってどう書けばいいですか?
314デフォルトの名無しさん
2017/10/14(土) 08:04:06.86ID:Wo1S3xrN >>313
([^"]|(?<=\\)")
([^"]|(?<=\\)")
315デフォルトの名無しさん
2017/10/14(土) 08:38:00.26ID:sv7zl76d ありがとうございます
知らない記号があるので勉強します
知らない記号があるので勉強します
316デフォルトの名無しさん
2017/10/14(土) 12:04:18.44ID:SVCVJk+z 正規表現を再利用したくて調べたんだができないんだな
itemcode:=/(S|T|U)\d{3}-\d{4}/
/^\s*\{itemcode}\s*$/
こういう仕様あっても全然いいと思うんだが仕様策定団体がサボったのか
itemcode:=/(S|T|U)\d{3}-\d{4}/
/^\s*\{itemcode}\s*$/
こういう仕様あっても全然いいと思うんだが仕様策定団体がサボったのか
317デフォルトの名無しさん
2017/10/14(土) 12:19:47.01ID:2Glba8SI 言語やエディタの機能で補完すれば?
変数に正規表現リテラルを格納して後で使えるようにするのは正規表現の枠をこえてる
変数に正規表現リテラルを格納して後で使えるようにするのは正規表現の枠をこえてる
318デフォルトの名無しさん
2017/10/14(土) 13:45:15.89ID:m/q/3Rhj >>316
そもそも正規表現の規格の枠外やん
Perlなら
my $itemcode = q/(S|T|U)\d{3}-\d{4}/;
my $regex = qq/^\s*{$itemcode}\s*$/;
$target =~ /$regex/;
とか出来たと思うが, $itemcodeも$regexも単に文字列だしな
そもそも正規表現の規格の枠外やん
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:03.69ID:nyEdEfPd >>316
環境によるが、pcreを使っているプログラムなら、
(?(DEFINE)(?<name>pattern)...)で定義して(?&name)で使える。つまり、
/(?(DEFINE)(?<itemcode>(S|T|U)\d{3}-\d{4}))^\s*(?&itemcode)\s*$/
環境によるが、pcreを使っているプログラムなら、
(?(DEFINE)(?<name>pattern)...)で定義して(?&name)で使える。つまり、
/(?(DEFINE)(?<itemcode>(S|T|U)\d{3}-\d{4}))^\s*(?&itemcode)\s*$/
320デフォルトの名無しさん
2017/10/15(日) 12:04:10.87ID:xFgouCR2 正規表現技術入門って本買ったら初心者の入門書じゃなかった…
321デフォルトの名無しさん
2017/10/15(日) 23:07:27.13ID:/4ZFGRZX 後方参照っどこが後方やねん、後方で参照してるってことか?
と思っていたのですが、
左から右へと文字列を舐めていくカーソルの立場から見て後ろ、
という意味ですね?
と思っていたのですが、
左から右へと文字列を舐めていくカーソルの立場から見て後ろ、
という意味ですね?
322デフォルトの名無しさん
2017/10/16(月) 07:55:53.10ID:hhyAWPuR んだんだ
323デフォルトの名無しさん
2017/10/16(月) 10:07:29.75ID:ZoMoe7Af 上から下
324デフォルトの名無しさん
2017/10/16(月) 16:17:56.84ID:BvwEZWNg PCRE_EXTENDEDの説明に
この修飾子を設定すると、エスケープするか 文字クラスの内部を除き、
パターンの空白文字は完全に無視されます。
とありますが、
これはどういう時に使うのでしょうか?
空白文字を無視したいなら
最初からパターンに含めなければいいだけのような気がするのですが・・
この修飾子を設定すると、エスケープするか 文字クラスの内部を除き、
パターンの空白文字は完全に無視されます。
とありますが、
これはどういう時に使うのでしょうか?
空白文字を無視したいなら
最初からパターンに含めなければいいだけのような気がするのですが・・
325デフォルトの名無しさん
2017/10/16(月) 17:17:54.69ID:VwEzpL/B >>324
改行したりして可読性を高めたい時とか
改行したりして可読性を高めたい時とか
326デフォルトの名無しさん
2017/10/16(月) 17:31:22.40ID:BvwEZWNg327デフォルトの名無しさん
2017/10/18(水) 00:44:52.51ID:HJHK1SNa [$]
こういう文字クラスがあった場合、これは終端と解釈されますか?
それとも文字列の$と解釈されますか?
また、[\$] だった場合は挙動が変化しますか?
こういう文字クラスがあった場合、これは終端と解釈されますか?
それとも文字列の$と解釈されますか?
また、[\$] だった場合は挙動が変化しますか?
328デフォルトの名無しさん
2017/10/18(水) 01:19:34.59ID:GswCLlj6329デフォルトの名無しさん
2017/10/18(水) 01:39:24.99ID:HJHK1SNa ありがとうございます
やはり文字列なんですね
やはり文字列なんですね
330デフォルトの名無しさん
2017/10/20(金) 00:50:10.62ID:hFePCOoH 過去にAutohotkeyスレで正規表現自体の質問は正規表現スレに行けとあったのでこちらで質問させて下さい(巻き添えアク禁でソフトウェア板に書き込めません)。宜しくお願いします。
●Regular Expressionの使用環境
wikiより引用
>AutoHotkeyで用意されている正規表現は、Perl 5に搭載されているものと概ね互換のPCRE(Perl Compatible Regular Expressions)である
●検索か置換か?
検索
●説明
順不同の単語群のすべてを含む文字列の最長を検索し取り出したいです
●対象データ
var := "クリスマス任意の文字列お盆任意の文字列正月任意の文字列"
pos := RegExMatch(var, "s)^(?=.*?お?盆)(?=.*?クリスマス)(?=.*?正月)", $)
MsgBox, pos=%pos% $=%$%
s)の意味はシングルラインモード
posはマッチした位置
$にはマッチした全体が入ります
これですと先頭の"位置"にマッチ(pos=1になります)するのでマッチした全体$は空になってしまいます
●希望する結果
$=クリスマス任意の文字列お盆任意の文字列正月
実際は長文の一部で単語群がもっと多いです
どの文字が先頭でどの文字が最後か不明のとき、これらの単語群がすべて含まれる文字列全体を取り出すにはどのように書いたら良いでしょうか
(クリスマス|お盆|正月).+(?1)
これですと正月という単語が含まれなくてもマッチしてしまいます
●Regular Expressionの使用環境
wikiより引用
>AutoHotkeyで用意されている正規表現は、Perl 5に搭載されているものと概ね互換のPCRE(Perl Compatible Regular Expressions)である
●検索か置換か?
検索
●説明
順不同の単語群のすべてを含む文字列の最長を検索し取り出したいです
●対象データ
var := "クリスマス任意の文字列お盆任意の文字列正月任意の文字列"
pos := RegExMatch(var, "s)^(?=.*?お?盆)(?=.*?クリスマス)(?=.*?正月)", $)
MsgBox, pos=%pos% $=%$%
s)の意味はシングルラインモード
posはマッチした位置
$にはマッチした全体が入ります
これですと先頭の"位置"にマッチ(pos=1になります)するのでマッチした全体$は空になってしまいます
●希望する結果
$=クリスマス任意の文字列お盆任意の文字列正月
実際は長文の一部で単語群がもっと多いです
どの文字が先頭でどの文字が最後か不明のとき、これらの単語群がすべて含まれる文字列全体を取り出すにはどのように書いたら良いでしょうか
(クリスマス|お盆|正月).+(?1)
これですと正月という単語が含まれなくてもマッチしてしまいます
331デフォルトの名無しさん
2017/10/20(金) 02:08:00.45ID:yLtxI7rs >>330
>これらの単語群がすべて含まれる文字列全体を取り出すには
これらの単語群って、クリスマス・お盆・正月の3単語を指してるのかな?
それならダサいけど(クリスマス|お盆|正月)を3回繰り返せば?
https://regex101.com/r/yRw8ob/1
>これらの単語群がすべて含まれる文字列全体を取り出すには
これらの単語群って、クリスマス・お盆・正月の3単語を指してるのかな?
それならダサいけど(クリスマス|お盆|正月)を3回繰り返せば?
https://regex101.com/r/yRw8ob/1
332デフォルトの名無しさん
2017/10/20(金) 02:42:11.40ID:GaFTw98F333デフォルトの名無しさん
2017/10/20(金) 19:27:41.06ID:P/1hvwmS 2ch → 5chになったタイミングでアク禁って全解除されたと思うけど、また規制され始めたのかな?
334デフォルトの名無しさん
2017/10/20(金) 19:58:25.65ID:S6VTZkXa は?
335デフォルトの名無しさん
2017/10/20(金) 20:01:26.36ID:GaFTw98F アク禁は知らんけど、おπ規制だけは5chでは2chのを引き継いでないってことは言われてた
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★3 [蚤の市★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 「クマはなるべく山に返す努力を」「クマと戦争は間違っている」動物保護活動家の主張 棲み分けと学習放獣でクマ被害なくなるのか?★7 [ぐれ★]
- とらせん IPあり
- 巨専】
- こいせん 全レス転載禁止
- 【DAZN】ワールドカップ欧州予選総合 ★5
- 侍ジャパンシリーズ2025「日本vs韓国」その12
- 【J SPORTS】FIFA U-17ワールドカップ ★10
- 「世の中、バカが多くて疲れません?」👉1991年日本人大発狂 [543236886]
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 自閉症が「んなっしょい」と連呼するお🏡
- 寒い寒い寒い寒い寒い寒い寒い寒い寒い寒い寒い寒い寒い寒い寒い寒い寒い寒い
- マクラーレン、女性ドライバー3名を加入 [462275543]
- 【悲報】大分市佐賀関の火事、20軒→170軒に延焼🔥 [481941988]
