お客様の中に正規表現にお詳しい方はいらっしゃいませんか。 | zig5z7 | sa.yona.la ヘルプ | タグ一覧 | アカウント登録 | ログイン

お客様の中に正規表現にお詳しい方はいらっしゃいませんか。

返信

・行の中で「全体としてはどこに何回出現してもしなくてもいいが、出現する場合は2回連続でのみ」としたい文字がいくつかある

・その文字同士は、それぞれが2回連続であっても、隣り合ってはいけない

・行の中で常に禁止したい文字列が他にいくつかある

・マッチ対象は行全体

・文字クラスの中に文字クラスや文字グループは入れられない


仮に文字AとBを2回連続のみ許可して、常に禁止したい文字をXとYとすると、


以下はマッチ対象としたい行


nnnnnn

AA

BB

nnAAnnBBnnAAnn


以下はマッチ対象となってはならない行


nnnA(1回なので)

ABnn(1回で、隣り合ってもいるので)

AABBnnn(隣り合っているので)

BBB(2回を超えるので)

AAAA(2回連続ずつだけど隣り合っていて結果的に2回を超えるので)

nnAAnnXnnAAnnBBnnY(他の禁止文字があるので)


という正規表現を1行で書きたいのです。

[^A]AA[^A]|[^B]BB[^B]で「2回だけの連続が1回」まではわかるんですがその先が。


テキストエディタの環境設定にぶっ込んで入力支援として使いたいため、1行の正規表現である必要があります。


ひどい頭痛なのです。どなたかお客様で正規表現にお詳しい方はお乗りでないでしょうか。

投稿者 zig5z7 | 返信 (1) | トラックバック (0)

このエントリーへのトラックバックアドレス:

Re: お客様の中に正規表現にお詳しい方はいらっしゃいませんか。

http://q7ny3v.sa.yona.la/1786

返信

必殺技っぽく「¥エスケーープ!」と叫んでみてはどうでしょうか。

頭痛が感染りそうなうえに正規表現にあまり詳しくはなくスミマセン。

投稿者 q7ny3v | 返信 (0)

API | 利用規約 | プライバシーポリシー | お問い合わせ Copyright (C) 2024 HeartRails Inc. All Rights Reserved.