标签类目:regular

PHP正则表达式完整版

分类:PHP各种操作符的运算优先级
相同优先级的从左到右进行运算,不同优先级的运算先高后低。各种操作符的优先级从高到低如下:

操作符  描述
 
\  转义符
 
(), (?:), (?=), []  圆括号和方括号
 
*, +, ?, {n}, {n,}, {n,m}  限定符
 
^, $, \anymetacharacter  位置和顺序
 
|  “或”操作

详细见内文: 继续阅读 »

python正则表达式及相关函数

分类:Python正则表达式中特殊的符号:

“.” 表任意字符
“^ ” 表string起始
“$” 表string 结束
“*” “+” “?” 跟在字符后面表示,0个——多个, 1个——多个, 0个或者1个
*?, +?, ?? 符合条件的情况下,匹配的尽可能少//限制*,+,?匹配的贪婪性
{m} 匹配此前的字符,重复m次
{m,n} m到n次,m,n可以省略 继续阅读 »

常用正则表达式

Email : /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/,
Phone : /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/,
Mobile : /^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$/,
Url : /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\’:+!]*([^<>\"\"])*$/,
Currency : /^\d+(\.\d+)?$/,
Number : /^\d+$/,
Zip : /^[1-9]\d{5}$/,
QQ : /^[1-9]\d{5,10}$/,
Integer : /^[-\+]?\d+$/,
Double : /^[-\+]?\d+(\.\d+)?$/,
English : /^[A-Za-z]+$/,
Chinese : /^[\u0391-\uFFE5]+$/, 继续阅读 »

经典正则表达式——常用的正则表达式

正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番。我将一些常用的表达式收藏在这里,作备忘之用。本贴随时会更新。

匹配中文字符的正则表达式: [u4e00-u9fa5]

匹配双字节字符(包括汉字在内):[^x00-xff]

应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 继续阅读 »

Python:正则表达式找出网页上所有链接

分类:Python

  1. import re
  2. import urllib
  3. def test(html,rex):
  4.     alist = []
  5.     r = re.compile(rex)
  6.     matchs = r.findall(html)
  7.     if matchs != None:
  8.         for found in matchs:
  9.             if found not in alist:
  10.                 alist.append(found)         
  11.     return alist
  12.              
  13. rex = r'<a\s*href=\"(.*?)\"'
  14. page=urllib.urlopen('http://hi.baidu.com')
  15. html=page.read()
  16. page.close()
  17.  
  18. print test(html,rex)

python多行匹配正则表达式

分类:Python1 非贪婪flag

>>> re.findall(r"a(\d+?)", "a23b")
        ['2']
>>> re.findall(r"a(\d+)", "a23b")
        ['23']

注意比较这种情况:

>>> re.findall(r"a(\d+)b", "a23b")
        ['23']
>>> re.findall(r"a(\d+?)b", "a23b")
        ['23']

继续阅读 »


返回顶部