html和php和java区别,JS和PHP和JAVA的正则表达式的区别(java没有分解符,java中的转义字符是\)...

本文对比了JavaScript、PHP及Java中的正则表达式语法特性与应用场景,揭示了不同语言间的细微差别。PHP正则功能更强大,支持额外特性如条件子组等;Java与PHP在转义字符上有不同;JavaScript则提供了简约的基础库。
摘要由CSDN通过智能技术生成

JS和PHP和JAVA的正则表达式的区别(java没有分解符,java中的转义字符是\)

一、总结

js正则:var patrn=/^[0-9]{1,20}$/;

php正则:$pattern='/(d)(d)/';

java正则:String pattern = "(\D*)(\d+)(.*)";

java没有分解符,java中的转义字符是\。

JS和PHP和JAVA的正则表达式的区别:规则大致一样,注意细微处的差别

二、JS和PHP的正则表达式的区别

总体上,PHP的正则比标准javascript的要强大。

PHP有两套正则库,一是posix兼容库(php5.3之前版本可用),而是perl兼容库(主力库)

perl兼容库中支持而js正则不支持的:

1、支持(?

2、许多预置字符类(:alnum:)

3、支持组标识(?<>

4、支持子组同名(?|

5、支持独立子组(?>

6、支持条件子组(?()

7、支持递归子组(?R)

8、支持本地编码,js只支持unicode

9、修正器更多

10、等等等等细节上的丰富。

总之,js的正则库在php正则面前显得只是一个简约的基础库。

编程实现是细节活,粗枝大叶的结果就是问题多多。一定要弄清楚

js正则实例:

校验是否全由数字组成:

1 functionisDigit(s)2 {3 var patrn=/^[0-9]{1,20}$/;4 if (!patrn.exec(s)) return false

5 return true

6 }

校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串

1 functionisRegisterUserName(s)2 {3 var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;4 if (!patrn.exec(s)) return false

5 return true

6 }

三、java的正则表达式和php的正则表达式的区别

正则表达式以perl语言的功能最全最强大。

其他语言的正则表达式都以perl语言为基础。

但是各个语言之间有区别。

PHP和Java语言之间的正则表达式有一定的区别。

把PHP的正则表达式的反斜杠“”变成JAVA的双反斜杠“\”才表示转义;还有JAVA没有PHP正则的分界符,如PHP是#^a-b#,而JAVA ^a-b是直接写表达式的,就这点区别

php正则实例:

将字符串中”age13gegep3iorji65k65k”;中出现的连续两个数字改为第二个数字,如字符串中13被改为3

$str='age13gegep3iorji65k65k';

$pattern='/(d)(d)/';

$str=preg_replace($pattern,'$2', $str);

java正则实例:

从一个给定的字符串中找到数字串:

String line = "This order was placed for QT3000! OK?";

String pattern= "(\D*)(\d+)(.*)";

匹配验证-验证Email是否正确

1 public static voidmain(String[] args) {2 //要验证的字符串

3 String str = "service@xsoftlab.net";4 //邮箱验证规则

5 String regEx = "[a-zA-Z_]{1,}[0-9]{0,}@(([a-zA-z0-9]-*){1,}\.){1,3}[a-zA-z\-]{1,}";6 //编译正则表达式

7 Pattern pattern =Pattern.compile(regEx);8 //忽略大小写的写法9 //Pattern pat = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE);

10 Matcher matcher =pattern.matcher(str);11 //字符串是否与正则表达式相匹配

12 boolean rs =matcher.matches();13 System.out.println(rs);14 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值