java的正则遇到转义时要用\\,这样才能表示该\是用来转义的\,因此想要打出一个\用连打四个\\\\,也是神奇,所以常见的\\s才是空格的意思,而之前使用的js中的正常使用一个\就可以了。
用到的实例:(?!0+(\.[0]*)?$)(?![0-9][0-9][0-9]+$)(0|[1-9][0-9]?)(\.[0-9]?[0-9])?
?!....$:断言正则不能出现....这种情况;
+:至少出现一次
*:0次任意多次
^.....$:开始到结束
?:0次或1次
\:可以读取符号了(不加代表是表达式)
/............./ :前后用这个包起来
{n} :精确匹配n次
{n,} :匹配n次以上
{n,m} :匹配n-m次
\w :匹配包括下划线、[a-zA-Z0-9]
以下引用自菜鸟教程:(转义字符很多,还是百度比较好)
i | 执行对大小写不敏感的匹配。 |
g | 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。 |
m | 执行多行匹配。 |
\d | 查找数字。 |
\s | 查找空白字符。 |
\b | 匹配单词边界。 |
\uxxxx | 查找以十六进制数 xxxx 规定的 Unicode 字符。 |
html、js中 使用 pattern 、ng-pattern 输入这些即可
RegExp对象检验:
<script>
var patt1=new RegExp("e");
document.write(patt1.test("The best things in life are free"));
</script>
显示true
exec对象返回匹配:
<script>
var patt1=new RegExp("e");
document.write(patt1.exec("The best things in life are free"));
</script>
输出为e
/*校验是否中文名称组成 */ function ischina(str) { var reg=/^[\u4E00-\u9FA5]{2,4}$/; /*定义验证表达式*/ return reg.test(str); /*进行验证*/ }