正则表达式内容和涵义

基本模式匹配

^once  // 表示以once开头的字符串
"once upon a time"    // 匹配,
"There once was a man from NewYork"   //不匹配

^字符用来表示该模式只匹配那些以   ^xxx   开头的字符串。

$ 符号用来匹配那些以给定模式结尾的字符串。

bucket$   // 表示,以bucket结束的字符串
“Who kept all of this cash in a bucket"  // 匹配,
"buckets"   // 不匹配。

字符 ^ 和 $ 同时使用时,表示精确匹配(字符串与模式一样)

如果一个模式不包括 ^ 和 $,那么它与任何包含该模式的字符串匹配。

^bucket$   // 只匹配字符串 "bucket"


once  // 表示任何包含该模式的字符串匹配
There once was a man from NewYork // 匹配
Who kept all of his cash in a bucket. // 匹配

 

// 这些也只表示一个字符,
[a-z] // 匹配所有的小写字母 [A-Z] // 匹配所有的大写字母 [a-zA-Z] // 匹配所有的字母 [0-9] // 匹配所有的数字 [0-9\.\-] // 匹配所有的数字,句号和减号 [ \f\r\t\n] // 匹配所有的白字符

 

要匹配一个由一个小写字母和一位数字组成的字符串

^[a-z][0-9]$   // 表示以一个小子字母和一位数字组成的字符串

当在一组方括号里使用 ^ 时,它表示""或"排除"的意思,常常用来剔除某个字符。

^[^0-9][0-9]$   // 表示以第一个字符不是数字和一个数子组成的字符串
[^a-z] //除了小写字母以外的所有字符 
[^\\\/\^] //除了(\)(/)(^)之外的所有字符 
[^\"\'] //除了双引号(")和单引号(')之外的所有字符
特殊字符 .(点,句号)在正则表达式中用来表示除了"新行"之外的所有字符
.{2}   // 所有的两个字符

//  一个数字 {x} 的意思是前面的字符或字符簇只出现x次  
^a{4}$ // 以a开头的字符,且连续只出现4次。

// 一个数字加逗号 {x,} 的意思是前面的内容出现x或更多的次数 
^a{2,}  // 以a开头的字符,连续出现2次,或连续2次以上。

// 两个数字用逗号分隔的数字 {x,y} 表示 前面的内容至少出现x次,但不超过y次。

^a{1,3} // 以a开头的字符,至少出现1次,且不超过3次。

 

{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为一组。“o{0,1}”等价于“o?”。请注意在逗号和两个数之间不能有空格。

(pattern)
//匹配pattern并获取这一匹配。所获取的匹配可以从产生的Matches集合得到,在VBScript中使用SubMatches集合,在JScript中则使用$0…$9属性。要匹配圆括号字符,请使用“\(”或“\)”。

\d
// 匹配一个数字字符。等价于[0-9]。grep 要加上-P,perl正则支持

\D
// 匹配一个非数字字符。等价于[^0-9]。grep要加上-P,perl正则支持

\s
// 匹配任何不可见字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。

\S
// 匹配任何可见字符。等价于[^ \f\n\r\t\v]。

\w  
// 匹配包括下划线的任何单词字符。类似但不等价于“[A-Za-z0-9_]”,这里的"单词"字符使用Unicode字符集。

\W
// 匹配任何非单词字符。等价于“[^A-Za-z0-9_]”。

 

确定重复出现

特殊字符 * 与 {0,} 是相等的 ,表示 0 个或多个前面的内容 

特殊字符 ? 与 {0,1} 是相等的 ,表示0个或1个前面的内容

字符 + 与 {1,} 是相等的,表示 1 个或多个前面的内容 
^[a-zA-Z0-9_]+$      // 所有包含一个以上的字母、数字或下划线的字符串 
^[1-9][0-9]*$        // 所有的正整数 
^\-?[0-9]+$          // 所有的整数 
^[-]?[0-9]+(\.[0-9]+)?$ // 所有的浮点数

 

posted @ 2022-05-09 10:30  zcm花开不败  阅读(120)  评论(0)    收藏  举报