PHP正则表达式的一些学习

PHP 正则表达基本语法应用学习。

^ 开始

$ 结束

* 匹配零个或者更多  zero or more

"ab*" 匹配字符串a和0个或者更多的b组成的字符串("a" "ab" "abb" "abbbbbb" etc)

+ 匹配一个或者更多  one or more

"ab+" 匹配字符串a和一个或者更多b组成的字符串("ab" "abb" "abbbbbb" etc) 跟*的区别就是后面必须匹配一个b

?匹配零个或一个    zero or one

"ab?" 匹配0个或者一个b ("a", "ab")

.*? 常用来匹配 一大段字符串 即不需要规则的字符串,就是不用匹配直接想略过去的

例子:

"a?b+$"  匹配一个或者0个a  再加上一个以上的b结尾的字符串  ("b"  "ab" "bbbbb" "abbbbbbb")

当然也可以在后面的大括号里面加上限制字符出现的个数

"ab{2}" 匹配一个a后面必须跟俩个b  即  "abb"

"ab{2,}" 匹配一个a 后面的b必须大于等于2个  "abb" "abbb" "abbbbb"

"ab{2,5}" 匹配一个a 后面的b在2到5之间  "abb" "abbb" "abbbb" "abbbbb"

但是小于两个b 就不能这样"ab{,2}"  必须是这样"ab{0,2}"

于是对于

*  就知道等价于  {0,}

+  等价于 {1,}

? 等价于 {0,1}

()就是把一些字符串链接起来,用来匹配的

"a(bc)*" 就是匹配一个a然后后面跟0个bc或者多个bc "a"  "abc" "abcbc" "abcbcbc" etc

|  这个字符相当于 OR操作

"hi|hello" 匹配含有hi 或者 是hello 的字符串

"(b|cd)ef" 匹配含有bef 或者cdef的字符串

"(a|c)*d" 匹配含有 "d" "ad" "cd" "aab" "ccd"  "aaaaaaad" "cccccccd"

.可以代表所有的单一字符

"a.[0-9]" 可以匹配一个a 然后跟一个字符串 最后再跟一个数字  "aj9" "a<8" 其中中间的只要是单一的字符都是可以的

"^.{3}$" 以三个单一字符开始和结尾的 "asd" 多余三个单一的字符就不能被匹配  如"kjl."

[] 该符号包括住的内容只匹配一个单一的字符

"[ab]" 就是只匹配单个的a 或者单个的b  等价于  "a|b"

"[a-z]" 就是匹配26个小写字母

"^[a-zA-Z]" 匹配以字母开头的字符串

"[0-9]%" 就是匹配含有形如 x% 的字符串

",[a-zA-Z0-9]$" 匹配以逗号然后再加一个数字或者字母结尾的字符串   ",0" ",a" etc

PHP 一些常用的替代符号

## 或者// 表示分界符 单个的/表示转义字符

\s表示匹配空白的东西

\d 匹配一个数字字符

\w 匹配包括下划线的任何单词字符

网上大神总结的比较全的语法。

点击打开链接

PHP正则表达式的一些学习

时间: 2024-10-11 07:29:07

PHP正则表达式的一些学习的相关文章

正则对象与正则表达式的基础学习

正则对象与正则表达式的基础学习 正则表达式是文字匹配的工具,它更像是一个文字模版,只要符合条件的结果都会被筛选出来. 正则表达式在使用上,它依赖于正则对象提供的方法与属性,所以使用正则表达式之前要定义正则对象. 正则表达式的两种使用方式: 1. 定义正则对象 var reg = new RegExp( /regexpression/modified ) //格式一 var reg = new RegExp( 'regexpression' , 'modified' ) //格式二 2. 直接量的

Python中re(正则表达式)模块函数学习

