我試圖捕獲URL中的%20,並用+'es替換它們,以及去掉其他一些東西,所有優選使用單個正則表達式。正則表達式:使用一個正則表達式替換同一行內的多個模式
具體來說,我想這樣的事情
a%20sentence%20divided%20by%20spaces_123456.html
要變成像這樣
a+sentence+divived+by+spaces
編輯:爲清楚起見,這是至關重要的兩個%20
「 s和尾部_1233456.html
是針對性的,最好使用一個單一的表達式。
源可以
^([\w]+%20)+.*\.html$
(多次出現[\w]+%20
,其次爲任意字符,然後.html
)
有針對性,但我感到困惑如何具體取代雙方的多次出現%20
和尾隨'123456'。我猜這將是在朝着正確的方向
^(([\w]+)%20)+([\w]+)_[0-9]+\.html$
$1
是的([\w]+)%20
,$2
是第一場比賽中的[\w]+
每次出現每次出現,並$3
爲[\w]+
了一槍,但我不讓我在尋找(使用文本崇高此)結果:
string: a%20sentence%20divided%20by%20spaces_123456.html
search: ^(([\w]+)%20)+([\w]+)_[0-9]+\.html$
replace: $2+$3
expected result: a+sentence+divided+by+spaces
actual result: by+spaces
那裏我的思路都被打亂任何想法?
[標籤:使用Javascript(將通過正則表達式在年底反正擦除)? – Tushar
用'+'簡單替換'%20'有什麼問題? – ndn
['decodeURIComponent()'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent)。 'str = decodeURIComponent(str).replace(/ \ s +/g,'+');' – Tushar