百度
360搜索
搜狗搜索

java正则表达式匹配空格,正则表达式判断字符串不全是空格就匹配详细介绍

本文目录一览: java正则表达式匹配字符中多少个字母,数字,空格

package test;public class JButtonTest{ public static void main ( String[] args ) { String input = "asdf2323 4sdfsdf232 23fsdf"; String reg1 = "[a-zA-Z]", reg2 = "\\d", reg3 = "\\s"; String temp = "|" + input + "|"; int count1 = temp.split (reg1).length - 1; int count2 = temp.split (reg2).length - 1; int count3 = temp.split (reg3).length - 1; System.out.println (count1); System.out.println (count2); System.out.println (count3); }}

java中如何用正则表达式匹配两个逗号,,在两个逗号中间加空格。

public class Demo {
public static void main(String[] args) {
String str = "1,,,2,,,3,,,,5";
System.out.println(str.replaceAll(",(?=[^\\w])", ", "));
}
}

java正则表达式如何获取字符串中所有匹配内容

String regEx = "";String s = "";Pattern pat = Pattern.compile(regEx);Matcher mat = pat.matcher(s);boolean rs = mat.find();for(int i=1;i<=mat.groupCount();i++){  System.out.println(mat.group(i));}
java正则表达式提取需要用到Matcher类。
正则规则就是“一个数字加上大于等于0个非数字再加上结束符”
Pattern pattern
= Pattern.compile("(\\d)[^\\d]*$")
Matcher matcher
= pattern.matcher(s)
if(matcher.find())
System.out.println
(matcher.group(1)); } }
一、正则表达式基础知识1.1 句点符号
在玩英文拼字游戏,想要找出三个字母的单词,而且这些单词必须以“t”字母开头,以“n”字母结束。另外,假设有一本英文字典,可以用正则表达式搜索全部内容。要构造出这个正则表达式,可以使用一个通配符——句点符号“.”。这样,完整的表达式就是“t.n”,匹配“tan”、“ten”、“tin”和“ton”,还匹配“t#n”、“tpn”甚至“t n”,还有其许多无意义的组合。这是因为句点符号匹配所有字符,包括空格、Tab字符甚至换行符:
1.3 “或”符号
如果除了上面匹配的所有单词之外,还想要匹配“toon”,那么,可以使用“|”操作符。“|”操作符的基本意义就是“或”运算。要匹配“toon”,使用“t(a|e|i|o|oo)n”正则表达式。这里不能使用方扩号,因为方括号只允许匹配单个字符;这里必须使用圆括号“()”。圆括号还可以用来分组。
1.4 表示匹配次数的符号
下表显示了正则表达式的语法:
表 1.1 正则表达式语法
要在文本文件中搜索美国的社会安全号码。这个号码的格式是999-99-9999。用来匹配的正则表达式如图一所示。在正则表达式中,连字符(“-”)有着特殊的意义,表示一个范围,比如从0到9。因此,匹配社会安全号码中的连字符号时,前面要加上一个转义字符“/”。
1.5 “否”符号
“^”符号称为“否”符号。如果用在方括号内,“^”表示不想要匹配的字符。例如,图四的正则表达式匹配所有单词,但以“X”字母开头的单词除外。
1.6 圆括号和空白符号
“/s”符号是空白符号,匹配所有的空白字符,只需在月份周围加上一个圆括号创建一个组,然后用ORO API提取出值。
1.7 其它符号
为简便起见,可以使用一些为常见正则表达式创建的快捷符号。如以下所示:
以下是整理出来的程序:供参考:

java 怎么用正则表达式提取两个空格之间的字符呢?

private static void replace(String str){ String reg="\\s+[^\\s]+\\s+"; Pattern p=Pattern.compile(reg); Matcher m=p.matcher(str); while(m.find()){ System.out.println(m.group()); System.out.println("sadf"); } } public static void main(String[] args) { String str=" qi 每个 qxx_dsdf 次12 文明 具"; replace(str); }

java 求一个正则表达式,要求判断字符串只能包含 数字 空格和 “-”

