我在我的文本中用大括號包裹了數字,即{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+)[^\{]
[你有什麼嘗試?](http://mattgemmell.com/2008/12/08/what-have-you-tried/) – OmnipotentEntity
'[^ \ {((d +)[^ \ {]'和一些負向預測組合 – skibulk
'(?![^ \ {])\ d +'像這樣一個 – skibulk