悠悠楠杉
网站页面
.表示任意单个字符,*表示前面的字符可以出现0次或多次,+表示前面的字符至少出现一次,?表示前面的字符可出现0次或1次,|表示“或”操作。()用于分组,[]用于指定字符集,{}用于指定前面的元素出现的次数。^表示字符串的开始,$表示字符串的结束。\用于转义特殊字符或普通字符,使其表示自身而非特殊含义。*(0次或多次)、+(1次或多次)、?(0次或1次)、{n}(确切n次)、{n,}(至少n次)、{n,m}(n到m次)。|可以指定多个模式,匹配时选择符合的第一个模式。例如,a|b表示匹配a或b。(a(b))中,括号内的内容为捕获组,其中a(b)是一个子模式。\1, \2)引用前面定义的捕获组。这在某些替换操作中非常有用。```bash
echo "example http://www.example.com and https://www.example.net" | grep -oP 'http://\w+'
echo "example, test test" | sed 's/\s+/,/g'
```
python
import re
data = "name: John Doe, age: 30, email: john@example.com"
match = re.search(r'name:\s*(.*?),\s*', data) # 提取姓名
print(match.group(1)) # 输出: John Doe
re.split(r',\s*', 'a,b,c')。