/^[0-9, ,_]*$/
这样才是只能包含 数字 空格和 “-”
正则表达式可以写成 [\d\s-]+
示例程序:
public static void main(String[] args) {
//正则表达式
String patternStr = "[\\d\\s-]+"; //java中反斜杠要转义
//测试字符串
String str = "784 - 58a";
Matcher meq = Pattern.compile(patternStr).matcher(str);
if(meq.matches()){
System.out.println("~~~完全匹配~~");
}else{
System.out.println("无法完全匹配!!!");
}

}
给您发一个连接希望有帮助
http://social.msdn.microsoft.com/forums/wpapps/zh-cn/922a6d5d-89cd-439e-903b-2f0842699890

java 正则表达式用法

看看能不能满足你的要求
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TestReg {
public static void main(String[] args) {

Pattern p = Pattern.compile("\\s*create\\s+table\\s+([a-z]*[A-Z]*[0-9]*)+");
Matcher m = p.matcher(" create table ttt");
boolean b = m.matches();
if(b){
System.out.println("格式正确");
}
else{
System.out.println("格式不对");
}
}
}
先回答楼主的正则表达式吧
一个是建表语句格式如下 :
create【空格若干】table 【表名和其他信息】
正则表达式如下:create\s+table\s+.+
第二个是建索引语句格式如下 :
create【空格和字母若干】index【空格和字母下划线等若干】
正则表达式如下:create[\sA-Za-z]+index[\sA-Za-z_]+
不过我认为楼主给定的限制不够细,像【空格和字母下划线等若干】这样的说法比较模糊,上面的正则表达式可以正常匹配正确的语句,但是对于错误语句的限制不够,还有进一步修改的余地。
在JAVA中使用正则表达式时,应该import下面两个类
import java.util.regex.Matcher;
import java.util.regex.Pattern;
另外"\"应该被替换成"\\"。
具体方法是:
String sql="create table test(id varchar(10) not null)"
String reg="create\\s+table\\s+.+";
Pattern p = Pattern.compile(reg);
Matcher m = p.matcher(sql);
boolean b = m.matches();
得到的布尔值表示sql是否匹配正则表达式reg。

java匹配以字母开头,只能输入字母、数字、英文逗号句号、空格字符长度不超过59的正则表达式怎么写

模式串:
"^\\p{Alpha}[\\p{Alnum},. ]{0,58}$"

"^[a-zA-Z][\\da-zA-Z,. ]{0,58}$"
都行。

阅读更多 >>>  php简单判断两个字符串是否相等的方法

正则表达式判断字符串不全是空格就匹配

String s = " a b c ";
String regex = ".*[^ ].*|";//空字符串或非全为空格
String regex2 = ".*[^ ].*";//非空字符串且非全为空格
boolean b = s.matches(regex2);
System.out.println(b);
/\s*\S+/
试试用这个正则
"^\S+$";
注意这个S是大写的,就可以了
!s.matches("\\s+")
String regex = "^\\s+$";
这是满足全都是空格的
你判断的时候取非就行了

用正则表达式将前后空格用空字符串替代:replace((^s) (s$)g, )

