正则表达式

正则表达式的() [] {}有不同的意思。

() 是为了提取匹配的字符串。表达式中有几个()就有几个相应的匹配字符串。
(\s*)表示连续空格的字符串。
[]是定义匹配的字符范围。比如 [a-zA-Z0-9] 表示相应位置的字符要匹配英文字符和数字。[\s*]表示空格或者*号。
{}一般用来表示匹配的长度,比如 \s{3} 表示匹配三个空格,\s[1,3]表示匹配一到三个空格。
(0-9) 匹配 ‘0-9′ 本身。 [0-9]* 匹配数字(注意后面有 *,可以为空)[0-9]+ 匹配数字(注意后面有 +,不可以为空){1-9} 写法错误。
[0-9]{0,9} 表示长度为 0 到 9 的数字字符串。
例如:在PHP中过滤内容里面有数字或空格数字
来自:http://www.jb51.net/article/52594.htm

正则表达式中?的使用

?前面()中的东西可以要也可以不要。

例如:一个字符数组是不是表示一个数值,来自剑指offer字符串的题目:

public boolean isNumeric(char[] str) {
   String string = String.valueOf(str);
   return string.matches("[\\+-]?[0-9]*(\\.[0-9]*)?([eE][\\+-]?[0-9]+)?");
}

你可能感兴趣的:(正则表达式)