正则表达式-正则表达式的使用
Posted 天津 唐秙
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式-正则表达式的使用相关的知识,希望对你有一定的参考价值。
文章目录
1. 正则表达式
1.1 示例
1.^ 为匹配输入字符串的开始位置
2.[0-9]+ 匹配多个数字,[0-9] 匹配单个数字,+ 匹配一个或者多个
3.abc $ 匹配字母adb并以abc结尾, $ 为匹配输入字符串的结束位置
1.2 语法
正则表达式描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串,将匹配的子串替换或者从某个串中取出符合某个条件的子串等。
runoo+b
可以匹配runoob、runooob、runooooooob等,+ 表示前面的字符必须至少出现一次或多次(一次或多次)
runoo*b
可以匹配runob、runoob、runoooooob等,* 表示前面的字符可以不出现,也可以出现一次或者多次(0次、1次或多次)
colou?r
可以匹配color或者colour,?问号代表前面的字符最多只可以出现一次(0次、1次)
1.2.1 普通字符
[ABC]
匹配ABC中间的所有字符
[ ^ ABC]
匹配除了ABC的所有字符
[A-Z]
表示一个区间,匹配所有的大写字母
.
匹配除了换行符(\\n、\\r)之外的任何单个字符
\\s\\S
匹配所有,\\s匹配所有的空白符,包括换行,\\S非空白符,不包括换行
\\w
匹配字母、数字、下划线,等价于[A-Za-z0-9]
1.2.2 非打印字符
\\cx
匹配由x指明的控制字符。例如, \\cM 匹配一个 Control-M 或回车符。x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一个原义的 ‘c’ 字符。
\\f
匹配一个换页符
\\n
匹配一个换行符
\\r
匹配一个回车符
\\s
匹配任何空白字符
\\S
匹配任何非空白字符
\\t
匹配一个制表符
\\v
匹配一个垂直制表符
1.2.3 特殊字符
匹配任何的特殊字符都需要 \\ 进行转义
表示任何字符
**
∗
∗
匹
配
输
入
字
符
串
的
结
尾
位
置
,
** 匹配输入字符串的结尾位置,
∗∗匹配输入字符串的结尾位置,也可以匹配\\n、\\r,如果要匹配字符串本身使用 \\ $
()
标记一个子表达式的开始和结束位置
+
匹配前面的子表达式一次或多次
.
匹配除换行符\\n之外的任何单字符
[
标记一个中括号表达式的开始
?
匹配前面的子表达式零次或一次
**
将下一个字符标记、特殊字符、原义字符、向后引用、或八进制转义符
1.2.4 限定符
*
匹配前面的子表达式零次或多次
+
匹配前面的子表达式一次或多次
?
匹配前面的子表达式零次或一次
n
n是一个非负整数,匹配确定的n次
n,
n是一个非负整数,至少匹配n次
n,m
n和m均为非负整数,n <= m,最少匹配n次,最多匹配m次
1.2.5 定位符
^
匹配输入字符串开始的位置
$
匹配输入字符串结尾的位置
\\b
匹配一个单词的边界,即字与空格间的位置
\\B
非单词边界匹配
1.2.6 其他
exp1(?=exp2)
查找exp2前面的exp1
(?<=exp2)exp1
查找exp2后面的exp1
exp1(?!exp2)
查找后面不是exp2的exp1
(?<!exp2)exp1
查找前面不是exp2的exp1
1.2.7 反向引用
1.提供查找文本中两个相同的相邻单词的匹配项的能力
2.反向引用还可以将通用资源指示符 (URI) 分解为其组件
1.3 修饰符
1.4 运算符优先级
资料来自菜鸟教程
https://www.runoob.com/regexp/regexp-tutorial.html
以上是关于正则表达式-正则表达式的使用的主要内容,如果未能解决你的问题,请参考以下文章
如何过滤文本文件中以大写字母开头并以正整数结尾的行,并在 linux 的命令行上使用正则表达式?
密码的正则表达式 = 一个数字以及大小写字母和特殊字符但是!开头或结尾没有特殊字符