文字列内の角かっこ"[""]"を正規表現に置き換えるにはどうすればよいですか?[と]は正規表現の特殊文字であることは知っていますが、パターン文字列の特定の文字として扱うことができる正しいエスケープ文字列を理解することはできません。
例として、「[111]」を「111」に変換します。
Re:文字列内の角かっこ "[" "]"を正規表現に置き換えるにはどうすればよいですか?単純なものについては、代わりに使用することはできませんか?
a = "[1 1 1]";
b = substitute(a, "[", "", "]", "");
show(b);
"1 1 1"
Re:文字列内の角かっこ "[" "]"を正規表現に置き換えるにはどうすればよいですか?多分エスケープ文字に関する正規表現の問題
あなたはおそらく、正規表現のエスケープと混同されてJMPのエスケープと戦っています@paul_vezzetti 。
JMP文字列は、\[および]\の特殊なケースになりますどこでもJMP文字列で、JMPのエスケープをオフにします。
\!\ [を試して、裸の]を使用してください。 正規表現は、[文字クラス]にない限り、]をエスケープする必要はありません。
regex("[1 2 3]","\!\[(.*)]","\1")「123」
\!\は、文字通りの円記号を作成するためのJMPのエスケープです。 次に、正規表現は\ [を認識し、期待どおりに動作します。
または、\ [...] \を使用することもできますが、正規表現で実際に] \が必要な場合は、問題が悪化し、明確ではないように見えます。
regex("[1 2 3]","\[\[(.*)]]\","\1")この二重エスケープの問題を解決するために、JMPが正規表現で引用された文字列を取得することを願っています。