正则表达式中的.*,.*?,. ?分别代表什么意思?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1351个文字,预计阅读时间需要6分钟。
1. `.*` 表示匹配除换行符以外的任意字符。 例如,`a.*b` 将匹配任何以 a 开头,以 b 结尾的字符串。
2. `*` 表示匹配前面的子表达式零次或多次。 例如,`a*` 可以匹配 a,aa,aaa 等等。
3. `+` 表示匹配前面的子表达式一次或多次。 例如,`a+` 将匹配 a,aa,aaa 等等,但不会匹配 b 或 c。
4. `?` 表示匹配前面的子表达式零次或一次。 例如,`a?` 可以匹配 a 或不匹配 a。
5. `[]` 用于定义一个字符集合,其中可以包含字符或字符范围。 例如,`[abc]` 将匹配 a、b 或 c。
6. `^` 用于指定行的开始。 例如,`^a` 将匹配任何以 a 开头的行。
7. `$` 用于指定行的结束。 例如,`b$` 将匹配任何以 b 结尾的行。
8. `|` 表示逻辑或,用于分隔多个可能的表达式。 例如,`a|b` 将匹配 a 或 b。
1. .*
. 表示匹配除换行符 \n 之外的任何单字符,*表示零次或多次。所以.*在一起就表示任意字符出现零次或多次。没有?表示贪婪模式。比如a.*b,它将会匹配最长的以a开始,以b结束的字符串。如果用它来搜索aabab的话,它会匹配整个字符串aabab。这被称为贪婪匹配。
本文共计1351个文字,预计阅读时间需要6分钟。
1. `.*` 表示匹配除换行符以外的任意字符。 例如,`a.*b` 将匹配任何以 a 开头,以 b 结尾的字符串。
2. `*` 表示匹配前面的子表达式零次或多次。 例如,`a*` 可以匹配 a,aa,aaa 等等。
3. `+` 表示匹配前面的子表达式一次或多次。 例如,`a+` 将匹配 a,aa,aaa 等等,但不会匹配 b 或 c。
4. `?` 表示匹配前面的子表达式零次或一次。 例如,`a?` 可以匹配 a 或不匹配 a。
5. `[]` 用于定义一个字符集合,其中可以包含字符或字符范围。 例如,`[abc]` 将匹配 a、b 或 c。
6. `^` 用于指定行的开始。 例如,`^a` 将匹配任何以 a 开头的行。
7. `$` 用于指定行的结束。 例如,`b$` 将匹配任何以 b 结尾的行。
8. `|` 表示逻辑或,用于分隔多个可能的表达式。 例如,`a|b` 将匹配 a 或 b。
1. .*
. 表示匹配除换行符 \n 之外的任何单字符,*表示零次或多次。所以.*在一起就表示任意字符出现零次或多次。没有?表示贪婪模式。比如a.*b,它将会匹配最长的以a开始,以b结束的字符串。如果用它来搜索aabab的话,它会匹配整个字符串aabab。这被称为贪婪匹配。