今天学习了Python中有关正则表达式的知识.关于正则表达式的语法,不作过多解释,网上有许多学习的资料.这里主要介绍Python中常用的正则表达式处理函数. 方法/属性 作用 match() 决定 RE 是否在字符串刚开始的位置匹配 search() 扫描字符串,找到这个 RE 匹配的位置 findall() 找到 RE 匹配的所有子串,并把它们作为一个列表返回 finditer() 找到 RE 匹配的所有子串,并把它们作为一个迭代器返回 match() 函数只检查 RE 是否在字符串开始处匹配

Javascript正则表达式的初步学习

1 <html> 2 <head> 3 <meta charset="utf-8"> 4 <title>正则表达式的学习</title> 5 </head> 6 <body> 7 8 <script language="javascript"> 9 //创建正则表达式,RegExp是一个对象,test是一个方法 10 //第一个参数是正则表达式的文本内容 11 //第二个

正则表达式的入门学习

正则表达式的好处到底在哪里呢,下面我们先进行个了解:我们用js中处理字符串的方法,写出取出字符串中数字的函数: 1 var str='dgh6a567sdo23ujaloo932'; 2 function getNumber(obj){ 3 var arr=[]; 4 for (var i = 0; i < obj.length; i++) { 5 if (obj.charAt(i)>='0'&&obj.charAt(i)<='9'){ 6 arr.push(obj.ch

Python实战之正则表达式RE/re学习笔记及简单练习

# .,\w,\s,\d,,^,$# *,+,?,{n},{n,},{n,m} # re模块用于对python的正则表达式的操作.## 字符:## . 匹配除换行符以外的任意字符# \w 匹配字母或数字或下划线或汉字# \s 匹配任意的空白符# \d 匹配数字# \b 匹配单词的开始或结束# ^ 匹配字符串的开始# $ 匹配字符串的结束## 次数:## * 重复零次或更多次# + 重复一次或更多次# ? 重复零次或一次# {n} 重复n次# {n,} 重复n次或更多次# {n,m} 重复n到m次

java正则表达式最简单 学习教程

本大教程以一个验证手机号的表达式为例,学完本例后,基本上所有的表达式都能看懂了,但是如果想要达到上手就能写的程度,还需要多练习多测试 呀! 来看 这样一个代码 String mobilePhoneReg = "^((13[0-9])|(15[^4,\\D])|(18[0,0-9]))\\d{8}$"; if (!mobilephone.matches(mobilePhoneReg)) { showToast("手机号码格式不正确!"); return false;

java学习——正则表达式

本文内容来源于  历经5年锤练--史上最适合初学者入门的Java基础视频 例:要求QQ号长度为5~15位,不能以0开头 String qq="123456"; String regex="[1-9][0-9]{4,14}";//正则表达式 boolean b = qq.matches(regex); System.out.println(qq+":"+b);//qq:true 正则表达式用于操作字符串数据.通过一些特定的符号来体现.为了掌握正则表

正则表达式学习笔记(一)

什么是正则表达式 在编写处理字符串的时候,经常会有查找符合某些复杂规则的字符串的需要,正则表达式就是用来描述这些规则的工具,换句话说,正则表达式就是记录文本规则的代码. 正则表达式语法递进学习 (1)       关于大小写,正则表达式处理工具会有控制的机制,人为可调,后面会讲. (2)       \b 这是属于正则表达式里面的所谓元字符.看看应用,假设想要在某段文本中查找"men"这个字符串.若是没有使用\b,那么结果是这样的: 如果使用了\b的话,结果就是这样: \b匹配的是单词

JavaSE学习笔记21:Java正则表达式

Java正则表达式   1.正则表达式(特点) 正则表达式,顾名思义,就是符合一定规则的表达式.作用是专门用于操作字符串,虽说String类中已经有了很多操作字符串的方法,但是它们的功能单一,操作起来还麻烦,正则弥补了它们的补足. 下面我们通过一个小例子来感受一下区别: 需求:对QQ号码进行校验,要求:5~15位,0不能开头,只能是数字. (1)常规的做法: class CheckQQ { public static void main(String[] args) { String qq="3