标签:堆栈 数字 没有 正则 无法 优先 ... 情况 不同
| 元字符 | 说明 |
|---|---|
| . | 匹配除换行符以外的任意字符 |
| \w | 匹配字母或数字或下划线 |
| \s | 匹配任意的空白符 |
| \d | 匹配数字 |
| \b | 匹配单词开始或者结尾 |
| ^ | 匹配单词开始 |
| $ | 匹配字符串的结束 |
| 特别字符 | 描述 |
|---|---|
| $ | 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 ‘\n‘ 或 ‘\r‘。要匹配 $ 字符本身,请使用 $。 |
| ( ) | 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 ( 和 )。 |
| * | 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 *。 |
| + | 匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 +。 |
| . | 匹配除换行符 \n 之外的任何单字符。要匹配 . ,请使用 . 。 |
| [ | 标记一个中括号表达式的开始。要匹配 [,请使用 [。 |
| ? | 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 ?。 |
| \ | 将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如, ‘n‘ 匹配字符 ‘n‘。‘\n‘ 匹配换行符。序列 ‘\‘ 匹配 "",而 ‘(‘ 则匹配 "("。 |
| ^ | 匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配 ^ 字符本身,请使用 ^。 |
| { | 标记限定符表达式的开始。要匹配 {,请使用 {。 |
| | | 指明两项之间的一个选择。要匹配 |,请使用 |。 |
| 语法 | 说明 |
|---|---|
| \W | 匹配任意不是字母,S数字,下划线的字符 |
| \S | 匹配任意不是空白符的字符 |
| \D | 匹配任意非数字的字符 |
| \B | 匹配不是单词开头和结束的位置 |
| [^x] | 匹配除了x以外的任意字符 |
| [^one] | 匹配除了one这几个字母的任意字符 |
| 语法 | 说明(和之前紧邻元素组合起来表示之前紧邻元素出现次数) |
|---|---|
| * | 重复零次或更多次 |
| + | 重复一次或更多次 |
| ? | 重复零次或一次 |
| {n} | 重复n次 |
| {n,} | 重复n次或更多次 |
| {n,m} | 重复n到m次 |
环视功能不匹配任何字符,只匹配文本中的特定位置,这一点与单词分界符「\b」、锚点「^」和「$」相似。但是,环视比它们更加通用。
环视不会占用字符
环视类型
实例:(?=Jeffrey)Jeff可以匹配by Thomas Jeffery,不可以匹配Jefferson,因为(?=Jeffery)无法找到位置.
(?<=Jeff)(?=s)匹配Jeff(位置)s 顺序环视和逆序环视前后顺序是无关紧要的
| 类型 | 正则表达式 | 匹配成功的条件 |
|---|---|---|
| 肯定顺序环视 | (?=...) | 子表达式可以匹配右侧文本 |
| 肯定逆序环视 | (?<=...) | 子表达式可以匹配左侧文本 |
| 否定顺序环视 | (?!...) | 子表达式不可以匹配右侧文本 |
| 否定逆序环视 | (?<!...) | 子表达式不可以匹配左侧文本 |
| 运算符 | 描述 |
|---|---|
| \ | 转义符 |
| (), (?:), (?=), [] | 圆括号和方括号 |
| *, +, ?, {n}, {n,}, {n,m} | 限定符 |
| ^, $, \任何元字符、任何字符 | 定位点和序列(即:位置和顺序) |
| | | 替换,"或"操作 字符具有高于替换运算符的优先级,使得"m|food"匹配"m"或"food"。若要匹配"mood"或"food",请使用括号创建子表达式,从而产生"(m|f)ood"。 |
标签:堆栈 数字 没有 正则 无法 优先 ... 情况 不同
原文地址:https://www.cnblogs.com/redo19990701/p/10680115.html