シンボル「!」と一致させたい最初のもののみx回。私は正規表現のチートシートを見ましたが、関連する例は見つかりませんでした。正規表現に一致する "?" x回
私の現在の正規表現:たとえば
[!]{1}
、私は最初の3にマッチさせたい場合は、「!」シンボルや空の文字列に置き換えます。
入力:"!!dd!!dd!!"
出力:"dd!dd!!"
シンボル「!」と一致させたい最初のもののみx回。私は正規表現のチートシートを見ましたが、関連する例は見つかりませんでした。正規表現に一致する "?" x回
私の現在の正規表現:たとえば
[!]{1}
、私は最初の3にマッチさせたい場合は、「!」シンボルや空の文字列に置き換えます。
入力:"!!dd!!dd!!"
出力:"dd!dd!!"
あなたはこのような何か行うことができます:
キャプチャパターン:
[!]([^!]*?)[!]([^!]*?)[!]([^!]*?)(.*)
Raplacementパターン:
$1$2$3$4
Basicalyを、それが
[!]
はキャプチャ言います([^!]*?)
あなたはちょっとあなたが使用している技術に言及する必要が!
あなたが2以上のもののために正確に3回、3〜5倍の間について{3,5}
、および{2,}
ため{3}
を使用する必要がありますが回。
あなたはその質問を誤解しました。 OPが起こりたいと思う例を見てください – Dummy
除く、次の文字をすべてをキャプチャします。あなたがsedを使っていたら、s/^([^!] *)!([^!] *)!([^!] *)!(。*)$/\ 1 \ 2 \ 3 \ 4/"です。 "([^!] *)"は、すべての非 "!" charsのセット。 –
あなたの問題は、正規表現なしで、つまり単純なパーサを使って、より簡単に解くことができます。 – royhowie