时间:2021-05-26
一、小括号()、中括号[]、大括号的区别
1>. 小括号():匹配小括号内的字符串,可以是一个,也可以是多个,常跟“|”(或)符号搭配使用,是多选结构的
示例1:string name = "way2014"; regex:(way|zgw) result:结果是可以匹配出way的,因为是多选结构,小括号是匹配字符串的
示例2:string text = "123456789"; regex:(0-9) result:结果是什么都匹配不到的,它只匹配字符串"0-9"而不是匹配数字, [0-9]这个字符组才是匹配0-9的数字
2>.中括号[]:匹配字符组内的字符,比如咱们常用的[0-9a-zA-Z.*?!]等,在[]内的字符都是字符,不是元字符,比如“0-9”、“a-z”这中间的“-”就是连接符号,表示范围的元字符,如果写成[-!?*(]这样的话,就是普通字符
示例1: string text = "1234567890"; regex:[0-9] result:结果是可以匹配出字符串text内的任意数字了,像上边的【或符号“|”在字符组内就是一个普通字符】
示例2:string text = "a|e|s|v"; regex:[a|e|s] result:结果就是匹配字符a、e、|三个字符,这个跟(a|e|s)有区别的,区别就是(a|e|s)匹配的是a、e、s三个字符的随意一个,三个中的任意一个,这是的|是元字符
3>.大括号{}:匹配次数,匹配在它之前表达式匹配出来的元素出现的次数,{n}出现n次、{n,}匹配最少出现n次、{n,m}匹配最少出现n次,最多出现m次
更多的可以参考这篇文章:https://www.jb51.net/article/141294.htm
测试代码
$str="你好<我>(爱)[北京]{天安门}";echo f1($str); //返回你好 echo f2($str); //返回我 echo f3($str); //返回爱 echo f4($str); //返回北京 echo f5($str); //返回天安门function f1($str) { $result = array(); preg_match_all("/^(.*)(?:<)/i",$str, $result); return $result[1][0]; } function f2($str) { $result = array(); preg_match_all("/(?:<)(.*)(?:>)/i",$str, $result); return $result[1][0]; }function f3($str) { $result = array(); preg_match_all("/(?:\()(.*)(?:\))/i",$str, $result); return $result[1][0]; }function f4($str) { $result = array(); preg_match_all("/(?:\[)(.*)(?:\])/i",$str, $result); return $result[1][0]; }function f5($str) { $result = array(); preg_match_all("/(?:\{)(.*)(?:\})/i",$str, $result); return $result[1][0]; }PS: (?:字符) 表示不捕获这个字符。貌似PHP不支持将字符换成括号。
否则的话可以将环视给嵌套进去,就可以循环匹配了。
PS2:环视:(?!) (?=) (?<!) (?<=)
有小于号的在右侧匹配,没有的在左侧匹配。感叹号表示不等,等于号表示相等。
PS3:都过了验证器的验证,验证器见参考资料。
PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript
正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一、正则表达式的特殊字符介绍正则表达式^匹配行首$匹配行尾.任意单个字符[]匹配包含在中括号中的任意字符[^]匹配包含在中括号中的字符之外的字符[-]匹配指定范
本文实例讲述了Java正则提取中括号中的内容操作。分享给大家供大家参考,具体如下:曾经在工作中遇到一个问题,就是需要提取字符串中每一个中括号里的内容,在网上搜了
1.字符串中的正则表达式使用正则表达式可以对字符串进行查找、提取、分割、替换等操作。String类当中提供了如下几个特殊方法:booleanmatches(St
1.括号的作用1.1方括号[]属性名加上方括号后,右侧赋值为表达式的值如果属性没有方括号,右侧赋值为字符串red//这里类名为redred//这里类名为blue
正则表达式replace()函数:此函数用指定的字符串替换字符串中与正则表达式匹配的子字符串。返回值是一个替换后的新字符串。这里只介绍正则表达式的相关操作,其他