テキストに中かっこで囲まれた数字があります。つまり{123}
、または{456ABC}
。角かっこで囲まれていない数字もあります789
。これらのまだラップされていない数値を一致させ、PHPのpreg_replaceを使用してポンド記号でラップしたいと思います#789#
。数字は通常1〜3桁の範囲です。
print(preg_replace('/\d+/','#$0#',
'1) I can count to 2997510. You can only count to {456ABC}.'));
必要な出力:
#1#) I can count to #2997510#. You can only count to {456ABC}.
どの正規表現が数字と一致しますか?私はネガティブな先読み(?![^\{])\d+
を試しました[^\{](\d+)[^\{]