导航:首页 > 编程语言 > jsjava正则表达式

jsjava正则表达式

发布时间:2022-08-10 11:42:16

1. js正则表达式 和java正则表达式一样吗

javascript中的正则表达式和java的正则表达式基本上是相同的,区别在于分组引用和对象,方法
具体区别:
1).javascript正则表达式创建有两种方法:
a.显式创建:
var re = new RegExp("正则表达式模式串");
re.test(要校验或处理的源字符串);

b.隐式创建:
var re = /正则表达式模式串/;
要校验或处理的源字符串.match(re);

2).分组捕获对象引用方式不同
javascript也是使用"()"进行分组,但是捕获对象用RegExp对象的$1到$99来引用捕获对象。

附录:常用的javascript正则表达式,java的也类似
ip地址校验正则表达式(IPv4):
/^(/d{1,2}|1/d/d|2[0-4]/d|25[0-5])(/.(/d{1,2}|1/d/d|2[0-4]/d|25[0-5])){3}$/

Email校验正则表达式:
/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(/.[a-zA-Z0-9_-]+)+$/

格式为:2010-10-08类型的日期格式校验正则表达式:
/^/d{4}-(0?[1-9]|1[0-2])-(0?[1-9]|[1-2]/d|3[0-1])$/

格式为:23:11:34类型的时间格式校验正则表达式:
/^([0-1]/d|2[0-3]):[0-5]/d:[0-5]/d$/

楼主结贴吧,查资料的时候看到的

2. js正则转java正则怎么转

js正则转java:你应该是想知道js正则表达式,在java里怎么写吧。
举例:String strRegex = "^[1][3,4,5,8][0-9]{9}$";校验手机号码
String str = "13977895777";
str.matches(strRegex );

3. js 正则表达式 改成java正则表达式

String reg="((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]" +
"|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+" +
"(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]" +
"|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)" +
"((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?" +
"(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|" +
"[\\x5d-\\x7e]|" +
"[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|" +
"(\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|" +
"[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*" +
"(((\\x20|\\x09)*(\\x0d\\x0a))?" +
"(\\x20|\\x09)+)?(\\x22))@" +
"((([a-z]|\\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|" +
"(([a-z]|\\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])" +
"([a-z]|\\d|-|\\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*" +
"([a-z]|\\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\\.)" +
"+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|" +
"(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])" +
"([a-z]|\\d|-|\\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*" +
"([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))";
String email ="[email protected]";
System.out.println(email.matches(reg));

测试测试 看看对不对。。。

4. javascript正则表达式变成java正则表达式

java和javascript是通用的,只需要在\处多加一个\即可

5. java中和javascript中的函数、正则表达式、数组、选择结构和循环函数可以通用吗 有什么区别

刚好你问的我都不陌生,挑战一下我的理解力与总结能力。
首先说明两门语言不一样,除了有java这个字,语句块的表达一样外几乎没啥共同性。javascript只因单年java太流行,自己也跟着有个java的名称,设计javascript的人初衷的确想弄的跟java一样,但是做不到。
javascript是解释执行的,需要宿主环境来执行,比如浏览器就是一个宿主环境,node.js提供的javascript也是个宿主环境,还有adobe pdf也提供了javascript的宿主环境,javascript的宿主环境很多,windows office 苹果的store有。再余下的还有不知道了。
java编译执行的,最先设计用来,给美国的有线电视机顶盒,写控制代码,发明之初100多两百个类,比现在好学,运行环境要求也不严格。很小的内存,很少的cpu资源就可以跑起来,怀念可惜这方面的功能我不会用。后来java的设计团队觉得,java应该有更大作为。在浏览器开发设计盛行的90年代,java的设计者用java开发过浏览器,在浏览器上发展applet,可惜微软不待见java,java在浏览器方面的努力,再牛(我看过很多java方面的书,很多设计理念都很好,只可惜运行平台不是自己的),也失败了。最终java实现了跨平台发展,这才是java的活力所在。所谓跨平台虚拟机也要有人提供,sun公司自己写的虚拟机还行。见过hp-unix上跑的虚拟机问题不少!!!
javascript规范里面说明,javascript是非类型安全的。而java是类型安全的,区别很大。

