嗨,我有幾行這樣的代碼:
$row[number];
$row[user];
我想像這樣改變它們:
$row['number'];
$row['user'];
在記事本上使用正則運算式查找和替換來查找它們我使用了這個運算式:
\$row\[.*?\]
你知道我如何通過添加:' '到極端來代替同一個詞嗎?謝謝
uj5u.com熱心網友回復:
您需要在索引符號中查找非引號,因此.*?用[^'] ?. 您還可以使用 PHP 定義的有效變數,并在索引符號之前使用更準確的定義:
([$][a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*)[[]([^'] ?)[\]]
然后替換為:
$1['$2']
https://regex101.com/r/GMrMEi/1/
如果你想更進一步,你可以使用負前瞻來排除整數 ( (?!\d )) 索引(因為它們在 PHP 中是有效的):
([$][a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*)[[](?!\d )([^'] ?)[\]]
https://regex101.com/r/bU2sRg/1/
如果只有$row你可以這樣做:
[$]row[[]([^'] ?)[\]]
和
$row['$1']
https://regex101.com/r/tTMmS7/1/
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/361854.html
上一篇:正則運算式拆分標點符號的兩個或多個實體,并且僅拆分一個或多個其他實體
下一篇:正則運算式匹配字串列和特定單詞
