半小时学会正则表达式(四)
2010-07-16 14:36
169 查看
这暗示匹配的字符串必须最少以一个阿拉伯数字开头. 但是注意,在上面模式中 "10." 是不匹配的, 只有 "10" 和 "10.2"
才可以. (你知道为什么吗)
^[0-9]+(/.[0-9]{2})?$
我们上面指定小数点后面必须有两位小
数.如果你认为这样太苛刻,你可以改成:
^[0-9]+(/.[0-9]{1,2})?$
这将允许小数点后面有一到两
个字符. 现在我们加上用来增加可读性的逗号(每隔三位), 我们可以这样表示:
^[0-9]{1,3}(,[0-9]{3})*(/.[0-9]{1,2})?$
不要忘记 '+' 可以被 '*' 替代
如果你想允许空白字符串被输入话 (为什么?). 也不要忘记反斜杆 ’/’ 在php字符串中可能会出现错误 (很普遍的错误).
现在,我们已经可以确认字符串了, 我们现在把所有逗号都去掉 str_replace(",", "", $money) 然后在把类型看成
double然后我们就可以通过他做数学计算了.
再来一个:
构造检查email的正则表达式
在一个完整的email地址中有三
个部分:
1. 用户名 (在 '@' 左边的一切),
2.'@'
,
3. 服务器名(就是剩下那部分).
用户名可以含有大小写字母阿拉伯数字,句号 ('.'), 减号('-'), and 下划线
('_'). 服务器名字也是符合这个规则,当然下划线除外.
现在, 用户名的开始和结束都不能是句点. 服务器也是这样.
还有你不能有两个连续的句点他们之间至少存在一个字符,好现在我们来看一下怎么为用户名写一个匹配模式:
^[_a-zA-Z0-9-]+$
现在还不能允许句号的存在. 我们把它加上:
^[_a-zA-Z0-9-]+(/.[_a-zA-Z0-9-]+)*$
上面的意思就是说:
"以至少一个规范字符(除了.)开头,后面跟着0个或者多个以点开始的字符串."
才可以. (你知道为什么吗)
^[0-9]+(/.[0-9]{2})?$
我们上面指定小数点后面必须有两位小
数.如果你认为这样太苛刻,你可以改成:
^[0-9]+(/.[0-9]{1,2})?$
这将允许小数点后面有一到两
个字符. 现在我们加上用来增加可读性的逗号(每隔三位), 我们可以这样表示:
^[0-9]{1,3}(,[0-9]{3})*(/.[0-9]{1,2})?$
不要忘记 '+' 可以被 '*' 替代
如果你想允许空白字符串被输入话 (为什么?). 也不要忘记反斜杆 ’/’ 在php字符串中可能会出现错误 (很普遍的错误).
现在,我们已经可以确认字符串了, 我们现在把所有逗号都去掉 str_replace(",", "", $money) 然后在把类型看成
double然后我们就可以通过他做数学计算了.
再来一个:
构造检查email的正则表达式
在一个完整的email地址中有三
个部分:
1. 用户名 (在 '@' 左边的一切),
2.'@'
,
3. 服务器名(就是剩下那部分).
用户名可以含有大小写字母阿拉伯数字,句号 ('.'), 减号('-'), and 下划线
('_'). 服务器名字也是符合这个规则,当然下划线除外.
现在, 用户名的开始和结束都不能是句点. 服务器也是这样.
还有你不能有两个连续的句点他们之间至少存在一个字符,好现在我们来看一下怎么为用户名写一个匹配模式:
^[_a-zA-Z0-9-]+$
现在还不能允许句号的存在. 我们把它加上:
^[_a-zA-Z0-9-]+(/.[_a-zA-Z0-9-]+)*$
上面的意思就是说:
"以至少一个规范字符(除了.)开头,后面跟着0个或者多个以点开始的字符串."
相关文章推荐
- 正则:半小时教你学会正则表达式
- 半小时学会正则表达式(二)
- 半小时教你学会正则表达式
- 半小时教你学会正则表达式
- 半小时教你学会正则表达式
- 半小时学会正则表达式(三)
- 半小时教你学会正则表达式
- 半小时学会正则表达式(五)
- 半小时学会正则表达式
- 转:半小时学会正则表达式
- 半小时学会正则表达式
- 半小时教你学会正则表达式
- 半小时教你学会正则表达式(转载)
- 半小时教你学会正则表达式
- 半小时学会正则表达式(一)
- 半小时精通正则表达式 经典实例介绍
- 55分钟学会正则表达式
- 55分钟学会正则表达式
- 还为WORD替换特殊字符串烦恼吗?请使用word通配符其实和正则表达式很类似,学会使用起到事半功倍的效果!
- 半小时精通PHP正则表达式