正则表达式
windows中常用的正则
- *任意长度的字符串
- ?长度为一的任意字符
元字符
. 匹配除换行符以外的任意字符
\w 匹配 字母 或 数字 或 下划线 或 汉字
\s 匹配 任意的空白字符
\d 匹配数字
\b 匹配单词的 开始 或 结束
^ 匹配字符串的开始
$ 匹配字符串的结束
反义:
\W 匹配不是 字母 或 数字 或 下划线 或 汉字
\S 匹配 任意不是空白的字符
\D 匹配不是数字的字符
\B 匹配不是单词的 开始 或 结束的位置
[^x] 匹配除了x以外的任意字符
[^ aeiou] 匹配除了aeiou这几个字母以外的任意字符
转义字符
" \ "
重复模式
*重复 零次 或 更多次
+重复 一次 或 更多次
?重复 零次 或 一次
{n}重复 n次
{n,}重复 n次 或 更多次
{n,m}重复 n次 到 m次
分支条件
用 | 把不同的规则分隔开
从左到右的测试条件,满足某个分支,就不再管其他分支
字符类
[ 0- 9 ] == \d
[a-z0-9A-Z] == \w
[&?.]
python
import re
#找出全部
re.findall(正则表达式,字符串,flags=0 标志位)
#找出一个
re.search(正则表达式,字符串,flags=0 标志位)
java
import java.util.regex.Pattern
import java.util.regex.Matcher
Pattern p = Pattern.compile("正则表达式");
Matcher m = p.matcher("字符串");
while(m.find()){//扫描输入的序列,查找与该模式匹配下的下一个子序列。
System.out.println(m.group());
}