首页 > 编程知识 正文

java怎么使用正则表达式,java正则表达式详解

时间:2023-05-04 02:15:46 阅读:9099 作者:4344

今天写程序时出现的问题是,如果把一句话中的单词从这句话中分离出来

例如,alwaysbearinmindthatyourownresolutiontosuccessismoreimportthananything!

那么,按单词分开显示,再操作分离的单词

实现很简单,只需将split方法与正则表达式结合起来

Java代码

importjava.util.Scanner;

公共类te st01 {

publicstaticvoidmain (字符串args [ ] ) ) )。

{

扫描输入=new扫描程序(system.in );

Stringstr=input.nextLine (;

string [ ] arr=str.split ([ ^ a-za-z0-9 ] );

for(inti=0; I

system.out.println(arr[I];

system.out.println (' there are ' arr.length ' wordsintheline!' );

}

}

就这样,把里面的单词分离了。 有数字的话,就可以分离

对分割方法的使用进行说明

一.分裂方法

java.lang.string.split

功能:将一个字符串拆分为cjdnht字符串,并将结果作为字符串数组返回

用法: stringobject.split([separator,[limit]] ) )

split方法的结果是字符串数组,根据stringObject中separator出现的位置进行分解

StringObject是必需的,是要分解的string对象或文本,不会被split方法更改

separator是可选的。 字符串或正则表达式对象。 如果忽略此选项,则指示在分离字符串时是否使用一个或多个字符

返回包含整个字符串的单个元素的数组。

limit选项:此值用于限制返回数组中的元素数

示例1 :

Java代码

公共类te st01 {

publicstaticvoidmain (字符串args [ ] ) ) )。

{

Stringstr='whatisyourname ';

Strings[]=str.split (' );

for(inti=0; I

{

system.out.println(s[I];

}

}

}

执行结果:

微信

is

your

名字

示例2 :

Java代码

公共类te st01 {

publicstaticvoidmain (字符串args [ ] ) ) )。

{

Stringstr='whatisyourname ';

Strings[]=str.split (',3 );

for(inti=0; I

{

system.out.println(s[I];

}

}

}

执行结果:

微信

is

your name

示例3 :

Java代码

公共类te st01 {

publicstaticvoidmain (字符串args [ ] ) ) )。

{

Stringstr='192.168.10.1 ';

strings[]=str.split('. ';

for(inti=0; I

{

system.out.println(s[I];

}

}

}

执行结果:

192

168

10

1

从这里可以看到,split方法中增加了两个正斜杠。 如果去掉斜线运行,将得不到任何结果。 实际上,split(stringregex )方法的regex是正则表达式,但.正则表达式有其他含义,需要转义

接下来是从网上找到的

[size=12px]1。 ^d$//匹配非负整数(正整数0 ) 2。 ^[0-9]*[1-9][0-9]*$//匹配正整数3。 ^((-d )|)0) $/匹配非正整数(负整数0 ) 4。 ^-[0-9]*[1-9][0-9]*$//匹配负整数5。 ^-? d$//匹配整数6。 ^d ().(d )? $//匹配非负浮点数(正浮点数0 ) 7。 ^ () (0-9).|([0-9]*[1-9][0-9]* ) ([0-9] ) [0-9]* (().[0-9] ) ) ) )0-9) ^ (() (d ) ).(d? () (0).0 )? () $/)匹配非正浮点数(负浮点0 ) 9。 ^(-) (0-9).|(|([0-9]*[1-9][0-9]* ) ([0-9] * [0-9] * ().[0-9] )|) d ().(d )? 匹配$//浮点数11。 ^[A-Za-z]$//匹配由字母组成的字符串12。 ^[A-Z]$//匹配由26个大写字母组成的字符串13。 ^[a-z]$//匹配由26个小写字母组成的字符串14。 ^[A-Za-z0-9]$//匹配由数字和26个英文字母组成的字符串15。 ^w$//匹配由数字、26个字母或下划线组成的字符串16。 ^ [w-]3. [w-] * @ [w-]3. [w-] 33333 w-]匹配$//电子邮件地址17。 ^[a-za-z]://match((w ) () () ) ) ) ) ) ) ) ) (? S*? 匹配$//URL18。 匹配中文字符的正则表达式: [u4e00-u9fa5]19。 匹配包含汉字的双字节字符: [^x00-xff]20。 应用计算字符串的长度。 2字节字符长度共计2、ASCII字符共计1 )

String.prototype.len=function () return this.replace ([ ^x00- xff ]/g,' aa ' ).length; (二十一。 匹配空行的正则表达式:n[s|]*r22。 匹配HTML标记的正则表达式:/.*|/23。 匹配空格的正则表达式: (^s* )|(s*$ )正则表达式示例(1,^S[游戏者储物柜]$不能为空(英文(2,s ) 6,}不能为6位或6位以上) 3,^s ^0$中的至少一个*7,^0{2,}$中的至少两个*8,^[s|S]{20,[a-Z0-9](([-.]|[_] )? [a-Z0-9](*@(a-Z0-9 ).|(-) ) a-z ) { 2,6 } $邮件(10,(w([-.](w ) ) )-.w ) () w ) ) )电子邮件(11,^ (((() ) ) ) 652 [0-9] { 7,8 } $电话号码7位或8位,用逗号或空格分隔,例如邮件*13^w@w ()、(w )、(w@w ) ),上述公式也可以这样写,更加精简。 14^w((-) w ) ).(w ) ) @ ) w ) ().|-) w ).) (w$[/size]

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。