最简单正则表达式入门

2024-11-01 07:44:48

1、正则表达式的作用:正则表达式是用于处理字符串的一种规则。比如说你看到一大篇文章,密密麻麻的文字看得你头大,而这篇文章中的绝大部分内部都是你不关心的。这时候,正则表达式就可以发挥作用了:1. 首先,你可以为你感兴趣的内容制定一个公式(如:这个公式为,包含‘金额’两个字的句子);2. 然后,使用正则表达式在文章中自动去搜索与你制定的公式相吻合的所有句子;3. 最后,把找到的符合规则的句子展示在你的眼前。这下你就可以针对找到的内容作出进一步处理了。那怎么来按制定这样公式呢?这就是今天要讲的主要内容,请往下看。

最简单正则表达式入门

3、公式符号 - 字符:1. 【一般字符】:代表自己本身,如:abc,就在句子中去匹配abc。2. 【.】:匹配除换行符以外的任意字符3. 【[...]】:字符集。匹配[]中的任一字符,如:a[bcd]e,在句子中匹配abe,ace,ade都可以。如在第一位加上^号,则不匹配字符集中的任意字符,如:a[^bcd]e,表示匹配abe,ace,ade以外的。

最简单正则表达式入门

5、公式符号 - 量词:10. 【*】匹配前一个字符0次或以上,如:ab*,可匹配a,ab,abbbb等11. 【+】匹配前一个字符1次或以上,如:ab+,可匹配ab,abbbb等12. 【?】匹配前一个字符0次或1次,如:ab?,可匹配a,ab13. 【{m}】匹配前一个字符m次,如:ab{2},可匹配abb14. 【{m, n}】匹配前一个字符m次至n次,如m不写则m默认为0,如n不写则n默认为正无穷。分别记为:{, n},{m, }。15. 【?】如果?出现在【*】【+】【?】【{m}】【{m, n}】的后面,表示以非贪婪模式匹配。如:ab+匹配abbbb就是贪婪匹配,有多少b都匹配上。而ab+?为非贪婪匹配,只要到ab就算成功了,b后面是否还是b就不关心了。

最简单正则表达式入门

7、公式符号 - 逻辑,分组:22. 【|】表或者,如:abc|def,先匹配abc,如果成功了就忽略掉d髫潋啜缅ef,如果没成功就匹配def。没有找到,则匹配失败。23. 【(...)】分组。每个级有一个编号从1开始,每遇到一个左括号,编号加1。如:a(bc){2}匹配abcbc;a(b|c)匹配ab或ac。24. 【(?P<name>)】只是为上面的分组再加一个别名。如a(?P<id>bc){2}。25. 【\number】引用编号为number的分组得到的字串。如:a(bc)d\1匹配abcdbc。26. 【(?P=name)】引用别名为name的分组得到的字串。如:a(?P<id>bc)d\(?P=id)匹配abcdbc。

最简单正则表达式入门

9、匹配方式:i = IGNORECASE:忽略大小写;m = MULTILINE:多行模式,改变’^’和’$’的行为;s = DOTALL:点任意匹配模式,改变’.’的行为;L = LOCALE:使预定字符类 \w \W \b \B \s \S 取决于当前区域设定u = UNICODE:使预定字符类 \w \W \b \B \s \S \d \D 取决于unicode定义的字符属性;x = VERBOSE: 详细模式。这个模式下正则表达式可以是多行,忽略空白字符,并可以加入注释。以下两个正则表达式是等价的。

最简单正则表达式入门
猜你喜欢