在日常编程过程中,正则表达式是我不敢触碰的恶魔,今天勇敢面对,一文了解正则表达的各种规则,畅通编程之路。
目录
正则表达式是一种强大的文本处理工具,它可以用来查找、匹配和替换文本中的特定模式。使用正则表达式可以极大地简化文本处理的过程,例如从文本中提取特定的信息、验证数据的格式、过滤无效的输入等。正则表达式在编程、数据分析、文本处理等领域都有广泛的应用。
1.匹配规则
正则表达式的匹配规则是从左到右按规则匹配。
2.单个字符匹配
1. 精确匹配
- • 对于正则表达式abc,只能精确匹配字符串"abc",而不能匹配"ab","Abc","abcd"等其他任何字符串。
- • 如果正则表达式有特殊字符,需要用\转义。比如,正则表达式a\&b ,其中\&是用来匹配特殊字符&的,它能精确匹配字符串"a&b",但是不能匹配"ac"、"a-c"、"a&&c"等字符串。
注意:正则表达式在Java代码中也是一个字符串,所以,对于正则表达式a\&b,对应的Java字符串是"a\\&b",因为\也是Java字符串的转义字符,两个\\实际上表示的是一个\:
- • 如果想匹配非ASCII字符,例如中文,就用十六进制表示,例如:a\u548cb匹配字符串"a和b",中文字符和的Unicode编码是548c。
2. 匹配任意字符
.
精确匹配一般用的比较少,我们直接通过String类的equals()方法就可以实现。大多数情况下,我们想要模糊匹配。我们可以用.匹配一个任意字符。
例如,正则表达式a.b中间的.可以匹配一个任意字符,下面的字符串都可以匹配到:
"abb"
"a&b"
"acb"
注意 但它不能匹配"ab"、"a&&b",因为.匹配一个字符且仅限一个字符。