wordpress站点更换域名,网站app生成器下载,网页设计模板代码网站,网站的开发工具Java 提供了 java.util.regex 包#xff0c;它包含了 Pattern 和 Matcher 类#xff0c;用于处理正则表达式的匹配操作。
正则表达式的模式
正则表达式的模式可以包括以下内容#xff1a; 字面值字符#xff1a;例如字母、数字、空格等#xff0c;可以直接匹配它们自身。…
Java 提供了 java.util.regex 包它包含了 Pattern 和 Matcher 类用于处理正则表达式的匹配操作。
正则表达式的模式
正则表达式的模式可以包括以下内容 字面值字符例如字母、数字、空格等可以直接匹配它们自身。 特殊字符例如点号 .、星号 *、加号 、问号 ? 等它们具有特殊的含义和功能。 字符类用方括号 [ ] 包围的字符集合用于匹配方括号内的任意一个字符。 元字符例如 \d、\w、\s 等用于匹配特定类型的字符如数字、字母、空白字符等。 量词例如 {n}、{n,}、{n,m} 等用于指定匹配的次数或范围。 边界符号例如 ^、$、\b、\B 等用于匹配字符串的开头、结尾或单词边界位置。
普通字符
字符描述[ABC] 匹配 [...] 中的所有字符例如 [aeiou] 匹配字符串 google runoob taobao 中所有的 e o u a 字母。 [^ABC] 匹配除了 [...] 中字符的所有字符例如 [^aeiou] 匹配字符串 google runoob taobao 中除了 e o u a 字母的所有字符。 [A-Z] [A-Z] 表示一个区间匹配所有大写字母[a-z] 表示所有小写字母。 . 匹配除换行符\n、\r之外的任何单个字符相等于 [^\n\r]。 [\s\S] 匹配所有。\s 是匹配所有空白符包括换行\S 非空白符不包括换行。 \w 匹配字母、数字、下划线。等价于 [A-Za-z0-9_] \d 匹配任意一个阿拉伯数字0 到 9。等价于 [0-9]
非打印字符
字符描述\cx匹配由x指明的控制字符。例如 \cM 匹配一个 Control-M 或回车符。x 的值必须为 A-Z 或 a-z 之一。否则将 c 视为一个原义的 c 字符。\f匹配一个换页符。等价于 \x0c 和 \cL。\n匹配一个换行符。等价于 \x0a 和 \cJ。\r匹配一个回车符。等价于 \x0d 和 \cM。\s匹配任何空白字符包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。注意 Unicode 正则表达式会匹配全角空格符。\S匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。\t匹配一个制表符。等价于 \x09 和 \cI。\v匹配一个垂直制表符。等价于 \x0b 和 \cK。
特殊字符
所谓特殊字符就是一些有特殊含义的字符如上面说的 runoo*b 中的 *简单的说就是表示任何字符串的意思。如果要查找字符串中的 * 符号则需要对 * 进行转义即在其前加一个 \runo\*ob 匹配字符串 runo*ob。
许多元字符要求在试图匹配它们时特别对待。若要匹配这些特殊字符必须首先使字符转义即将反斜杠字符\ 放在它们前面。下表列出了正则表达式中的特殊字符
特别字符描述$匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性则 $ 也匹配 \n 或 \r。要匹配 $ 字符本身请使用 \$。( )标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符请使用 \( 和 \)。*匹配前面的子表达式零次或多次。要匹配 * 字符请使用 \*。匹配前面的子表达式一次或多次。要匹配 字符请使用 \。.匹配除换行符 \n 之外的任何单字符。要匹配 . 请使用 \. 。[标记一个中括号表达式的开始。要匹配 [请使用 \[。?匹配前面的子表达式零次或一次或指明一个非贪婪限定符。要匹配 ? 字符请使用 \?。\将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如 n 匹配字符 n。\n 匹配换行符。序列 \\ 匹配 \而 \( 则匹配 (。^匹配输入字符串的开始位置除非在方括号表达式中使用当该符号在方括号表达式中使用时表示不接受该方括号表达式中的字符集合。要匹配 ^ 字符本身请使用 \^。{标记限定符表达式的开始。要匹配 {请使用 \{。|指明两项之间的一个选择。要匹配 |请使用 \|。
限定符
限定符用来指定正则表达式的一个给定组件必须要出现多少次才能满足匹配。有 * 或 或 ? 或 {n} 或 {n,} 或 {n,m} 共6种。
正则表达式的限定符有
字符描述*匹配前面的子表达式零次或多次。例如zo* 能匹配 z 以及 zoo。* 等价于 {0,}。匹配前面的子表达式一次或多次。例如zo 能匹配 zo 以及 zoo但不能匹配 z。 等价于 {1,}。? 匹配前面的子表达式零次或一次。例如do(es)? 可以匹配 do 、 does、 doxy 中的 do 和 does。? 等价于 {0,1}。 {n}n 是一个非负整数。匹配确定的 n 次。例如o{2} 不能匹配 Bob 中的 o但是能匹配 food 中的两个 o。{n,}n 是一个非负整数。至少匹配n 次。例如o{2,} 不能匹配 Bob 中的 o但能匹配 foooood 中的所有 o。o{1,} 等价于 o。o{0,} 则等价于 o*。{n,m}m 和 n 均为非负整数其中 n m。最少匹配 n 次且最多匹配 m 次。例如o{1,3} 将匹配 fooooood 中的前三个 o。o{0,1} 等价于 o?。请注意在逗号和两个数之间不能有空格。
[1-9]设置第一个数字不是 0[0-9]* 表示任意多个数字
贪婪下面的表达式匹配从开始小于符号 () 到关闭 h1 标记的大于符号 () 之间的所有内容。
/.*/ 非贪婪如果您只需要匹配开始和结束 h1 标签下面的非贪婪表达式只匹配 h1。
/.*?/ 也可以使用以下正则表达式来匹配 h1 标签表达式则是
/\w?/ 通过在 *、 或 ? 限定符之后放置 ?该表达式从贪婪表达式转换为非贪婪表达式或者最小匹配。