「java正则表达式数组」java正则表达式匹配数字

博主:adminadmin 2023-01-24 12:45:08 289

今天给各位分享java正则表达式数组的知识,其中也会对java正则表达式匹配数字进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java正则表达式中括号[]数组字符串分割

String str = "[121.487223,31.290728,0.0,0.0,1522741794133],[121.487223,31.290728,0.0,0.0,1522741794133]";

str.replace("[","");//删除左中括号

str.replace("]","");//删除右中括号

String[] arr = str.split(",");//按','号分割字符串

//转为double型

double[] dArr = new double[arr.length];

for(int i=0;iarr.length;i++){

dArr[i] = Double.parseDouble(arr[i]);

}

java语言利用正则表达式获取数组,急求!!

String testString ="var D_Room1 = new Array (25.2,52.3,230,6.1);" ;

Pattern pattern = Pattern.compile("\\(.*\\)");

Matcher matcher = pattern.matcher(testString);

while(matcher.find())

{

System.out.println(matcher.group()); //打印

}

比如上,可以得到结果(25.2,52.3,230,6.1)。剩下该咋咋地

java中,正则表达式匹配出来的字符串赋值给一个数组

采用你上面的假设"11223333 2233311 22231233"为电话号码,我的正则表达式只能匹配7~8为的电话号码,如果 "11223333 2233311 22231233"不是7位或8位的数字,将不匹配。以下是我的代码实现,

希望对你有帮助。

Pattern p = Pattern.compile("[0-9]{7,8}");

String str = "11223333 2233311 22231233";

Matcher m = p.matcher(str);

//由于不知道有多少个电话号码会被匹配出来,所以采用List存放电话号码

ListString mobileList = new ArrayListString();

while(m.find()){

mobileList.add(m.group()); //将匹配出的电话号码存放到mobileList中

}

String[] mobiles = new String[mobileList.size()]; //声明数组存放电话号码

int i = 0;

for(String mobile : mobileList){ //将list中的电话号码转存到数组中

mobiles[i] = mobile;

i++;

}

for(int j=0;jmobiles.length;j++){

System.out.println(mobiles[j]); //打印电话号码

}

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("");

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;imutipleArray.length;i++)

{

for(var j=0;jmutipleArray[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差别很大。包括楼主你想知道的问题,差别都很大。

希望我写这么多能帮到你。

关于java正则表达式数组和java正则表达式匹配数字的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。