-1
我有很多使用此模式的字符串[INTEGER]-[URL-SLUG]
。示例:Python - 正則表達式只能在模式後才替換字符
234234-url-slug-1
2-urlslug2
301-url-slug4
我需要用'/'替換整數後的' - ',但保留其他' - '不變。所以,最終的字符串將是:
234234/url-slug-1
2/urlslug2
301/url-slug4
我有很多使用此模式的字符串[INTEGER]-[URL-SLUG]
。示例:Python - 正則表達式只能在模式後才替換字符
234234-url-slug-1
2-urlslug2
301-url-slug4
我需要用'/'替換整數後的' - ',但保留其他' - '不變。所以,最終的字符串將是:
234234/url-slug-1
2/urlslug2
301/url-slug4
re.sub函數具有可選參數計數這是要被替換模式發生的最大數量:
s = '234234-url-slug-1'
result = re.sub(r'^(\d+)-', r'\1/', s, 1)
print(result)
輸出:
234234/url-slug-1
這應該工作使用re.sub
:
> import re
> s = '234234-url-slug-1'
> re.sub(r'(\d)\-', r'\1/', s)
'234234/url-slug-1'
替換字符串\1
是指在匹配模式的第一個捕獲組:'(\d)'
。
你有沒有嘗試過的東西? – TheLostMind
['(?<= \ d)-'點擊試試](https://regex101.com/r/B25nhB/1) – TessellatingHeckler