正则表达式的介绍:
1.可以使用字符作为一个通配符来代替除换行符(\n)之外的任意一个字符,例如: .at可以与"cat","sat","mat"等匹配.通常,这种通配符用于操作系统中文件名匹配.
2.[a-z],任何含在[]中的内容都是一个字符,只匹配一个字符.
如:[a-zA-Z]代表任意大小写字母.
3.[^a-z].匹配任何不属于a-z中的字符.
4.[a-z&&[hij]].匹配hij任何一个(交集)
5.\s.匹配空字符(空格,tab,\n,换页,回车)
6.\S.匹配非空字符(和[^\s]一样)
7.\d.匹配数字,相当于[0-9]
8.\D.匹配非数字,相当于[^0-9],匹配中文,空格,换行符
9.\w.匹配词字符,相当于[a-zA-Z0-9],不包含中文,不能代表空格,换行符
10.\W.匹配非词字符,相当于[^\w],匹配一个中文字
逻辑运算符:
|:管道符.如:x|y表示x或y
():捕获组.(abc)|(xyz)表示abc或xyz
边界匹配符:
^:从头匹配
$:从尾匹配
\b:词界.
\B.非词界
量词:
量词描述一个模式吸收输入文本的方式.
*:前面字符或组匹配0或多个
+:前面字符或组匹配1或多个
?:前面字符或组匹配0或1个
{n}:前面字符或组的数量为n个
{n,}:前面字符或组的数量至少n个
{n,m}:前面字符或组数量至少n个,最多m个
^表示字符串必须以后面的规则开头, 在这里就是说字符串必须以\s*开头.
\s 是空格的意思, * 表示有0个或多个
\s* 就是有0个或多个空格
(^\s*) 表示的就是以0个空格或者多个空格开头
| 表示或的意思, 也就是满足| 左边的也成立, 满足 | 右面的也成立.
\s*前面说过了
$ 的意思是字符串必须以前面的规则结尾
(\s*$) 的意思就是, 以0个空格或者多个空格结尾
/.../g 是正则表达式的属性, 表示全文匹配, 而不是找到一个就停止.
所以这个正则表达式替换的就是前导空格和后导空格
因为有前导空格, 就说明以0个或多个空格开头, 满足正则表达式中 | 前面的条件: (^\s*)
而如果有后导空格, 就说明以0个或多个空格结尾, 满足正则表达式中 | 后面的条件: (\s*$)
ok吧 选我咋样
//g就是表明是用正则表达式,g表示全局搜索
(^\s*) ^表示串开始,\s表示任意一个空字符,比如空格.制表符啥的,*表示前面的字符0个或多个,也就是匹配串前面的任意长度空字符
| 表示或,表示同时匹配
(\s*$) $表示串最后,也就是匹配串最后的任意长度空字符
也就是说这个表达式匹配串前后的空格等空字符
全给你好了~
正则表达式的介绍:
1.可以使用字符作为一个通配符来代替除换行符(\n)之外的任意一个字符,例如: .at可以与"cat","sat","mat"等匹配.通常,这种通配符用于操作系统中文件名匹配.
2.[a-z],任何含在[]中的内容都是一个字符,只匹配一个字符.
如:[a-zA-Z]代表任意大小写字母.
3.[^a-z].匹配任何不属于a-z中的字符.
4.[a-z&&[hij]].匹配hij任何一个(交集)
5.\s.匹配空字符(空格,tab,\n,换页,回车)
6.\S.匹配非空字符(和[^\s]一样)
7.\d.匹配数字,相当于[0-9]
8.\D.匹配非数字,相当于[^0-9],匹配中文,空格,换行符
9.\w.匹配词字符,相当于[a-zA-Z0-9],不包含中文,不能代表空格,换行符
10.\W.匹配非词字符,相当于[^\w],匹配一个中文字
逻辑运算符:
|:管道符.如:x|y表示x或y
():捕获组.(abc)|(xyz)表示abc或xyz
边界匹配符:
^:从头匹配
$:从尾匹配
\b:词界.
\B.非词界
量词:
量词描述一个模式吸收输入文本的方式.
*:前面字符或组匹配0或多个
+:前面字符或组匹配1或多个
?:前面字符或组匹配0或1个
{n}:前面字符或组的数量为n个
{n,}:前面字符或组的数量至少n个
{n,m}:前面字符或组数量至少n个,最多m个
^表示字符串必须以后面的规则开头, 在这里就是说字符串必须以\s*开头.
\s 是空格的意思, * 表示有0个或多个
\s* 就是有0个或多个空格
(^\s*) 表示的就是以0个空格或者多个空格开头
| 表示或的意思, 也就是满足| 左边的也成立, 满足 | 右面的也成立.
\s*前面说过了
$ 的意思是字符串必须以前面的规则结尾
(\s*$) 的意思就是, 以0个空格或者多个空格结尾
/.../g 是正则表达式的属性, 表示全文匹配, 而不是找到一个就停止.
所以这个正则表达式替换的就是前导空格和后导空格
因为有前导空格, 就说明以0个或多个空格开头, 满足正则表达式中 | 前面的条件: (^\s*)
而如果有后导空格, 就说明以0个或多个空格结尾, 满足正则表达式中 | 后面的条件: (\s*$)

网站数据信息

"java正则表达式匹配空格,正则表达式判断字符串不全是空格就匹配"浏览人数已经达到20次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:java正则表达式匹配空格,正则表达式判断字符串不全是空格就匹配的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!