2016-03-31 46 views
-1

我不是程序員,但我不得不將RegEx用於特定目的。如何將特定字符添加到正在從RegEx返回的內容中?如何爲RegEx結果添加字符?

舉例來說,如果我有一個列表如下:

XYZ ABC 123 

如何使用正則表達式來添加特定於每個月底的東西嗎?例如,如果我希望所有三個以.com爲例結束?

+0

你在做什麼編程語言?或者你使用的是像Notepad ++或Sublime Text這樣的編輯器? – Druzion

+0

這不是正則表達式。正則表達式(常規*表達式*)只是*表達式* - 它們表達了字符串的外觀(以及匹配的內容),但它們不會替代。然而,大多數正則表達式實現確實有'.replace'方法,所以你可以用'$ 1.com'(有些使用'\ 1.com')替換'([^ \ s] +)'。 – h2ooooooo

+0

您只能「使用正則表達式」*查看與您的表達*相匹配的內容。如果不更改表達式(並且它仍然必須匹配),則不能添加「結果」。 – usr2564301

回答

0

你可以試試這個腳本,用你的完整列表替換XYZ abc 123

echo "XYZ abc 123" | sed -E 's/([a-zA-Z0-9]+)/\1.com/g'

說明:

  • s/開始替換正則表達式
  • ([a-zA-Z0-9]+)捕獲至少一個字母數字
  • /結束正則表達式
  • \1.com替換捕獲與自身Plus增加了.com
  • /g全球改性劑(所有比賽)

不知道要使用正則表達式引擎,還有很多其他的方法可以做到這。未來,請提供更多信息。