上个例子:
js:
var myLover = true;
console.log(myLover);
myLover = "myself";
console.log(myLover);
js这样写不会有问题的,同一变量可存储逻辑值,也可存储字符串。甚至再放函数引用也行,对象引用也可以。
java:
public class TestDriver {
public void main(String[] args)

{
String s = "myLOver";

//下面会出错的,编译都通不过,s只能存储字符串型的数据,这就是所谓的类型安全!

//s = true;

System.out.println(s);

}

}
java我的理解一门真正的编程语言,语法结构严谨,必须按照一定规则写,否则就是错误。javascript语法松散,缺个;没事的,javascript支持运行时的动态特性,比如运行时添加方法,成员等等。java没这特性,java的运行时动态性,我知道的主要是反射(牺牲了语言的安全性,很多功能都依赖反射,还不好理解!),比如动态代理,json、xml、orm框架实体与数据之间的自动转化都需要反射支持。反射不安全在于,可以随便访问类或实例的任何成员,任何方法,包括申明为private的域与方法。
铺垫了这么多,来回答你想知道的问题。
先说函数,函数只有javascript中才有,java中绝对没有函数。java是真正面向对象的语言,要想使用的基本功能,在java.lang与java.util这两个包中去找,全部是以类的方式提供。这里没有绝对,函数也好,类中的方法也好,实现思路有可能是通用的。javascript也可以实现面向对象编程,但我见到老点的代码,都函数式面向过程编程。直到学jquery的时候才看到面向对象编程方法。但我不喜欢,jquery的扩展方式。javascript面向对象方式amd值得推崇,dojo框架用的就是amd,还有国内阿里的前端工程师更牛融合jquery与amd的优点,自己创建了一个效率很不错的框架。
再说正则表达式:
js里面的正则表达式两种方式使用:
第一、用法较常见,包括js框架中都这种用法,我采纳的这种用法。
var regExp = /^http:\/\//gi;
var isUrl = regExp.test("http://www..com/register");
console.log(isUrl)
第二种、用正则表示对象,这块不常用,要写样例还需要查api参考,不给了。
java常用的正则表达式也是两种:
第一种、java.util包中提供的,这个也要查api不谢样例了;
第二种、第三方提供的,传说效率很高,我倒是没发现。名字忘记了,我一般用spring中用的那个,平时写的程序不在这台电脑上,不好查,抱歉。
javascript 与 java的正则表达式本身相同的,如果你会用javascript写正则,那么一定也很快会使用java写正则,两门语言对正则的支持都很完美,几乎支持正则中的所有功能,我所有项目中使用的正则没有匹配不了的。两门语言在现代机器上执行效率都很好。
数组,javascript只支持一维数组,但是可以模拟出多维数组:定义如下:
var mutipleArray = [[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15]];
for(var i=0;i<mutipleArray.length;i++)
{
for(var j=0;j<mutipleArray[i].length;j++)

{
console.log(mutipleArray[i][j]);

}

console.log("**************************");

}
java的数组,可支持多维数组,但一般用得少一点,一般都用List借口的实现类顶替。
javascript的数组,什么都可以存储,无论是对象,函数,原始类型,没有要求的,所谓类型不安全!
java的数组只能存储特定的类型,java.lang.Object,可以存任何对象类型,特例不要钻牛角尖,基本类型与Object类型混合存就不行,自动打包的功能不要说,这也是特例。
从上面的比较来看,java与javascript的数组,不太一样,语言本身就决定了他们两连使用都不能相通。javascript数组有队列,排序,删除指定序列的操作功能,我的理解一个大杂烩,用数组的功能也可以实现类似list,map,迭代等等功能,参见jquery框架。java的队列有专门的实现类。并且java在这方法提供的数据结构要远远比javascript丰富。
再来说选择结构,javascript的选择结构语法貌似与java相同,javascript的功能要更强大,貌似什么值都行。java只能是数值型的,用得反而少,java这点实现不太好。jdk5后有枚举改善了不少。因此,选择结构也不相通。
循环函数,没看懂,你要说的是循环控制语句,这两个倒是基本一样,差别是:
java编列数组(也包括list的实现类这么写的):
for(Object o : objArr)

{
System.out.println(o);

}
而javascript中类似的结构,是遍列对象用的:
for(var p in obj)
{
//如果obj是数组,p是数组的索引,obj[p]是数组的值

//如果obj是对象,p是对象的属性(有可能是对象域名称或方法名称,obj[p]是对象域值或对象方法)

console.log(p,obj[p]);

}
现在的js框架中都会有foreach迭代,类似java迭代的用法,注意循环!如jquery中的each。
//这不是语言提供的功能,别人重新封装出来的。
$.each(arr,function(i,item){
console.log(item);

});
综上所属,java与javascript差别很大。包括楼主你想知道的问题,差别都很大。
希望我写这么多能帮到你。

6. 请问java里正则表达式和JavaScript里的正则表达式的区别

我想应该是转义字符的问题,要不你也不会那么说。。。
介意多查下资料,正哲表达式是独立的。java和javaScript都是遵循他的用法。

7. js中的正则表达式和java的正则表达式规则有区别吗

规则没区别把正则大概会看就行不要求书写(专业的正则书写比较难),公司正则一般都给好了黏贴就是了!!

8. 同一个正则表达式语句在JAVA和JAVASCRIPT中得到的结果为什么不一样呢

题主的出发点有点奇怪,要匹配 % 只要一个 "%" 就可以了
字串 "[%?]+" 的意思是%和?或两者的组合都可以匹配

9. java和js正则的区别

?!表示当前内容右边不包含这些字符
例如
表达式: a(?![a-zA-Z]+)
匹配字符串: abc a acd a1
匹配后的结果就是 a 和 a1 , 因为 匹配要求是 包含a,但a的右边不能包含任何[a-zA-Z]的字符.

Java里由于字符串中的\需要先转义,所有只要是写\都是两个\
因此\\d 就是 javascript里的\d

阅读全文

与jsjava正则表达式相关的资料

热点内容
如何把扫描文件做成pdf格式 浏览:624
php个性qq源码 浏览:821
初学c语言显示源未编译 浏览:245
资产概况源码 浏览:472
dos命令建文件夹命令 浏览:379
解压的密码htm被屏蔽 浏览:502
冬天太冷冰箱压缩机不启动怎么办 浏览:83
手机打开vcf需要什么编译器 浏览:910
加密磁盘后开机很慢 浏览:271
长沙智能云控系统源码 浏览:258
阿里云服务器如何设置操作系统 浏览:1000
超级命令的英文 浏览:784
做账为什么要用加密狗 浏览:586
考研群体怎么解压 浏览:159
linux修改命令提示符 浏览:226
圆圈里面k图标是什么app 浏览:63
pdf加空白页 浏览:948
linux服务器如何看网卡状态 浏览:318
解压新奇特视频 浏览:707
图书信息管理系统java 浏览:554