对于NLP来说,正则表达式在模版比较固定的场景发挥着至关重要的作用,下面来介绍一下正则表达式的一些基本的使用,我们用python的re模块来实现我们的功能。
1、匹配单个字符
| 字符 | 功能 |
| . | 匹配任意的一个字符(除了“\n”) |
| [] | 匹配[]中列举的字符 |
| \d | 匹配数字(0-9) |
| \D | 匹配非数字 |
| \s | 匹配空白(空格、tab键) |
| \S | 匹配非空白字符 |
| \w | 匹配单词字符 |
| \W | 匹配非单词字符 |
Example:
import re input_str = "我叫小明,我喜欢NLP,学号是123" # 匹配任意一个字符 test01 = re.match(".", input_str) print(test01.group()) test02 = re.match("我.小明,我喜欢NLP", input_str) print(test02.group()) # 匹配列举的字符 test03 = re.match("[hH]", "haha") print(test03.group()) # 匹配开头为数字的字符串 test04 = re.match("[0-9]haha", "1haha") print(test04.group()) # 匹配0到2 、7到9的数字的字符串 test05 = re.match("[0-27-9]haha", "8haha") print(test05.group()) # 匹配有数字的字符串 test06 = re.match("天宫\d号", "天宫1号发射") print(test06.group()) """ 答案如下: 我 我叫小明,我喜欢NLP h 1haha 8haha 天宫1号 """
2、匹配多个字符
未完待续