悠悠楠杉
网站页面
.
表示任意单个字符,*
表示前面的字符可以出现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')
。