亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我有一個正則表達式數組,我用相同的字符替換。我將如何使用或“|” 用我的正則表達式來降低數組計數?

我有一個正則表達式數組,我用相同的字符替換。我將如何使用或“|” 用我的正則表達式來降低數組計數?

PHP
函數式編程 2022-07-22 17:20:23
我的數組中有更多設置,但為了簡單起見,我只使用或“|”放置我想要組合在一起的那些。$patterns = array();$patterns[1] = "/(?:\:)/";$patterns[2] = "/(?:\-_)/";$patterns[3] = "/(?:\_-)/";$replacements = array();$replacements[1] = "-";$replacements[2] = "-";$replacements[3] = "-";preg_replace($patterns, $replacements, $data['string']);我嘗試了不同的嘗試,但沒有成功。下面是對所需數組進行分組的嘗試:$patterns = array();$patterns[1] = "/(?::|-_|_-|)/";$replacements = array();$replacements[1] = "-"我所有的其他數組都有一個獨特的$replacements。保留原始設置按我的意愿工作,但我只是想通過將這 3 個分組為 1 來降低數組計數。這個正則表達式實際上按預期工作,但對于我的場景,我不得不按原樣保留我的原始設置。它給出了混合結果是因為替換的順序。在一組中觸發替換會產生奇怪的結果。
查看完整描述

1 回答

?
小唯快跑啊

TA貢獻1863條經驗 獲得超2個贊

由于替換是相同的-,您可以將所有匹配的正則表達式與|并使用更簡單的版本preg_replace

$data['string'] = preg_replace('/(?::|-_|_-|)/', '-', $data['string']);

這里(?::|-_|_-|)將匹配一個:or-__-。


查看完整回答
反對 回復 2022-07-22
  • 1 回答
  • 0 關注
  • 133 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號