word正则表达式教程
一下@_@a有人会教这个东西吗?一看就行吗?
正则表达式,[sS]* 什么意思?”。”[ ]不是范围描述符吗?
这样一正一反,就意味着所有的字符都是完整的,一字不漏。
此外,[]这个符号表示单个字符的无限顺序出现,如下面的正则:
[ace]*
这意味着只要出现a/c/e这三个任何字母都会匹配
[s]意思是只要有空白就匹配
[S]表示,非空白匹配
所以它们的组合,说明一切都是匹配的,对应的,有的[wW]等等,意义完全相同,
另外要说的是,为什么会有“”.“这个通配符,还有这样的用法。
其实,[sS][wW]这种用法,比较“.“匹配的更多,因为”.“它不会与换行相匹配。当有换行匹配时,人们习惯于使用它[sS]或者[wW]这种完全通配的模式。
正则表达式匹配和使用案例
摘自菜鸟官网正则表达式教程:
匹配基本模式
一切从最基本的开始。模式是正则表达式中最基本的元素。它们是一组描述字符串特征的字符。该模式可以非常简单,由普通字符串组成,也可以非常复杂。它通常用特殊字符表示一个范围内的字符、重复或上下文。例如:
^once
该模式包含一个特殊的字符^,这意味着该模式只匹配以once开头的字符串。例如,该模式与字符串“onceuponatime“匹配,与”匹配,与“匹配,与”匹配ThereoncewasamanfromNewYork“不匹配。就像^符号表示开头相同,
与“这个模型”和“这个模型和“这个模型”相结合”Whokeptallofthiscashinabucket“匹配,与”匹配,与“匹配,与”匹配buckets“不匹配。字符^和
只匹配字符串”bucket”。如果不包括一个模型^和
尽管[a-z]它代表了26个字母的范围,但它只能与第一个字符是小写字母的字符串相匹配。
前面提到过^表示字符串的开头,但它还有另一个含义。当用于一组方括号时^当它表示“非”或“排除”时,它通常被用来排除一个字符。以前面的例子为例,我们要求第一个字符不能是数字:
[0-9][0-9]与任何两个字符的字符串相匹配,以数字5结尾,以其他非“新行”字符开头。模式.除了空串和只包括一个“新行”的字符串外,任何字符串都可以匹配。
PHP有一些内置的通用字符簇,列表如下:
字符簇描述
[[:alpha:]]任何字母
[[:digit:]]任何数字
[[:alnum:]]任何字母和数字
[[:space:]]任何空白字符
[[:upper:]]任何大写字母
[[:lower:]]任何小写字母
[[:punct:]]任何标点符号
[[:xdigit:]]任何16进制数字都相当于[0-9a-fA-F]
确定重复发生
到目前为止,你已经知道如何匹配一个字母或数字,但在更多的情况下,你可能需要匹配一个单词或一组数字。一个单词由几个字母组成,一组数字由几个单数组成。跟随字符或字符簇后面的花括号({})来确定前面内容的重复次数。
字符簇描述
^[a-zA-Z_]所有三个字母的单词
^aaaaa
^a{2,4}a,aa或aaa
^a{2,}//包含一个以上字母、数字或下划线的字符串
^[1-9][0-9]{0,}//所有整数
^[-]?[0-9] .?[0-9] )。下面你就知道能用的更简单的方法了。
特殊字符等于{0,1},都代表0或1个前面的内容或前面的内容是可选的。所以刚才的例子可以简化为:
^-?[0-9]{1,}.?[0-9]{1,}//包含一个以上字母、数字或下划线的字符串
^[1-9][0-9]*///所有整数
^[-]?[0-9] (.[0-9] )?$///所有浮点数
2.手机号是否为11位数字:Stringregex=”[0-9]{11}”Stringregex=”d{11}”;
3.字符串是否为中文?
4.字符串是否含有特殊字符:Stringregex=”^[sA-Za-z0-9-(),_—-] $”;
5.字符串是否包含特定的中文:Stringregex=”^[x{}[x{8bd5}]{0,1}$”;
中文转Unicode网站:[
来自博客的中文匹配字符串转码匹配方法:[
6.用replaceAll配合正则替换字符串中的值
常见问题FAQ
- UU学院资源教程能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 付款了无法下载怎么办?
- 链接地址失效怎么办?