㈠ 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都去掉)