正则表达式
最简单易懂的正则表达式
只需要三步
第一步:+ * ? . () [] | \ {}
第二步:^ $
第三步:\d \w
(不明白什么意思的看最下边的注解)
学会三步以后: 那么你就掌握了 正则表达式的 电话号码的正则表达式 邮箱的正则表达式 判断字符串大于等于0的正则表达式
例如:
问题: 判断字符串大于等于0的字符串 ?
分析: 可能出现0.001的 可能出现 1的 这是最典型条件
分析1: 如果先判断大于等于1的 那么 第一位一定是1-9 正则写法: [1-9]
分析2: 如果第二位只要是数字就可以,可以有0到多位 正则写法: \d*
分析3: 如果有小数点的话,小数点后面可以跟多位或至少一位的数 那么 正则写法: .[0-9]*[1-9]
分析4: 如果是小于1 且大于0的数,就是第一位是0,第二位是 . 第三位就跟分析3 一样就可以了 正则写法: 0.[0-9]*[1-9]
分析5: 现在得出 大于等于1的正则表达式: [1-9]\\d*(\\.[0-9]*[1-9])? 大于等于0小于1的正则表达式: 0\\.[0-9]*[1-9]
最终结果 大于0的整数但是不等于0: ^([1-9]\\d*(\\.[0-9]*[1-9])?)|(0\\.[0-9]*[1-9])$
myeclipse 执行 : System.out.println("大于0的正整数除0外:"+"0".matches("^([1-9]\\d*(\\.[0-9]*[1-9])?)|(0\\.[0-9]*[1-9])$"));
如果想要 大于等于0 的整数直接在后面添加一个或 和0 就可以了 用例: System.out.println("大于0的正整数:"+"0.001".matches("^([1-9]\\d*(\\.[0-9]*[1-9])?)|(0\\.[0-9]*[1-9])|0$"));
+ 表示次数中的一次到多次(非洲)
* 表示次数中的0次到多次(中国)
?表示次数中的0次到1次(金星)
. 表示可做小数点使用
()表示子表达式
[] 表示取值范围 例如:[1-9] 这个位置只能输入1-9的数字
| 表示或者
\ 表示转义字符
{} 表示次数 例如: z{1,2} 这个位置最少输入1个z 最多输入2个z
^ 表示开始
$ 表示结束
\d 表示只能输入数字
\w 表示只能输入任意单词字符[A-Za-z0-9_]*/
举例说明:
var reg=/^(0|([1-9]\d*))$/;大于等于-1
var reg =/^[1-9]\d*$/; 大于等于0