2014-04-22 23 views
0

我在我的代碼中有多個<li>,超過3000個(不要問!)。帶三個通配符的正則表達式字符串,用第二個和第三個替換

他們都是要麼格式:

<li>Name, Job, Company</li>

<li>Job, Company</li>

我需要找到一個包含Name(即用兩個逗號,者的那些,而不僅僅是一個),並刪除名稱。我希望能使用Sublime Text的Regex find + replace功能。現在

,我可以選擇所有包含使用下面的正則表達式兩個逗號行:

<li>.*,.*,.*</li>

但我怎麼現在替代那些只是第二和第三.* S,丟棄第一?

+1

使用正則表達式中的捕獲組和替換中的反向引用。 – Barmar

回答

2

找到這個:

<li>.*,(.*),(.*)</li> 

替換爲:

<li>\1,\2</li> 

<li>$1,$2</li> 

無論你的編輯器支持

+1

捕獲組...今天晚上完美的光讀,謝謝你的回答! – mpdc

+0

@MatthewPeckham很高興它幫助你:) – aelor

1
sed -r 's/[^,]*,([^,]*,[^,]*)/\1/g' 

不是.*因爲它會匹配逗號。

相關問題