http://www.111cn.net/office/excel/52912.htm
函数ExStr功能,根据正规表达式,替换或判断或提取字符串
'参数 str 源字符串
'参数 Parttern 正则表达式字符串
'参数 ActionID 函数功能 1正则方法一,替换符合正规表达式的字符
?正则方法二 判断是否有符合正规表达式
?正则方法三,提取符合正规表达式的字符
'参数 Repstr 指定替换的字符,可选项,默认为空
代码如下 | 复制代码 |
|
附常用几个正规表达式
"^d+$" //非负整数(正整数 + 0) |
"^[0-9]*[1-9][0-9]*$" //正整数 |
"^((-d+)|(0+))$" //非正整数(负整数 + 0) |
"^-[0-9]*[1-9][0-9]*$" //负整数 |
"^-?d+$" //整数 |
"^d+(.d+)?$" //非负浮点数(正浮点数 + 0) |
"^(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$" //正浮点数 |
"^((-d+(.d+)?)|(0+(.0+)?))$" //非正浮点数(负浮点数 + 0) |
"^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$" //负浮点数 |
"^(-?d+)(.d+)?$" //浮点数 |
"^[A-Za-z]+$" //由26个英文字母组成的字符串 |
"^[A-Z]+$" //由26个英文字母的大写组成的字符串 |
"[^a-z+$]" '由26个英文字母的小写组成的字符串 |
" [^A-Za-z0-9]+$" ‘由数字和26个英文字母组成的字符串 |
"^w+$" //由数字、26个英文字母或者下划线组成的字符串 |
"^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$" //email地址 |
"^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$" //url |
/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/ // 年-月-日 |
/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/ // 月/日/年 |
"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$" //Emil |
"(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?" //电话号码 |
"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$" //IP地址 |
匹配中文字符的正则表达式: [^u4e00-u9fa5] |
匹配双字节字符(包括汉字在内):[^x00-xff] |
匹配空行的正则表达式:n[s| ]*r |
匹配HTML标记的正则表达式:/<(.*)>.*</1>|<(.*) />/ |
匹配首尾空格的正则表达式:(^s*)|(s*$) |
匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)* |
匹配网址URL的正则表达式:^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$ |
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$ |
匹配国内电话号码:(d{3}-|d{4}-)?(d{8}|d{7})? |
匹配腾讯QQ号:^[1-9]*[1-9][0-9]*$ |
http://club.excelhome.net/thread-591254-1-1.html
用于查找 | 类型 | 示例 |
任一字符 | ? | s?t 可找到“sat”和“set”。 |
任何字符串 | * | s*d 可找到“sad”和“started”。 |
单词开头 | < | <(inter) 可找到“interesting”和“intercept”,但找不到“splintered”。 |
单词结尾 | > | (in)> 可找到“in”和“within”,但找不到“interesting”。 |
指定字符之一 | [ ] | w[io]n 可找到“win”和“won”。 |
此范围内的任一字符 | [-] | [r-t]ight 可找到“right”和“sight”。范围必须是升序。 |
除了括号内范围中的字符之外的任一字符 | [!x-z] | t[!a-m]ck 可找到“tock”和“tuck”,但找不到“tack”或“tick”。 |
前一个字符或表达式的 n 个匹配项 | {n} | fe{2}d 可找到“feed”,但找不到“fed”。 |
前一个字符或表达式的至少 n 个匹配项 | {n,} | fe{1,}d 可找到“fed”和“feed”。 |
前一个字符或表达式的 n 到 m 个匹配项 | {n,m} | 10{1,3} 可找到“10”、“100”和“1000”。 |
前一个字符或表达式的一个或多个匹配项 | @ | lo@t 可找到“lot”和“loot”。 |