㈠ php 正则表达式 只能包含字母和数字
式子:/^[a-zA-Z0-9]+$/u
释义:
"/":表示正则表达式的定义,固定写法。
"^":表示开头。
"[]":表示字符组。匹配所包含的任意一个字符。如,“[ab]”匹配“plain”中的“a”。
"a-z":表示匹配小写字母a-z的字母范围。
"A-Z":表示匹配大写字母A-Z的字母范围。
"0-9":表示匹配0-9的数字范围。
"+":表示匹配次数大于等于1。
"$":匹配输入行尾。如果设置了RegExp对象Multiline属性,$也匹配“ ”或“ ”之前的位置。
"u":最后的u是模式修饰符,严格的说可能叫预定义常量。表示使用unicode进行匹配。
(1)php正则最后扩展阅读:
其它正则表达式符号的含义:
1、"*":匹配前面的子表达式任意次。例如,zo*能匹配“z”,也能匹配“zo”以及“zoo”。*等价于{0,}。
2、"?":匹配前面的子表达式零次或一次。例如,“do(es)?”可以匹配“do”或“does”。?等价于{0,1}。
3、"{n}":n是一个非负整数。匹配确定的n次。例如,“o{2}”不能匹配“Bob”中的“o”,但是能匹配“food”中的两个o。
4、"{n,}":n是一个非负整数。至少匹配n次。例如,“o{2,}”不能匹配“Bob”中的“o”,但能匹配“foooood”中的所有o。“o{1,}”等价于“o+”。“o{0,}”则等价于“o*”。
5、"{n,m}":m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次。例如,“o{1,3}”将匹配“fooooood”中的前三个o为一组,后三个o为一组。“o{0,1}”等价于“o?”。请注意在逗号和两个数之间不能有空格。
㈡ PHP中字符串正则式处理:去除字符串末尾的若干个空格
查找:[\u0026-\u002f\u003a\u003b]
替换为空
原理:&的ascii为0x26,其至0x2f之间都是符号,0x30~0x39是数字0~9,0x3a和0x3b是符号,分号是0x3b,所以,你描述的符号就是两个连续区间,后一个区间只有两个字符,总体上也可表示为一个连续字符区间和两个散点字符,如上即是。
㈢ php正则排除结尾字符串不成功问题
$url='<ahref="123456.css"target="_self"></a>';
$url.='<ahref="123456.js"target="_self"></a>';
$url.='<ahref="123456.png"target="_self"></a>';
$preg='/href=".*css?"/';
preg_match_all($preg,$url,$all);
foreach($all[0]as$key=>$vo){
$vo=str_replace(['"','href='],['',''],$vo);
$all[0][$key]=$vo;
}
print_r($all);
㈣ php正则匹配第一个结尾的
1, \D 匹配除十进制数字以外的任意数字
2, * 匹配0次、1次或多次其前的原子
3, + 匹配1次或多次其前的原子
4, ? 匹配0次或1次其前的原子
----------------------------------------------
5, \S 匹配除空白字符以外的任意一个字符
----------------------------------------------
6, \w 匹配任意一个数字、字母和下划线
----------------------------------------------
7, [] 1)用来表示范围。 2)匹配任意一个中括号中定义的原子
----------------------------------------------
8, [^] 表示匹配任意一个除中括号里面定义的原子
----------------------------------------------
9, {n} 表示其前的原子正好出现n次
----------------------------------------------
10, {n,} 表示其前的原子至少出现n次,最多不限制
----------------------------------------------
11, $ 匹配输入字符的结束位置
----------------------------------------------
12, \b 匹配词边界
----------------------------------------------
13, {m,n} 表示其前的原子最少出现m次,最多出现n次
----------------------------------------------
14, . 匹配除换行符(\n)以外的任意字符【windows下还匹配\f\r】
----------------------------------------------
15, | 两个或多个分支选择【优先级最低】
----------------------------------------------
16, ^ 匹配输入字符的开始位置
----------------------------------------------
17, \B 匹配非词边界
----------------------------------------------
18, () 1)模式单元,把多个小原子组成一个大原子。2)可以改变优先级
----------------------------------------------
㈤ php 正则表达式如何判断一个字符串是否为合法的四则数学算式
代码如下(经测通过):
<?php
$str="((1+1)*3.3)/10-12+(1+1)";
if(preg_match("/[+-*/.]{2}|[^+-*/()d.]+/i",$str,$matches)){
echo'非法算式';
}else{
if(substr_count($str,"(")==substr_count($str,")")){
echo'合法算式';
}else{
echo'括号不匹配';
}
}
?>
判断str里是否存在连续运算符、小数点或运算符、括号、数字以外的字符
若存在则非法
若不存在则判断str里( 和 )数量是否一致
㈥ 使用php正则式去除字符串中最后一个斜杠及之后的内容
可以参考下面的两种方法:
1、var s = '一句话描/述(您的)/疑问/123一二三abc';
s.replace(/(.*)/{1}.*/, '$1'); //标准模式下,.*会自动匹配到最后一个位置
//输出 "一句话描/述(您的)/疑问"
2、$str = '一句话描/述(您的)疑问/123一二三abc';
$str = preg_replace('/(.*)/{1}([^/]*)/i', '$1', $str);
echo $str;
(6)php正则最后扩展阅读:
PHP正则表达式中的参考函数:
pattern: 要搜索的模式,字符串类型。
subject:输入字符串。
match: 如果提供了参数matches,它将被填充为搜索结果,数据结构为一维数组。
flags: 可以设置为PREG_OFFSET_CAPTURE,使用搜索结果的第0个元素为匹配的字符串,第1个元素为对应的偏移量(位置)
offset: 搜索从目标字符串的起始位置开始匹配。
pattern:要搜索的模式。可以是一个字符串或字符串数组。
replacement:用于替换的字符串或字符串数组
㈦ php 正则怎么获取div的结束标签
现获取此div的html串,然后处理。
例如:
<ul>
<li><Ma hrMef="hMtMtp://xxx1" tarMget="_blaMnk" claMss=""></Ma></li>
<li><Ma hrMef="hMtMtp://xxx2" targMet="_blaMnk" claMss=""></Ma></li>
</ul>
正则:hMtMtp.+?(?=".+</a>.*</li>)
输出:
hMtMtp://xxx1
hMtMtp://xxx2
(把上面大写的M都去掉)