1

値。HPCC ECL REGEXは、前後参照背中合わせにここ<a href="http://userguide.icu-project.org/strings/regexp" rel="nofollow">http://userguide.icu-project.org/strings/regexp</a></p> <p>定義された私は、私が修正するために正規表現を使用したい特定の問題を抱えているとされているものと私はREGEXライブラリを使用しています

Input := '!Tim !~ Dan~'; 
Output := Tim !~ Dan 

REGEXREPLACE('((?<![!])~)' ,Input,' '); //Results in : !Tim !~ Dan 
REGEXREPLACE('((?![~])!)|((?<![!])~)',Input,' '); //Results in : Tim ~ Dan 

この声明はどういう意味ですか? 〜の後に削除するには?

どうすればすべて削除できますか? 〜〜を1つのRegexコマンドで削除することなく、

あなたが私に方法を教えていただけたらボーナスポイント!〜! 1つのコマンドで作業します。

ありがとうございます!

答えて

1

次の正規表現を使用することができます

(!~)|[!~] 

をして$1後方参照と交換します。 regex demoを参照してください。

詳細

  • (!~)は - と一致し、グループ1!~シーケンスに取り込み、文字
  • | - または
  • [!~] - 単一!または~文字

$1逆参照は、グループ1に格納された値を結果の文字列に再挿入します。

+0

これは基本的にグループ1内の何かをそれ自身とグループ外のものを空の文字列で置き換えると言う。私は$ 1が文字セットの各インスタンスを置き換えたと考えていたでしょう。なぜこれは当てはまりませんか? –

+0

'$ 1'は[*番号付きバックリファレンス*](http://www.regular-expressions.info/replacebackref.html)です。パターン内の対応するキャプチャグループでキャプチャされたテキストを参照します。 [* capture group *](http://www.regular-expressions.info/brackets.html)は、パターン内のエスケープされていないカッコのペアです。 –

+0

さて、(!〜)| [!〜]は、グループの前に置換されていなければ、他の方法で参照することはできません。 –

関連する問題

 関連する問題