[過去ログ] Regular Expression(正規表現) Part16 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
248
(1): 2022/05/01(日)14:50 ID:GoET9IZ/(1) AAS
CSVファイルのセパレータ以外にマッチさせる正規表現が分かればご教示ください
ダブルクォートの中のカンマはセパレータではないという条件が難しく難儀しています
249: 2022/05/01(日)15:35 ID:Rd1MW222(1) AAS
>>248
csv 正規表現 でググれ
250: 2022/05/02(月)15:41 ID:3wkltjCW(1) AAS
>>2のテンプレで環境や対象データ、希望結果のサンプルを書いてよ
251: 2022/05/03(火)04:52 ID:UnZpzFGu(1) AAS
"あ,い
う'え""お"

これでも、1列しかない。
最初・最後のダブルクォーテーションで、1つの列内・要素を表す

その要素内では、カンマ・改行・シングルクォーテーション・ダブルクォーテーションも使える。
ただし、ダブルクォーテーションは2つ連続させて、1つのダブルクォーテーションと解釈される

だから、このダブルクォーテーションの規則が難しい。
例えば、ダブルクォーテーションに番号を振ると、1-23-45-6

連続したダブルクォーテーションを排除して、1-6 の形で、1つの要素を表す。
つまり、最後のダブルクォーテーションは偶数番目になる
省1
252: 2022/05/03(火)12:12 ID:aiGUnYt7(1) AAS
("[^"]*")+|[^,"\r\n]+|(?<=,)|^(?=,)
外部リンク:regex101.com
253: 2022/05/03(火)14:14 ID:t3Dpq+T6(1) AAS
(?=,|$)
254: 2022/05/13(金)22:38 ID:8kGCIaIA(1) AAS
●Regular Expressionの使用環境
サクラエディタ

●検索か置換か?
置き換え

●説明
タブ区切りcsvファイルの列の順番を入れ替えたい

●対象データ
1\t2\t3\t・・・\t30
※実際は各フィールドは数字だけではなく、長さも一定ではありません。
フィールド数は30で固定です。
省6
255: 2022/05/14(土)01:45 ID:rmaMAnUs(1) AAS
$30を別の場所に持ってくると右隣りとくっついてしまうな
256
(1): 2022/05/14(土)05:36 ID:NJOQ17Ts(1) AAS
テンプレ使っているようでテンプレ無視して実例挙げず
タブ区切りのはずが何故かカンマ+タブの区切りになっているがその説明も無し
257: 2022/05/14(土)08:03 ID:qR2dE/b7(1) AAS
本当に タブ+カンマ にしたいとしても俺なら
^(.*?)\t(.*?)\t・・・(.*)$
$3\t,$8\t,$1\t・・・
って書くかな
258: 2022/05/14(土)09:56 ID:/Fl6kBO1(1/2) AAS
俺が作るなら [^\t]* を使って誤爆の可能性を潰しておく
列が31以上ある異常データのときに置換しなくする
259: 2022/05/14(土)10:21 ID:bJIgpLv6(1) AAS
処理対象ファイルが数十個あるとかなら別だけど、表計算ソフトや対応エディタでサクっと入れ替えた方が早そう
260: 2022/05/14(土)11:56 ID:/Fl6kBO1(2/2) AAS
そういやそうだね、csvなんだしw

>>256
テンプレ自体が糞質問製造機になってるからテンプレいらね
俺は今回の質問に不備はないと思っている
261: 2022/05/16(月)18:46 ID:nBhW9usr(1) AAS
探している正規表現の学習サイトがあります。
ネットスラング、小説などの蘊蓄を題材にした問題が置いてあるサイトです。
AAが問題の解説を行なっていた記憶があります
UIはシンプルながら、メタ文字から始まり、後方参照などの発展的な部分、総括したチャレンジ問題など結構ボリュームがある問題集でした。
久しぶりに見にいきたかったのですが、どうにも見つからず、
どなたかご存知でしたら教えていただけると幸いです。
よろしくお願いします。
262: 2022/05/24(火)04:21 ID:SL15aOsO(1/3) AAS
質問させてください。
荒らし対策に「読点2回」を指定するNG表現を作ってみたのですが、一応機能しました

(.*\、.*\n*){2}

上記はもっと簡略化できるでしょうか?
263
(1): 2022/05/24(火)04:27 ID:7Wh7VSQ0(1) AAS
、.*?、
264
(1): 2022/05/24(火)04:43 ID:SL15aOsO(2/3) AAS
>>263
即答ありがとうございます

(10文字以上、){2}

のように「10文字以上、」が2回以上あったらNGというプログラムも教えてくれますか?
265: 2022/05/24(火)05:20 ID:SL15aOsO(3/3) AAS
すみません、ありがとうございました。
266: 2022/05/25(水)21:16 ID:rVRUpzpa(1) AAS
自分が書いた正規表現を半年後くらいに見たら
何の処理なのか思い出せない。
正規表現って便利だが、そう言う点が唯一のデメリットだよな。
267: 2022/05/25(水)21:33 ID:JiQQrvQ9(1) AAS
>>264
(10文字以上、){2,}
268: 2022/05/25(水)22:10 ID:SBYC3EV0(1) AAS
(?#何の処理)
269
(1): 2022/05/26(木)10:08 ID:Nn08GFXz(1/3) AAS
●Regular Expressionの使用環境
PowerShell 7.2.4

●検索か置換か?
置換(-replaceもしくは[regex]::Replace)
もしくは抽出(-match)
●説明
ドメインからサブドメインを取り除いた値が欲しい

●対象データ
www.example.com
hoge.www.example.com
省6
270: 2022/05/26(木)10:11 ID:Nn08GFXz(2/3) AAS
>>269
すいません、これだと「example.com$でいいだろ」になりますね
バラバラなURL、つまり
●対象データ
www.example.com
hoge.www.test.com
hoge.hoge.www.foo.com

●希望する結果
example.com
test.com
省2
271
(1): 2022/05/26(木)10:34 ID:6qaNDFBW(1) AAS
powershellでの書き方は分からんが
[^.]++\.com$
272
(1): 2022/05/26(木)10:51 ID:Ax+O2qu3(1/2) AAS
>>271
それで得られるの.comドメインだけじゃね
273
(1): 2022/05/26(木)11:26 ID:JFz3AkL/(1) AAS
(?m:((?:[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]*)\.[a-zA-Z]{2,})$)
274
(2): 2022/05/26(木)13:28 ID:DqYj7elt(1) AAS
[a-zA-Z0-9]
って、何かもっと短いパターンに置き換えられないのかな?
275
(1): 2022/05/26(木)13:51 ID:Nn08GFXz(3/3) AAS
>>272
ごめんなさい。私がちゃんと.com以外の例を出してませんでした。

>>273
ありがとうございます。
[regex]::Matchesの方で抽出できました。
もしよければ、今後のためにどういう意味の正規表現になってるかお教えいただけませんか
行末→$)
エスケープして.(ドット)+2文字以上の文字→\.[a-zA-Z]{2,})
までは分かるのですが、
(?:[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]*)
省3
276: 2022/05/26(木)14:03 ID:Ax+O2qu3(2/2) AAS
>>274
/S
277: 2022/05/26(木)14:08 ID:gYa8SY15(1) AAS
>>274
処理系にもよるけど\dと[0-9]は同等でないこともある(漢数字にもマッチする処理系や環境がある)
[:alpha:]は使えない処理系もある

>>275
ドメイン名の制約を正規化
mは行単位処理指定(一般的には不要)
1-
あと 725 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.016s