は私が{^xyz^}
怒鳴るようにマッチするパターン、正規表現とパターン{^と^}
@"\b\{\^\S*\^\}\b
を記述しようとしています。しかし、私は成功を取得し、私のパターンに問題があるか疑問に思うわけではありません。
@"\{\^([^}]*)\^\}"
をし、あなたの文字列をキャプチャし、グループ#1を抽出:
は私が{^xyz^}
怒鳴るようにマッチするパターン、正規表現とパターン{^と^}
@"\b\{\^\S*\^\}\b
を記述しようとしています。しかし、私は成功を取得し、私のパターンに問題があるか疑問に思うわけではありません。
@"\{\^([^}]*)\^\}"
をし、あなたの文字列をキャプチャし、グループ#1を抽出:
あなたは使用することができます。
\b
は、{
および}
が単語ではないため、ここでは機能しません。[^}]*
の使用は、グレディー\S*
よりも効率的で正確です。私は単に\{\^(\S*?)\^\}
を使用します。この方法で、キャレットと中括弧の間の内容をキャプチャします。 ?
は、*
量子を怠惰にすることで、できるだけ小さな文字にマッチします(同じ行の別のブロックの終わりまで1つのブロックの先頭が一致するのを防ぐためです)。
これらの\b
では、一致する正規表現の中括弧の前後に単語タイプの文字が必要です。それは本当に必要条件ですか?それとも、スペースがありますか?
文字列が{^ fristname ^}の場合は、{^と^}の間の文字列を取得したいからです。... 'firstname'を取得したいと思います。 – dula
どのツールを使用して一致させていますか(理由は '\\'をエスケープする必要があります)?あなたのreのinfrontの見積もりがあります! – kaza
申し訳ありませんが、私はあなたの返信に一重引用符を入れたfirstnameを強調したいと思います – dula