您可能捕獲你需要到一個捕獲組,並與相應的代碼訪問它的價值。
爲Java和Python的正則表達式可以像
postgresql://[\d.]+:(\d+)\b
詳細:
postgresql://
- 一個字符串postgresql://
[\d.]+
- 1個或多個數字或.
符號
:
- 冒號
(\d+)
- 組1捕獲1位或更多位
\b
- 字邊界。
見Java demo:
String s = "Install: C:\\Program Files\\app\nDatabase: postgresql://127.0.0.1:42018/app\nStarted: 2016-12-28 10:40:05.908000\nLines: 1000000\nVersion: 4.1\nPID: 1736";
Pattern pattern = Pattern.compile("postgresql://[\\d.]+:(\\d+)\\b");
Matcher matcher = pattern.matcher(s);
if (matcher.find()){
System.out.println(matcher.group(1));
}
見Python code:
import re
s = "Install: C:\\Program Files\\app\nDatabase: postgresql://127.0.0.1:42018/app\nStarted: 2016-12-28 10:40:05.908000\nLines: 1000000\nVersion: 4.1\nPID: 1736";
pattern = r"postgresql://[\d.]+:(\d+)\b"
m = re.search(pattern, s)
if m:
print(m.group(1))
什麼是編程語言?看起來,很容易捕獲5位數字,如['postgresql:// [\ d。] +:(\ d {5})\ b'](https://regex101.com/r/QQ3TJP/1)。 –
我想在java和python中做同樣的事情。截至目前我只從http://www.regexr.com/ – CMY