php专区

 首页 > php专区 > 正则表达式 > 正则表达式其实就是一个特殊的字符串_正则表达

正则表达式其实就是一个特殊的字符串_正则表达

分享到:
【字体:
导读:
          正则表达式其实就是一个特殊的字符串,如果需要对字符串的内容进行分析匹配,正则表达式是一个不错的选择。简单的用String也能实现该过程,但是那会相当的繁琐...

java正则表达式提供了比较丰富的类库,大大简化了这个过程。下面列出常用的基本语法:
* + ? ^ $ [] () | / d D w W {} {n} {n,m}等,
要注意的是“|”或符号。它可以匹配单个字符和字符串。如:t[aeio]n只匹配tan,ten,tin,ton。但不匹配toon,因为在方括号内只能匹配单个字符,要匹配toon,使用t(a|e|i|o|oo)n就可以实现toon。
正则表达式就是个熟练的过程,没有什么太过于抽象的地方。其实学软件(不喜欢“编程”两个字)乃至其他行业都一样,程序员的一项硬性指标就是代码量。代码量越多说明越熟悉(或掌握或精通)这个实现过程。经验不是学出来的,就像语言不能学习一样。那是要靠一个量的积累。熟才能生巧(古人真厉害,他们早知道这个道理),创新的前提是对某一项事物达到了非常熟练的程度。在此与朋友们共勉。
(二)String对正则表达式的支持方法:.matches(regex) 匹配括号内的正则表达式;

.split(regex)切分字符串为字符数组。当然返回值是字符数组

.replace(old String,new String)用新的字符串替代旧的字符串。需要说明的是这个替代过程原来的字符串是不变的,而是重新new一个字符串。

如:String str="abcde";
String str2=str.replace("bc", "ff");//把str中“bc"换成”ff“
System.out.println(str); //此时输出str的值跟开始初始化时的值一样
System.out.println(str2); //str2的值变成想要的到的”affde“

.replaceAll(regex,String)跟replace类似。
分享到:
正则用(?>…)实现固化分组提高效率_正...
具体来说,使用「(?>…)」的匹配与正常的匹配并无差别,但是如果匹配进行到此结构之后(也就是,进行到闭括号之后),那么此结构体中的所有备用状态都会被放弃(不能被回溯)。   也就是说,在固化分组匹配结束时,它已经匹配的文本已经固化为一个单元,只能作为整体而保留或放弃。括号内的子表达式中未尝试过的备用状态...
让editplus3 函数模板完全显示函数_正则...
我是常常使用editplus ,主要是它启动快,文件小,自定义代码,绿色。发现当用他打开php有一个快捷键ctrl+F11可以打开函数列表,也就是文件内所有的函数名会显示在列表中,双击会选中函数,非常方便 但是默认安装好editplus 3 不支持面向对象的方法 如 final、static 的显示 ,于是我看了下函数模板的设置,也是用正则表达...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……