正则表达式:消除斜杠之间的所有数字
regex: eliminate all numbers between slashes
预计:http://some_url.com/api/v1/1/2/3/4" -> http://some_url.com/api/v1/*/*/*/*/
我用的是什么:
re.sub(r"/\d+/?", "/*/", str(url), flags=re.IGNORECASE)
实际:http://some_url.com/api/v1/*/2/*/4/
您可以使用
/\d+(?=/|$)
/\d+(?![^/])
并替换为 /*
。见 regex demo.
在Python中:
url = re.sub(r"/\d+(?=/|$)", "/*", url)
详情
/
- 一个 /
字符
\d+
- 1+ 位数
(?![^/])
- 如果下一个字符不是 /
以外的字符(因此,字符串结尾或 /
立即需要当前位置的右侧,与正 (?=/|$)
前瞻相同)
import re
url = 'http://some_url.com/api/v1/1/2/3/4'
url = re.sub(r"/\d+(?=/|$)", "/*", url)
print(url)
# => http://some_url.com/api/v1/*/*/*/*
你可以使用
/\d+(?=/|$)
预计:http://some_url.com/api/v1/1/2/3/4" -> http://some_url.com/api/v1/*/*/*/*/
我用的是什么:
re.sub(r"/\d+/?", "/*/", str(url), flags=re.IGNORECASE)
实际:http://some_url.com/api/v1/*/2/*/4/
您可以使用
/\d+(?=/|$)
/\d+(?![^/])
并替换为 /*
。见 regex demo.
在Python中:
url = re.sub(r"/\d+(?=/|$)", "/*", url)
详情
/
- 一个/
字符\d+
- 1+ 位数(?![^/])
- 如果下一个字符不是/
以外的字符(因此,字符串结尾或/
立即需要当前位置的右侧,与正(?=/|$)
前瞻相同)
import re
url = 'http://some_url.com/api/v1/1/2/3/4'
url = re.sub(r"/\d+(?=/|$)", "/*", url)
print(url)
# => http://some_url.com/api/v1/*/*/*/*
你可以使用
/\d+(?=/|$)