① java中String.replace()时的正则表达式不会写了, :(
srcString.replaceAll("[\s()]","_");
\s表示一个空白符;
[\s()]表示 空格 左括号 或者 右括号中出现其中任何一个
replaceAll("[\s()]","_"); 即表示用_替代字符串中出现的空格符、左括号、右括号。
② JAVA 正则表达式怎么写。。。查找 以A 开头 以B 结尾 中间包含字符串 C 的字符串。。。。
1、打开myeclipse,准备编写java代码;
③ java 如何判断一个字符串符合正则表达式语法
按照你的要求给出的Java正则表达式的例子如下
//下面这个正则表达式匹配不能以.css,.html,.js,.json或者.xml结尾的字符串
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class CC {
public static void main(String[] args) {
String s="xxxx.js.jss";//目标字符串
String regex="((?!\\.((css)|(html)|(js)|(json)|(xml))$).)+";//正则表达式
Pattern p=Pattern.compile(regex);
Matcher m=p.matcher(s);
if(m.matches()){
System.out.println("匹配");
}else{
System.out.println("不匹配");
}
}
}
④ JAVA正则表达式获取特定的字符串
^ 和 $ 他们是分别用来匹配字符串的开始和结束,以下分别举例说明:
"^The": 开头一定要有"The"字符串;
"of despair$": 结尾一定要有"of despair" 的字符串;
那么,
"^abc$": 就是要求以abc开头和以abc结尾的字符串,实际上是只有abc匹配。
"notice": 匹配包含notice的字符串。
你可以看见如果你没有用我们提到的两个字符(最后一个例子),就是说 模式(正则表达式) 可以出现在被检验字符串的任何地方,你没有把他锁定到两边。
接着,说说 '*', '+',和 '?',
他们用来表示一个字符可以出现的次数或者顺序. 他们分别表示:
"zero or more"相当于{0,},
"one or more"相当于{1,},
"zero or one."相当于{0,1}, 这里是一些例子:
"ab*": 和ab{0,}同义,匹配以a开头,后面可以接0个或者N个b组成的字符串("a", "ab", "abbb", 等);
"ab+": 和ab{1,}同义,同上条一样,但最少要有一个b存在 ("ab", "abbb", 等.);
"ab?":和ab{0,1}同义,可以没有或者只有一个b;
"a?b+$": 匹配以一个或者0个a再加上一个以上的b结尾的字符串.
要点, '*', '+',和 '?'只管它前面那个字符.
你也可以在大括号里面限制字符出现的个数,比如
"ab{2}": 要求a后面一定要跟两个b(一个也不能少)("abb");
"ab{2,}": 要求a后面一定要有两个或者两个以上b(如"abb", "abbbb", 等.);
"ab{3,5}": 要求a后面可以有2-5个b("abbb", "abbbb", or "abbbbb").
现在我们把一定几个字符放到小括号里,比如:
"a(bc)*": 匹配 a 后面跟0个或者一个"bc";
"a(bc){1,5}": 一个到5个 "bc."
还有一个字符 '│', 相当于OR 操作:
"hi│hello": 匹配含有"hi" 或者 "hello" 的 字符串;
"(b│cd)ef": 匹配含有 "bef" 或者 "cdef"的字符串;
"(a│b)*c": 匹配含有这样多个(包括0个)a或b,后面跟一个c的字符串;
一个点('.')可以代表所有的单一字符,不包括"\n"
如果,要匹配包括"\n"在内的所有单个字符,怎么办?
对了,用'[\n.]'这种模式.
"a.[0-9]": 一个a加一个字符再加一个0到9的数字
"^.{3}$": 三个任意字符结尾 .
中括号括住的内容只匹配一个单一的字符
"[ab]": 匹配单个的 a 或者 b ( 和 "a│b" 一样);
"[a-d]": 匹配'a' 到'd'的单个字符 (和"a│b│c│d" 还有 "[abcd]"效果一样); 一般我们都用[a-zA-Z]来指定字符为一个大小写英文
"^[a-zA-Z]": 匹配以大小写字母开头的字符串
"[0-9]%": 匹配含有 形如 x% 的字符串
",[a-zA-Z0-9]$": 匹配以逗号再加一个数字或字母结尾的字符串
你也可以把你不想要得字符列在中括号里,你只需要在总括号里面使用'^' 作为开头 "%[^a-zA-Z]%" 匹配含有两个百分号里面有一个非字母的字符串.
要点:^用在中括号开头的时候,就表示排除括号里的字符。为了PHP能够解释,你必须在这些字符面前后加'',并且将一些字符转义.
⑤ java判断一个string变量是否为十位数字,求正则表达式和代码
importjava.util.regex.Pattern;
publicclassTest{
publicstaticvoidmain(String[]args){
//匹配模式,\d代表匹配数字,{10}代表正好匹配次数
Stringregex="\d{10}";
System.out.println(Pattern.matches(regex,"9010000000"));
}
}
⑥ java中正则表达式如何使用比如判断一个字符串是否满足某种格式,给个详细点的例子
按照你的要求给出的Java正则表达式的例子如下
//下面这个正则表达式匹配不能以.css,.html,.js,.json或者.xml结尾的字符串
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;
publicclassCC{
publicstaticvoidmain(String[]args){
Strings="xxxx.js.jss";//目标字符串
Stringregex="((?!\.((css)|(html)|(js)|(json)|(xml))$).)+";//正则表达式
Patternp=Pattern.compile(regex);
Matcherm=p.matcher(s);
if(m.matches()){
System.out.println("匹配");
}else{
System.out.println("不匹配");
}
}
}
运行结果
匹配
⑦ java正则表达式是什么
在程序开发中,难免会遇到需要匹配、查找、替换、判断字符串的情况发生,而这些情况有时又比较复杂,如果用纯编码方式解决,往往会浪费程序员的时间及精力。因此,学习及使用正则表达式,便成了解决这一矛盾的主要手段。
正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它 用以描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。
(7)javastring正则表达式扩展阅读:
正则表达式的特点是:
1、灵活性、逻辑性和功能性非常强;
2、可以迅速地用极简单的方式达到字符串的复杂控制。
3、对于刚接触的人来说,比较晦涩难懂。
由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到着名编辑器EditPlus,大到Microsoft Word、Visual Studio等大型编辑器,都可以使用正则表达式来处理文本内容。
⑧ java正则表达式是什么
java正则表达式是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。
在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。
很可能你使用过Windows/Dos下用于文件查找的通配符(wildcard),也就是*和?。如果你想查找某个目录下的所有的Word文档的话,你会搜索*.doc。在这里,*会被解释成任意的字符串。
和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述你的需求——当然,代价就是更复杂——比如你可以编写一个正则表达式,用来查找所有以0开头,后面跟着2-3个数字,然后是一个连字号“-”,最后是7或8位数字的字符串(像010-12345678或0376-7654321)。
正则表达式的基本操作:
正则表达式定义:符合一定规则的表达式。
作用:用于专门操作字符串。
特点:用于一些特定的符号来表示一些代码操作。这样就简化书写。所以学习正则表达式,就是在学习一些特殊符号的使用。
好处:可以简化对字符串的复杂操作。
弊端:符号定义越多,正则越长,阅读性越差。
⑨ Java中什么是正则表达式
正则表达式 就是将一个类型的数据 按照一定方式 写成正则表达式的形式 这样可以辨别数据是否符合这一类型的数据 比如我们的身份证号码 就是有一定的规则的 这样我们写一个 正则表达式 和别人输入的身份证号码 比对 如果符合这个正则表达式的规则 就是身份证号码
⑩ java string正则表达式 分割
/**
*@authorIT学习者-螃蟹
*@paramargs
*/
publicstaticvoidmain(String[]args){
//起始分割标识
StringbeginTag="\[local\]";
//结束分割标识
StringendTag="\[\/local\]";
Stringtest="测试测试1[local]aaabb[/local]测试测试2[local]111122[/local]测试测试3[local]IT学习者(itxxz)[/local]";
List<String>list1=newArrayList<String>();
List<String>list2=newArrayList<String>();
for(Stringtemp:test.split(endTag)){
list1.add(temp.split(beginTag)[0]);
list2.add(temp.split(beginTag)[1]);
}
System.out.println(list1.toString());
System.out.println(list2.toString());
//转换成数组
Object[]array1=list1.toArray();
Object[]array2=list2.toArray();
for(Objectstr:array1){
System.out.println(str);
}
}
运行结果: