正则表达式

正则表达式http://blog.csdn.net/bosswanghai/article/details/53859856

原创  2016年12月24日 15:42:14
  • 1126

正则表达式

通用正则表达式

元字符
代码 说明
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束
转义字符
转义字符 \
\.  \*

   
   
     
     
     
     
  • 1
  • 2
  • 3
重复
代码 语法说明
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复 n 次
{n,} 重复 n 次或更多次
{n,m} 重复 n 到 m 次
字符类
  • 在方括号里列出它们就行了,像[aeiou]就匹配任何一个英文元音字母,[.?!]匹配标点符号(.或?或!)。

  • [0-9]代表的含意与\d就是完全一致的:一位数字;同理[a-z0-9A-Z_]也完全等同于\w(如果只考虑英文的话)

分支条件
rega|regb

   
   
     
     
     
     
  • 1
  • 2
分组
  • 重复单个字符(直接在字符后面加上限定符就行了);

  • 重复多个字符:你可以用小括号来指定子表达式(也叫做分组)

反义
代码 语法说明
\W 匹配任意不是字母,数字,下划线,汉字的字符
\S 匹配任意不是空白符的字符
\D 匹配任意非数字的字符
\B 匹配不是单词开头或结束的位置
[^x] 匹配除了x以外的任意字符
[^aeiou] 匹配除了aeiou这几个字母以外的任意字符
后向引用
使用小括号指定一个子表达式后,匹配这个子表达式的文本(也就是此分组捕获的内容)可以在表达式或其它程序中作进一步的处理。默认情况下,每个分组会自动拥有一个组号,规则是:从左向右,以分组的左括号为标志,第一个出现的分组的组号为 1,第二个为 2,以此类推。

后向引用用于重复搜索前面某个分组匹配的文本。例如,\1 代表分组 1 匹配的文本。难以理解?请看示例:

\b(\w+)\b\s+\1\b可以用来匹配重复的单词,像 go go, 或者 kitty kitty。这个表达式首先是一个单词,也就是单词开始处和结束处之间的多于一个的字母或数字(\b(\w+)\b),这个单词会被捕获到编号为 1 的分组中,然后是 1 个或几个空白符(\s+),最后是分组 1 中捕获的内容(也就是前面匹配的那个单词)(\1)。

你也可以自己指定子表达式的组名。要指定一个子表达式的组名,请使用这样的语法:(?\w+)(或者把尖括号换成'也行:(?'Word'\w+)),这样就把\w+的组名指定为 Word 了。要反向引用这个分组捕获的内容,你可以使用\k,所以上一个例子也可以写成这样:\b(?\w+)\b\s+\k\b。

使用小括号的时候,还有很多特定用途的语法。下面列出了最常用的一些:
   
   
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

常用分组语法

分类 代码/语法 说明
捕获 (exp) 匹配exp,并捕获文本到自动命名的组里
(?exp) 匹配exp,并捕获文本到名称为name的组里,也可以写成(?’name’exp)  
(?:exp) 匹配exp,不捕获匹配的文本,也不给此分组分配组号  
零宽断言 (?=exp) 匹配exp前面的位置
(?<=exp) 匹配exp后面的位置  
(?!exp) 匹配后面跟的不是exp的位置  
(? 匹配前面不是exp的位置  
注释 (?#comment) 这种类型的分组不对正则表达式的处理产生任何影响,用于提供注释让人阅读
零宽断言
负向零宽断言
注释
贪婪与懒惰
处理选项
平衡组/递归匹配
详细语法
引用

极客学院-正则表达式

python正则

lua正则

start_pos, end_pos = string.find(str, pattern, [pos])

string.sub(str,pos1, pos2, [plain]) – str[pos1, pos2]

lua的模式匹配规则 
lua字符串的api: string.find string.match string.gmatch string.gsub 
捕获

http://rangercyh.blog.51cto.com/1444712/1393067 
模式 
让我们来看看,都有哪些特殊字符需要解释,其实这一部分在Lua的官方文档中,介绍的还是很清楚的: 
首先,任何单独的字符,除了上面那些特殊字符外,都代表他们本身。注意前提是他们独立出现。 
其次,Lua定义了一些集合,它们分别如下: 
. :代表任意的字符。 
%a :代表任意字母。 
%c :代表任意控制字符。 
%d :代表任意数字。 
%l :代表任意小写字母。 
%p :代表任意标点符号。 
%s :代表任意空白字符(比如空格,tab啊)。 
%u :代表任意大写字母。 
%w :代表任意字母和数字。 
%x :代表任意16进制数字。 
%z :代表任意跟0相等的字符。 
%后面跟任意一个非字母和数字的字符,都代表了这个字符本身,包括上面那些特殊字符以及任何标点符号都可以用这个方式来表达。 
[set] :代表一个自定义的字符集合。你可以使用符号 - 来标识一个范围,比如 1-9,a-z 之类的。需要注意的是,上面提到的那些字符集合也可以在这个自定义的集合里用,但是你不能这么写[%a-z],这样的集合是没有意义的。 
[^set] :代表字符集合[set]的补集(补集是什么意思,我了个去,问你数学老师去)。 
另外,对于上面提到的所有用 % 跟一个字母组成的集合,如果把字母大写,那么就对应那个集合的补集,比如 %S 的意思就是所有非空白字符。Lua官网还强调了一下,这里个定义跟本地的字符集有关,比如集合 [a-z] 就不一定跟 %l 是相等的。 
任意一个单字符表达的集合,包括 % 加单字符表达的集合后面都可以跟4种符号,他们分别是 * 、 +、 - 、 ?。 
* :意思是前面的集合匹配0个或者更多字符,并且是尽量多的匹配。 
+ :意思是前面的集合匹配1个或者更多字符。 
- :意思是前面的集合匹配0个或者更多字符,尽量少的匹配。 
? :意思是前面的集合匹配0个或者1个。 
如下: 





6local a = “ammmf” 
print(string.match(a, “%a”)) – a 
print(string.match(a, “%a*”)) – ammmf 
print(string.match(a, “%a+”)) – ammmf 
print(string.match(a, “%a-“)) – 
print(string.match(a, “%a?”)) – a

看了上面的例子,你可能会想,那 * 和 + 或者加不加 ? 有什么区别呢?是有区别的,因为匹配0个和匹配1个有的时候就是有没有匹配成功的关键,比如加上 ? 就可以匹配0个,意味着即使没有对应集合的内容,也算匹配成功了,如果有捕获的话,这个时候捕获是生效的。比如: 


3local a = “ammmf” 
print(string.match(a, “()c”)) – nil 
print(string.match(a, “()c?”)) – 1

如果你现在还不知道 string.match() 是什么意思,就翻到前面去看吧。 
还有一个特殊的字符需要介绍,就是 %b 后面跟两个不同的字符xy,它的意思是匹配从x开始,到y结束的字符串,而且要求这个字符串里x和y的数量要相同。比如 %b() 就是匹配正常的小括号,如下: 

2local a = “aaabb” 
print(string.match(a, “%bab”)) – aabb

最后,我在介绍 string.gmatch 的时候介绍过字符 ^ 的用法,它放在模式的首部,意思是从原串的首部就开始匹配,这里还有一个特殊字符跟它的用法类似,它就是 $ 字符,这个字符放在模式的末尾,意思是从原串的尾部开始匹配。在其他位置就跟 ^ 一样,也没有意义。

捕获 
捕获的意思在介绍 string.find 的时候已经详细介绍过了,这里再提一笔,捕获是在模式中,用小括号括起来的子模式,它在匹配发生的时候截取小括号内模式匹配到的字符串,然后保存下来,默认最多保存 32 个,可以在Lua源码中修改保存的数量。另外捕获的顺序是按照小括号左括号的位置来定的。至于捕获如何使用,请参看我上面介绍的4个使用了模式的函数的具体用法。

lua 字符串库

Lua解释器对字符串的支持很有限。一个程序可以创建字符串并连接字符串,但不能截取子串,检查字符串的大小,检测字符串的内容。在Lua中操纵字符串的功能基本来自于string库。

字符串库中的一些函数是非常简单的:

string.len(s)          返回字符串s的长度;
string.rep(s, n)      返回重复n次字符串s的串;你使用string.rep("a", 2^20)可以创建一个1M bytes的字符串(比如,为了测试需要);
string.lower(s)       将s中的大写字母转换成小写(string.upper将小写转换成大写)。如果你想不关心大小写对一个数组进行排序的话,你可以这样:
                             table.sort(a, function (a, b) return string.lower(a) < string.lower(b) end)
string.upper(s)       将s中的小写字母转换成大写
                            string.upperstring.lower都依赖于本地环境变量。所以,如果你在 European Latin-1环境下,表达式:
                            string.upper("a??o")    --> "A??O"
string.sub(s,i,j)      函数截取字符串s的从第i个字符到第j个字符之间的串。Lua中,字符串的第一个字符索引从1开始。你也可以使用负索引,负索引从字符串的结尾向前计数:-1指向最后一个字符,-2指向倒数第二个,以此类推。所以, string.sub(s, 1, j)返回字符串s的长度为j的前缀;string.sub(s, j, -1)返回从第j个字符开始的后缀。如果不提供第3个参数,默认为-1,因此我们将最后一个调用写为string.sub(s, j);string.sub(s, 2, -2)返回去除第一个和最后一个字符后的子串。
s = "[in brackets]"
print(string.sub(s, 2, -2)) --> in brackets
记住:Lua中的字符串是恒定不变的。string.sub函数以及Lua中其他的字符串操作函数都不会改变字符串的值,而是返回一个新的字符串。一个常见的错误是:
string.sub(s, 2, -2)
认为上面的这个函数会改变字符串s的值。如果你想修改一个字符串变量的值,你必须将变量赋给一个新的字符串:
s = string.sub(s, 2, -2)
string.char函数和string.byte函数用来将字符在字符和数字之间转换。string.char获取0个或多个整数,将每一个数字转换成字符,然后返回一个所有这些字符连接起来的字符串。string.byte(s, i)将字符串s的第i个字符的转换成整数;第二个参数是可选的,缺省情况下i=1。下面的例子中,我们假定字符用ASCII表示:

print(string.char(97)) --> a
i = 99; print(string.char(i, i+1, i+2)) --> cde
print(string.byte("abc")) --> 97
print(string.byte("abc", 2)) --> 98
print(string.byte("abc", -1)) --> 99 

上面最后一行,我们使用负数索引访问字符串的最后一个字符。

Lua提供了string.format()函数来生成具有特定格式的字符串, 函数的第一个参数是格式(formatstring), 之后是对应格式中每个代号的各种数据. 由于格式字符串的存在, 使得产生的长字符串可读性大大提高了. 这个函数的格式很像C语言中的printf().函数string.format在用来对字符串进行格式化的时候,特别是字符串输出,是功能强大的工具。这个函数有两个参数,你完全可以照C语言的printf来使用这个函数。第一个参数为格式化串:由指示符和控制格式的字符组成。指示符后的控制格式的字符可以为:十进制'd';十六进制'x';八进制'o';浮点数'f';字符串's'。在指示符'%'和控制格式字符之间还可以有其他的选项:用来控制更详细的格式,比如一个浮点数的小数的位数:

格式字符串可能包含以下的转义码:

%c - 接受一个数字, 并将其转化为ASCII码表中对应的字符
%d, %i - 接受一个数字并将其转化为有符号的整数格式
%o - 接受一个数字并将其转化为八进制数格式
%u - 接受一个数字并将其转化为无符号整数格式
%x - 接受一个数字并将其转化为十六进制数格式, 使用小写字母
%X - 接受一个数字并将其转化为十六进制数格式, 使用大写字母
%e - 接受一个数字并将其转化为科学记数法格式, 使用小写字母e
%E - 接受一个数字并将其转化为科学记数法格式, 使用大写字母E
%f - 接受一个数字并将其转化为浮点数格式
%g(%G) - 接受一个数字并将其转化为%e(%E, 对应%G)及%f中较短的一种格式
%q - 接受一个字符串并将其转化为可安全被Lua编译器读入的格式
%s - 接受一个字符串并按照给定的参数格式化该字符串

为进一步细化格式, 可以在%号后添加参数. 参数将以如下的顺序读入:

(1) 符号: 一个+号表示其后的数字转义符将让正数显示正号. 默认情况下只有负数显示符号.
(2) 占位符: 一个0, 在后面指定了字串宽度时占位用. 不填时的默认占位符是空格.
(3) 对齐标识: 在指定了字串宽度时, 默认为右对齐, 增加-号可以改为左对齐.
(4) 宽度数值
(5) 小数位数/字串裁切: 在宽度数值后增加的小数部分n, 若后接f(浮点数转义符, 如%6.3f)则设定该浮点数的小数只保留n位, 若后接s(字符串转义符, 如%5.3s)则设定该字符串只显示前n位.

在这些参数的后面则是上述所列的转义码类型(c, d, i, f, ...).


print(string.format("pi = %.4f", PI))
      --> pi = 3.1416
d = 5; m = 11; y = 1990
print(string.format("%02d/%02d/%04d", d, m, y))
        --> 05/11/1990
tag, title = "h1", "a title"
print(string.format("<%s>%s", tag, title, tag))
        --> 

a title

第一个例子,%.4f代表小数点后面有4位小数的浮点数。第二个例子%02d代表以固定的两位显示十进制数,不足的前面补0。而%2d前面没有指定0,不足两位时会以空白补足。对于格式串部分指示符得详细描述清参考lua手册,或者参考C手册,因为Lua调用标准C的printf函数来实现最终的功能。 以下是一些例子: string.format("%%c: %c", 83) 输出S string.format("%+d", 17.0) 输出+17 string.format("%05d", 17) 输出00017 string.format("%o", 17) 输出21 string.format("%u", 3.14) 输出3 string.format("%x", 13) 输出d string.format("%X", 13) 输出D string.format("%e", 1000) 输出1.000000e+03 string.format("%E", 1000) 输出1.000000E+03 string.format("%6.3f", 13) 输出13.000 string.format("%q", "One\nTwo") 输出"One\   Two" string.format("%s", "monkey") 输出monkey string.format("%10s", "monkey") 输出 monkey string.format("%5.3s", "monkey") 输出 mon
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83

nginx正则表达式

  • ngx.re.gmatch使用

    local iter = ngx.re.gmatch(xcode, “([^,]+)”, “jo”) 
    if not iter then return end

    while true do 
    local v, err = iter() 
    if not v then 
    break 
    end 
    ngx.say(“## match v: “, v[0], v[1]) 
    end

注意 v=iter之后,要求出v[0] == v[1] == “value”, 不能直接使用v

  • ngx.re.match使用

    local m, err = ngx.re.match(“hello, 1234”, “([0-9])[0-9]+”)

    – m[0] == “1234”

    – m[1] == “1”

captures[0] holds the whole substring being matched, and captures[1] holds the first parenthesized sub-pattern’s capturing, captures[2] the second, and so on.

  • ngx.re.find使用

python正则表达式

简介

Python通过re模块提供对正则表达式的支持。使用re的一般步骤是先将正则表达式的字符串形式编译为Pattern实例,然后使用Pattern实例处理文本并获得匹配结果(一个Match实例),最后使用Match实例获得信息,进行其他的操作。

使用

正则表达式匹配不是find,所以要整体匹配才可以

# encoding: UTF-8
import re

# 将正则表达式编译成Pattern对象
pattern = re.compile(r'hello')

# 使用Pattern匹配文本,获得匹配结果,无法匹配时将返回None
match = pattern.match('hello world!')

if match:
    # 使用Match获得分组信息
    print match.group()

### 输出 ###
# hello

   
   
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
api

re.compile(patt, [flag])

re.I(re.IGNORECASE): 忽略大小写(括号内是完整写法,下同)
M(MULTILINE): 多行模式,改变'^'和'$'的行为(参见上图)
S(DOTALL): 点任意匹配模式,改变'.'的行为
L(LOCALE): 使预定字符类 \w \W \b \B \s \S 取决于当前区域设定
U(UNICODE): 使预定字符类 \w \W \b \B \s \S \d \D 取决于unicode定义的字符属性
X(VERBOSE): 详细模式。这个模式下正则表达式可以是多行,忽略空白字符,并可以加入注释。
   
   
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

pattern编译后也是生成一个对象,有如下属性和方法

Pattern对象是一个编译好的正则表达式,通过Pattern提供的一系列方法可以对文本进行匹配查找。

Pattern不能直接实例化,必须使用re.compile()进行构造。

Pattern提供了几个可读属性用于获取表达式的相关信息:

pattern: 编译时用的表达式字符串。
flags: 编译时用的匹配模式。数字形式。
groups: 表达式中分组的数量。
groupindex: 以表达式中有别名的组的别名为键、以该组对应的编号为值的字典,没有别名的组不包含在内。
   
   
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

re.match

m = re.match(r'hello', 'hello world!')
print m.group()

   
   
     
     
     
     
  • 1
  • 2
  • 3

match返回结果是一个对象,有如下的属性和方法集合

Match对象是一次匹配的结果,包含了很多关于此次匹配的信息,可以使用Match提供的可读属性或方法来获取这些信息。

属性:

string: 匹配时使用的文本。
re: 匹配时使用的Pattern对象。
pos: 文本中正则表达式开始搜索的索引。值与Pattern.match()和Pattern.seach()方法的同名参数相同。
endpos: 文本中正则表达式结束搜索的索引。值与Pattern.match()和Pattern.seach()方法的同名参数相同。
lastindex: 最后一个被捕获的分组在文本中的索引。如果没有被捕获的分组,将为None。
lastgroup: 最后一个被捕获的分组的别名。如果这个分组没有别名或者没有被捕获的分组,将为None。
方法:

group([group1, …]): 
获得一个或多个分组截获的字符串;指定多个参数时将以元组形式返回。group1可以使用编号也可以使用别名;编号0代表整个匹配的子串;不填写参数时,返回group(0);没有截获字符串的组返回None;截获了多次的组返回最后一次截获的子串。
groups([default]): 
以元组形式返回全部分组截获的字符串。相当于调用group(1,2,…last)。default表示没有截获字符串的组以这个值替代,默认为None。
groupdict([default]): 
返回以有别名的组的别名为键、以该组截获的子串为值的字典,没有别名的组不包含在内。default含义同上。
start([group]): 
返回指定的组截获的子串在string中的起始索引(子串第一个字符的索引)。group默认值为0end([group]): 
返回指定的组截获的子串在string中的结束索引(子串最后一个字符的索引+1)。group默认值为0。
span([group]): 
返回(start(group), end(group))。
expand(template): 
将匹配到的分组代入template中然后返回。template中可以使用\id或\g、\g引用分组,但不能使用编号0。\id与\g是等价的;但\10将被认为是第10个分组,如果你想表达\1之后是字符'0',只能使用\g<1>0。
   
   
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

match使用

实例方法[ | re模块方法]:

match(string[, pos[, endpos]]) | re.match(pattern, string[, flags]): 
这个方法将从string的pos下标处起尝试匹配pattern;如果pattern结束时仍可匹配,则返回一个Match对象;如果匹配过程中pattern无法匹配,或者匹配未结束就已到达endpos,则返回None。 
pos和endpos的默认值分别为0和len(string);re.match()无法指定这两个参数,参数flags用于编译pattern时指定匹配模式。 
注意:这个方法并不是完全匹配。当pattern结束时若string还有剩余字符,仍然视为成功。想要完全匹配,可以在表达式末尾加上边界匹配符'$'。 
示例参见2.1小节。
search(string[, pos[, endpos]]) | re.search(pattern, string[, flags]): 
这个方法用于查找字符串中可以匹配成功的子串。从string的pos下标处起尝试匹配pattern,如果pattern结束时仍可匹配,则返回一个Match对象;若无法匹配,则将pos加1后重新尝试匹配;直到pos=endpos时仍无法匹配则返回None。 
pos和endpos的默认值分别为0和len(string));re.search()无法指定这两个参数,参数flags用于编译pattern时指定匹配模式。

split(string[, maxsplit]) | re.split(pattern, string[, maxsplit]): 
按照能够匹配的子串将string分割后返回列表。maxsplit用于指定最大分割次数,不指定将全部分割。 

findall(string[, pos[, endpos]]) | re.findall(pattern, string[, flags]): 
搜索string,以列表形式返回全部能匹配的子串。 


finditer(string[, pos[, endpos]]) | re.finditer(pattern, string[, flags]): 
搜索string,返回一个顺序访问每一个匹配结果(Match对象)的迭代器。 

sub(repl, string[, count]) | re.sub(pattern, repl, string[, count]): 
使用repl替换string中每一个匹配的子串后返回替换后的字符串。 
当repl是一个字符串时,可以使用\id或\g<id>、\g<name>引用分组,但不能使用编号0。 
当repl是一个方法时,这个方法应当只接受一个参数(Match对象),并返回一个字符串用于替换(返回的字符串中不能再引用分组)。 
count用于指定最多替换次数,不指定时全部替换。 

subn(repl, string[, count]) |re.sub(pattern, repl, string[, count]): 
返回 (sub(repl, string[, count]), 替换次数)。 


   
   
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
 

ngx_lua模块中正则表达式相关的api

  • weiyuefei
  • 2014年08月08日 18:19
  • 11235
在Lua模块中,通过正则表达式处理字符串的相关API,主要有: >

正则表达式入门大全

  • qq_35211818
  • 2018年01月12日 19:49
  • 13
元字符 类型 作用 \b 位置 代表着单词的开头或结尾,也就是单词的分界处。虽然通常英文的单词是由空格,标点符号或者换行来分隔的,但是\b并不...

lua 正则匹配

  • xiejunna
  • 2016年12月05日 16:52
  • 1389
在OpenResty中,同时存在两套正则表达式规范: Lua 语言的规范和Nginx的规范,即使您对 Lua 语言中的规范非常熟悉,我们仍不建议使用 Lua 中的正则表达式。一是因为 Lua 中正则表...

ngx映射到lua模块函数变量一览

  • joeyon
  • 2015年07月03日 18:48
  • 5314
ngx.arg[1]                脚本参数 ngx.var['arg_a']            取queryString的参数a #/nginx_var?a=hello,wor...

匹配http url 正则表达式

  • yangzhenzhen
  • 2017年02月20日 16:02
  • 1317
local m, err = ngx.re.match(uri, [[^(?:(http[s]?):)?//([^:/\?]+)(?::(\d+))?([^\?]*)\??(.*)]], "jo")

nginx 正则表达式匹配入门篇

  • a519640026
  • 2013年06月20日 16:38
  • 73239
1、nginx配置基础 1、正则表达式匹配 ~ 区分大小写匹配 ~* 不区分大小写匹配 !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 ^ 以什么开头的匹配 $ 以什么结尾的匹配 ...

正则表达式中\b跟\s的或运算

  • u010647316
  • 2016年12月05日 18:31
  • 626
正则表达式: \s 匹配空格; \b 匹配边界 包括空格、回车、字符串开头跟结尾(但不包括空格、回车)。 不多说上图。第一张:匹配 \s|\b 第二张:匹配 \b|\s 第三张:匹配 \s ...

非常全的JS正则表达式

  • taotao6039
  • 2013年09月02日 16:53
  • 1139
//去除左侧空格 function LTrim(str) { return str.replace(/^\s*/g,""); } //去右空格 function RTrim(str) { return...

Linux中的正则表达式

  • renwotao2009
  • 2016年03月20日 22:39
  • 3968
正则表达式是什么正则表达式是用于描述字符排列和匹配模式的一种语法规则。 它主要用于字符串的模式分割、匹配、查找及替换操作,其中最为重要作用是匹配。正则表达式与通配符正则表达式用来在文件中匹配符合条件...

python字符串和序列

  • qq_15797229
  • 2016年11月11日 19:27
  • 157
字符串涉及到的常用函数;字符串格式化;列表,元组和字符串的共同点;常用的序列函数...

正则表达式"\\s+" - 匹配任意空白字符

  • gyxinguan
  • 2017年07月07日 09:34
  • 276
非常好用的正则表达式"\\s+" - 匹配任意空白字符 详解 "\\s+" 正则表达式中\s匹配任何空白字符,包括空格、制表符、换页符等等, 等价于[ \f\n\r\t\v] \f ...

UE/US正则表达式查找搜索替换,查询的字符串未找到(UE studio/ultraEdit)/修改UE使用Perl正则引擎

UE默认使用UltraEdit正则表达式,就是UE自己改造过的正则语法,跟常用的perl兼容正则表达式语法不一致,所以即使写对了正则表达式,还会显示“查询的字符串未找到”。 这就需要修改UE的正则引...
  • mydriverc2
  • 2013年07月31日 19:20
  • 2014

C#中正则表达式的使用

  • water_lwj
  • 2013年05月28日 14:20
  • 2307
C#正则表达式语法规则详解 正则表达式通常包含字母文本(Literaltext)和元字符(metacharacter)  ...

常用的正则表达式 数字 邮箱 电话等

  • miaoshichang
  • 2016年06月17日 15:45
  • 1772
一、校验数字的表达式 1 数字:^[0-9]*$  2 n位的数字:^\d{n}$  3 至少n位的数字:^\d{n,}$  4 m-n位的数字:^\d{m,n}$  5 零和非零开头的...

C++ 11 正则表达式

  • erlang_hell
  • 2016年09月16日 10:36
  • 1417
阅读一下C++ 11正则的文档

超级详细的Java正则表达式----学习学习!

  • Happy_wu
  • 2016年06月13日 19:59
  • 4834
(我始终认为,一些东西是需要理论化的,是需要系统的学一下的,虽然可能随着经验的积累这些东西都会在实践中学会,但那需要付出时间的代价太大,不如主动系统的学一下。) Java正则表达...

Python正则表达式

  • windone0109
  • 2013年06月14日 14:08
  • 4224
1.数量词的贪婪模式与非贪婪模式 正则表达式通常用于在文本中查找匹配的字符串。Python里数量词默认是贪婪的(在少数语言里也可能是默认非贪婪),总是尝试匹配尽可能多的字符;非贪婪的则相反,总是尝试...

linux下通配符与正则表达式

  • nightelve
  • 2013年12月19日 02:39
  • 1241
网友看法: (总结精辟!)  通配符是系统level的 而正则表达式需要相关工具的支持: egrep, awk, vi, perl。  在文本过滤工具里,都是用正则表达式,比如像awk,sed等,是针...

正则匹配以xx开头以xx结尾的单词

  • qq_32623363
  • 2017年12月14日 22:35
  • 290
在字符串处理中,正则表达式是一大利器,但其对于初学者而言是存在一定的难度的。 而如何匹配以xx开头以xx结尾的单词呢?假设需要匹配的字符串为:site sea sue sweet see case ...

正则表达式(括号)、[中括号]、{大括号}的区别小结

  • u010552788
  • 2016年03月30日 21:11
  • 14037
正则表达式的() [] {}有不同的意思。 () 是为了提取匹配的字符串。表达式中有几个()就有几个相应的匹配字符串。 (\s*)表示连续空格的字符串。 []是定义匹配的字符范围。比如 [a-z...

Perl入门(四)Perl的正则表达式

  • sunshoupo211
  • 2014年06月17日 16:57
  • 6297
正则表达式是Perl的

Vim查找替换 & 正则表达式

  • u014015972
  • 2016年02月18日 22:13
  • 5087
查找替换 部分转载自:Vim查找替换及正则表达式的使用 VIM查找替换归纳总结zz 替换 :[range]s/{pattern}/{string}/[flags] :1,10...

Objective-C利用正则表达式进行搜索时正则关键字的转义

利用正则表达式进行搜索时如果不对正则关键字进行转义常常会造成搜索结果的错误,如输入?就会匹配到全部结果,就需要对搜索关键字进行转义处理:$匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 M...
  • liu1347508335
  • 2016年03月07日 17:35
  • 1996

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

  • my2010Sam
  • 2013年05月22日 15:14
  • 9284
今天学习了Python中有关正则表达式的知识。关于正则表达式的语法,不作过多解释,网上有许多学习的资料。这里主要介绍Python中常用的正则表达式处理函数。 re.match ,从字符串开头匹配,返回...

Sed 命令详解 & 正则表达式

  • gua___gua
  • 2015年10月21日 15:03
  • 4394
1.简介 sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。 sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。...

.net中的正则表达式使用高级技巧

  • pukuimin1226
  • 2014年03月18日 15:59
  • 1574
一、 前言 一、本系列文章不讲述基本的正则语法,这些可以在微软的JS帮助文档中找到,也可以Google一下 二、写系列文章的原因 1、正则很有用,而且经常要用 2、正则的一些高级用法有相当...

Python 网络爬虫 009 (编程) 通过正则表达式来获取一个网页中的所有的URL链接,并下载这些URL链接的源代码

通过 正则表达式 来获取一个网页中的所有的 URL链接,并下载这些 URL链接 的源代码使用的系统:Windows 10 64位 Python 语言版本:Python 2.7.10 V 使用的编程...
  • github_35160620
  • 2016年09月19日 14:48
  • 21216

常用正则表达式以及oc常用正则匹配方法总结

  • w6524587
  • 2017年02月21日 12:48
  • 2692
一、日常生活常用正则1 Email地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ 2 域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62...

Perl——正则表达式(四) 查找替换s///

  • abelabel
  • 2014年10月29日 17:40
  • 4972
一. 介绍 使用 s/regex/replacement/modifiers

正则表达式 linux shell 删除偶数奇数行 取得最后一个字符 s/\(^.*$\)\n^.*$/\1/g

alert(){ #Usage:alert if [ "$1" -ne 0 ] then echo "WARNING:$2 did not complete succfully." >&2...
  • yuanxiaojun1990
  • 2015年12月29日 18:09
  • 426

grep用法详解:grep与正则表达式

  • hellochenlian
  • 2014年06月24日 11:27
  • 34219
grep用法详解:grep与正则表达式 首先要记住的是: 正则表达式与通配符不一样,它们表示的含义并不相同! 正则表达式只是一种表示法,只要工具支持这种表示法,那么该工具就可以处理正则表达式的字符...

Groovy入门-字符串处理与正则表达式

  • u013803499
  • 2017年01月19日 15:51
  • 3867
字符串处理-1println ‘lxt008 said "Groovy"' println "lxt008 said 'Grails'"def str1 = 'Groovy&Grails&lxt008...

字符串处理:ABAP中的正则表达式

  • fanchacha
  • 2016年07月12日 17:28
  • 1812
正则表达式 ABAP中可以使用regex的地方 除了下面两个语句可以使用regex外: FIND REPLACE 下面主函数的参数也可以使用regex: count() ...

String详解(三):正则表达式Pattern和Matcher详解

  • jeffleo
  • 2016年08月12日 23:19
  • 4514
(一)利用String的split()对字符串进行切割 String text = "Hello, my name is liujianfeng"; System.out.println(Arrays...

正则表达式中的"^"这个符号的一些思考

  • sufubo
  • 2016年03月27日 11:03
  • 17883
在学习正则表达式的时候,一些常见的规则我们都不难理解,但是有 一个正则表达式中的特殊字符让我一直有点搞不懂,就是”^”这个字符,文档上给出了解释是匹配输入的开始,如果多行标示被设置成了true,同时会...

正则表达式之?、(?:pattern)、(?!pattern)、(?=pattern)理解及应用

今天朋友问我一个问题,是这样子的,通过正则表达式匹配html标签input包含hidden的字符串,具体如下: "" 匹配下来,应该输出: "" 读了这个问题之后,觉得挺简单的,直...
  • sunhuaer123
  • 2013年11月15日 19:09
  • 59548

正则表达式实现与或非关系

  • lyd135364
  • 2016年11月14日 11:34
  • 5434
写一个正则表达式,要求匹配字符串同时满足条件A和条件B 我们可以先写两个子表达式PatternA和PatternB,分别校验条件A和条件B。然后结合成一个新的表达式 (?=PatternA)P...

C++标准库中正则表达式简介

  • qianghaohao
  • 2016年02月24日 03:22
  • 3478
C++标准库中正则表达式的使用                                                                                    ...

正则表达式——入门

  • sq_zhuyi
  • 2013年10月18日 10:29
  • 18469
写程序7年,从我身边接触到的人来看,相当多的程序员把正则表达式看得很高深,甚至觉得是一道不可跨越的鸿沟。有此想法的原因很简单:只是因为你没有花上几个小时的时间去学习一下正则的基础。对,只需要几个小时,...

正则表达式 "^+$"等符号意义

  • github_36362235
  • 2016年11月23日 11:31
  • 1533
1、字符/: 意义:对于字符,通常表示按字面意义,指出接着的字符为特殊字符,不作解释. 例如:/b/匹配字符’b’,通过在b 前面加一个反斜杠,也就是/b/,则该字符变成特殊字符,表示匹配一个单词的分...

使用filter过滤xss攻击

  • kky2010_110
  • 2015年05月15日 13:30
  • 4069
使用filter过滤xss攻击 博客分类: 技术人生 filter实现脚注入攻击过滤源码   http://winnie825.iteye.com/blog/1170833 ...

Java基础视频教程第25天_正则表达式

  • yc081216
  • 2015年03月20日 13:15
  • 770
一、正则表达式——特点 正则表达式:符合一定规则的表达式。 作用:用于专门操作字符串。 String 类中对正则表达式应用的其中一个方法: boolean matches(String ...

《精通正则表达式》笔记

  • key330
  • 2016年08月18日 10:06
  • 947
正则表达式 (cleregular expression)     正则表达式是高效,强大,便捷的文本处理工具,本身,再加上如同一门袖珍编程语言的通用模式表示法(general pattern no...

正则表达式大全(深度解析)

  • zhoushuangjian511
  • 2016年05月05日 21:45
  • 751
说明:         这是一个 Swift 版的正则表达式的使用和解读。一共有三种使用的方法。和一些常用的正则表达式。 第一:首先看一个枚举 简介:它是一个写在oc里面的一个枚举,但是它使用在...

正则表达式的几种类型

  • u013797038
  • 2015年10月28日 19:16
  • 707
【匹配】matchs方法 package regex; import java.util.regex.Matcher; import java.util.regex.Pattern; publ...

Qt——正则表达式

  • u011430225
  • 2017年04月14日 14:59
  • 2505
源地址:http://www.cnblogs.com/hellovenus/p/4984751.html 在项目中经常会遇到对字符串进行操作的情况,我们可以直接使用QStri...

常用正则表达式—邮箱(Email)

  • make164492212
  • 2016年06月14日 17:48
  • 95563
常用正则表达式—邮箱(Email)本文针对有一点正则基础的同学,如果你对正则一无所知,请移步“正则表达式30分钟入门教程”学习。要验证一个字符串是否为邮箱的话,首先要了解邮箱账号的格式。我尝试过在网上...

轻松理解正则表达式

  • yanquan345
  • 2014年02月22日 18:04
  • 1676
无论是Java、Shell、Python、Perl都用正则表达式,说明它肯定是个好东西,那它到底是一个什么样东东呢?本文将通极易理解的语言对其进行描述,让你彻底理解正则表达式。...

正则表达式与SQL笔记

  • wo_ha
  • 2016年07月05日 08:16
  • 1001
一:正则表达式 (regex) 正则表达式描述了匹配的模式。 1.常用匹配模式: \ 匹配反斜线 \d 匹配数字 \D 匹配非数字 ...

算法及正则表达式

  • u012484779
  • 2016年06月08日 13:50
  • 571
#include int main(int argc,char *argv[]) { double a=-19.3,b=9.7; double c=qAbs(a); /...

什么是正则表达式?浅谈 c++中的正则表达式

  • jiadabin
  • 2015年01月14日 18:25
  • 601
截取作者c++部分 原文地址 什么是正则表达式? 正则表达式(Regular Expression)就是用某种模式去匹配一类字符串的公式。如你要在一篇文章中查找第一个字是“李”最后一个字是...

Python3 如何优雅地使用正则表达式(详解一)

  • goodboy5201314
  • 2015年01月12日 14:23
  • 3120
注:本文翻译自 Regular Expression HOWTO,小甲鱼童鞋对此做了一些注释和修改。 正则表达式介绍 正则表达式(Regular expressions 也称为 R...

C++正则表达式的使用

  • makenothing
  • 2015年12月25日 19:56
  • 12154
C++里面使用正则表达式一般有三种:C regex,C ++regex,boost regex C regex 的速度是最快的 C++ regex 速度一般 boost regex 速...

Java与正则表达式

  • hanqing280441589
  • 2016年01月03日 07:59
  • 5186
Java与正则表达式标签: Java基础正则 正如正则的名字所显示的是描述了一个规则, 通过这个规则去匹配字符串. 学习正则就是学习正则表达式的语法规则 正则语法普通字符字母, 数字, 汉字, 下...

正则表达式边界符中的 ^, $, \A, \Z, \z

  • justheretobe
  • 2016年11月13日 21:16
  • 1676
转载自 http://blog.csdn.net/ggicci/article/details/8015087 Regex : 本文介绍正则表达式中边界符 ^ 和 $ 以及 \A 和 \Z...

sscanf与sprintf用法总结

  • hhq420684
  • hhq420684
  • 2014年01月18日 20:43
  • 906
本人举得这篇文章写的很详细,很好因此转载和大家分享一下 分类: C/C++2013-10-19 11:01 119人阅读 评论(0) 收藏 举报 sscanfsprintf 目录(?)[...

Excel自定义函数使用正则表达式详解

  • caolaosanahnu
  • caolaosanahnu
  • 2015年01月29日 10:45
  • 3111
http://www.111cn.net/office/excel/52912.htm 函数ExStr功能,根据正规表达式,替换或判断或提取字符串 '参数 str 源字符串 '参数 Partte...

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

  • yuhk231
  • 2016年12月09日 20:26
  • 881
《正则表达式必知必会》Ben Forta著---学习笔记

详解JS正则replace的使用方法

  • honglei_zh
  • 2016年09月20日 10:34
  • 1062
在讲replace的高级应用之前,我们先简单梳理一下JS正则中的几个重要的知识点,以帮助你对基础知识的回顾,然后再讲解JS正则表达式在replace中的使用,以及常见的几个经典案例。  一、正则表...

Jmeter中正则表达式提取器使用详解

  • wanglha
  • 2016年03月02日 17:15
  • 37049
转载地址:http://blog.csdn.net/quiet_girl/article/details/50724313 在使用Jmeter过程中,会经常使用到正则表达式提...

正则表达式大全

  • sheldon761642718
  • 2016年08月12日 11:15
  • 442
正则表达式是一种通用的标准,大部分计算机语言都支持正则表达式,包括as3,这里转摘出了一些常用的正则表达式语句,大家用到的时候就不用自己写了 ^\d+$  //匹配非负整数(正整数 + 0) ...

基本正则表达式,扩展的正则表达式详解

  • Field_Yang
  • 2016年03月16日 14:48
  • 3487
 1).简单的grep grep [option] PATTERM [file...]                 #grep 'root' /etc/passwd   ...

【转】正则表达式匹配行的开始'^'和结尾'$'

  • evilcry2012
  • evilcry2012
  • 2016年03月29日 19:29
  • 8125
【转】正则表达式匹配行的开始'^'和结尾'$'   2013-04-02 20:21:25|  分类: 正则表达式|举报|字号 订阅      ...

浅谈正则表达式背后的原理

  • mybc724
  • 2015年05月24日 21:36
  • 2037
搞编程的都知道正则表达式是什么东西,这里就不多啰嗦了,需要强调的是,这篇文章并不是教你怎么去使用用正则表达式,正则表达式的语法并不是本文的重点,这篇文章的目的就是剥开正则表达式的语法糖,来看一看正则表...

正则表达式高级用法(分组与捕获)

  • okyoung188
  • 2016年11月30日 14:03
  • 9255
转自:http://www.cnblogs.com/kevin-yuan/archive/2012/11/11/2765340.html 正则表达式高级用法(分组与捕获) 分组...

Java学习系列(二十四)Java正则表达式详解

  • JAVE_LOVER
  • 2015年05月05日 17:22
  • 6401
正则表达式可以说是用来处理字符串的一把利器,它是一个专门匹配n个字符串的字符串模板,本质是查找和替换。在实例演示之前先了解一下Pattern、Matcher这两个工具类,Pattern:编译好的带匹配...

正则表达式的写法(一)

  • sinat_31063657
  • 2016年08月10日 15:12
  • 4473
文章来自:生活就是生活 正则表达式是一种通用的标准,大部分计算机语言都支持正则表达式,包括as3,这里转摘出了一些常用的正则表达式语句,大家用到的时候就不用自己写了 ^\d+$  //匹配非负整数...

最全正则表达式汇总

  • fengltxx
  • 2016年01月05日 09:52
  • 1226
最全正则表达式汇总 ONE Goal ,ONE Passion ! 正则表达式在应用中使用的数量不是特别多,可是一旦使用时就要各种百度了.下面汇总了一些常用的正在表达式.第1种类: 校验数字的表达...

正则表达式快速入门(python示例)

  • ali197294332
  • 2016年03月15日 22:19
  • 1100
正则表达式的作用我就不赘述了,首先讲解一下单个字符的匹配。 1、‘’.“(点):匹配除了(\n)之外的所有字符。 首先import re,以下的示例都默认已经导入了re包,不再另行说明。 string...

NotePad++ 正则表达式替换 高级用法

  • gdp12315
  • 2016年06月21日 22:26
  • 10359
在我们处理文件时,很多时候会用到查找与替换。当我们想将文件中某一部分替换替换文件中另一部分时,怎么办呢? 下面正则表达式 给我提供方法。正则表达式,提供复杂 并且弹性的查找与替换注意: 不支持多行表达...

正则表达式的经典案例

  • qq_33665647
  • 2016年08月15日 17:49
  • 399
对四个ip地址进行排序。 public static void regex_test() { String ip="127.0.0.0 3.12.1.10 128.13.31.0 125...

汉字的正则表达式

  • dazhi_100
  • 2013年09月16日 20:13
  • 8768
转自:http://wanghaifei518020.blog.163.com/blog/static/23824582012113105257319/ 1. 只有字母、数字和下划线且不能以下划线开...

scanf正则表达式

  • YUAN1125
  • 2016年07月03日 11:03
  • 870
怎样从中取出tom? char * url=""; char uri[10]={0}; sscanf(url,"%*[^:]:%[^@]",uri); 转贴: 在softmse (Jake)...

正则表达式匹配,替换,查找,切割的方法

  • Magic__Stone
  • 2016年09月18日 11:15
  • 1090
正则表达式的查找;主要是用到String类中的split(): String str; str.split();方法中传入按照什么规则截取,返回一个String数组 常见的截取规则:...

正则表达式的逻辑关系

  • qq_28602957
  • 2016年10月25日 20:08
  • 3194
在构造和理解正则表达式的过程中,通常都是由简到繁的过程,如果理解正则表达式内部间的关系,就可以把比较复杂的正则表达式拆分成几个小块来理解,从而帮助消化。正则表达式的逻辑关系正则表达式之间的逻辑关系可以...

JAVA replaceAll 正则表达式(持续更新)

  • s445320
  • 2016年02月24日 11:56
  • 3465
JAVA replaceAll 正则表达式(持续更新)Java String类自带了replaceAll 函数,支持正则表达式。 replaceAll 匹配数字:[0-9] String tmp ...

Qt中正则表达式的使用

  • qq_19528953
  • 2016年09月18日 20:03
  • 2084
今天的工作中,遇到一个需求,就是界面的一个对话框中需要填入需求的字符串,因为如果填的字符串是随意的内容的话,下载到下位机上可能会使得下位机崩溃。因此我研究了一下Qt中的QLineEdit控件中使用正则...

Java正则表达式的基本用法

  • zhangzeyuaaa
  • zhangzeyuaaa
  • 2016年01月12日 15:28
  • 3381
Java正则表达式主要有两个类:Pattern和Matcher。 Pattern表示正则表达式的编译形式。 Matcher表示执行匹配操作的引擎。 下面通过几个例子展示两个类的使用方法。 ...

C++正则表达式

  • dc11223344
  • 2014年07月27日 21:29
  • 833
环境:win732位旗舰版、VS2010旗舰版

常用正则表达式规则例子整理

  • zeb_perfect
  • 2016年09月22日 17:31
  • 885
Email地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ 域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9]...

正则表达式-问号的四种用法

  • jiaoyongqing134
  • 2016年10月01日 19:17
  • 2109
正则表达式-问号的四种用法 原文符号 因为?在正则表达式中有特殊的含义,所以如果想匹配?本身,则需要转义,\? 有无量词 问号可以表示重复前面内容的0次或一次,也就是要么不出现,要么出现一次。 非贪婪...

详解正则表达式中的\B和\b

  • qq_33248299
  • 2016年12月10日 17:39
  • 6971
\b \B 正则表达式 JavaSE

Perl正则表达式小结~张润萌

  • zrm2012
  • 2016年07月13日 17:53
  • 1299
perl正则表达式 一、简介 二、匹配操作符 三、模式中的特殊字符 1、字符 2、字符 []和[^] 3、字符 +,*和? 4、转义字符 5、匹配任意字母或数字 6、锚模式 7、模式中的变量替换 8、...

Android 身份证正则表达式

  • qq_22704297
  • 2015年04月08日 21:01
  • 1821
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor...

正则表达式小结

  • crazy1235
  • crazy1235
  • 2016年01月17日 17:48
  • 4451
转载请注明出处http://blog.csdn.net/crazy1235/article/details/50532754 基本用法 Pattern类常用的方法 Matcher类常用的方法 语法介绍...

使用正则表达式验证一年的12个月份

  • ljsososo
  • 2013年11月23日 12:15
  • 7311
实例007 使用正则表达式验证一年的12个月份 一年有365天,分为12个月,在程序中填写月份信息时,可以使用正则表达式判断输入的月份信息是否正确,如果用户输入的信息正确,例如,在月...

正则表达式参考大全

  • hebbely
  • 2016年06月18日 14:09
  • 5608
正则表达式参考大全 1、正则表达式参考 ^\d+$  //匹配非负整数(正整数 + 0)   //匹配整数 ^\d+(\.\d+)?$  //匹配非负浮点数(正浮点数 + 0) ^(([0-9]+\...

正则表达式 /i, /is, /s, /isU等 都是些什么东西

  • bluestarf
  • 2013年09月05日 12:31
  • 981
PHP正则表达式 /i, /is, /s, /isU等 都是些什么东西呢? i 匹配大小写 s 模式中的圆点元字符(.)匹配所有的字符,包括换行符 x 模式中的空白字符除了被转义的或...

PHP 正则表达式后面接的/isU, /is, /s含义

  • zhangfeng1133
  • 2016年04月25日 16:54
  • 204
在线测试 tool.oschina.net/regex/ i 匹配大小写 s 模式中的圆点元字符(.)匹配所有的字符,包括换行符 x 模式中的空白字符除了被转义...

正则表达式的作用

  • cui130
  • 2014年07月11日 10:55
  • 1574
提供更强大的字符串处理能力,测试字符串内的模式,例如,可以测试输入字符串,以查看字符串内是否出现电话号码模式或身份证号码模式。即数据验证替换文本可以使用正则表达式来识别文档中的特定文本,完全删除该文本...
没有更多内容了, 返回首页

轻松学习正则表达式

  • wangtongxue123456
  • 2017年04月01日 09:29
  • 2242
转载自:http://www.cnblogs.com/sxwgf/archive/2011/11/17/2252076.html 也许你是初学者,那以防万一,我先来讲讲什么是正则表达式吧: ...

正则表达式常见例题

  • wenwen1538
  • 2014年11月09日 15:23
  • 2287
常见例题 例1:北美地区的电话号     编码方案:电话号码有一个3位数的区号和一位7位数的号码组成(这个7位数有分成  一个3位的局号和一个4位的路号,局号和路号之间使用连字符分隔) 每位电话号...

vim中使用正则表达式

  • whaoXYSH
  • 2014年04月28日 16:40
  • 2903
一、使用正则表达式的命令 使用正则表达式的命令最常见的就是 / (搜索)命令。其格式如下: /正则表达式 另一个很有用的命令就是 :s(替换)命令,将第一个//之间的正则表达式替换成...

C语言正则表达式使用详解

  • jiayichendddd
  • 2015年02月01日 21:25
  • 8557
标准的C和C++都不支持正则表达式,但有一些函数库可以辅助C/C++程序员完成这一功能,其中最著名的当数Philip Hazel的Perl-Compatible Regular Expression库...

vb正则表达式

  • wkj001
  • 2016年12月08日 16:46
  • 3155
如果原来没有使用过正则表达式,那么可能对这个术语和概念会不太熟悉。不过,它们并不是您想象的那么新奇。 请回想一下在硬盘上是如何查找文件的。您肯定会使用 ? 和 * 字符来帮助查找您正寻找的文件。...

正则表达式匹配非空非中文

  • csmzl
  • 2016年12月30日 11:07
  • 3973
正则表达式验证非空非中文(包含繁体中文)表达式如下:匹配中文字符的正则表达式: [\u4e00-\u9fa5] 匹配双字节字符(包含汉字): [^\x00-\xff]实例: ...

如何用正则表达式匹配中文

  • Waydrow
  • 2016年04月02日 15:33
  • 14761
前几天因为在做学校教务处的爬虫,用php抓取的成绩和课程表竟然返回的是html格式的数据,也是很醉。没办法,干脆用正则匹配吧。因为之前并没有学过正则表达式,只好恶补了一下。在匹配的过程中遇到了一些问题...

正则表达式基础和使用及常用表达式

  • android_cmos
  • 2016年04月03日 11:25
  • 1209
何为正则表达式?正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。 给定一个正则表达式和另一个字符串,我们...

提取日志信息之正则表达式

  • xuewuzhijing10
  • 2015年12月14日 09:47
  • 1933
服务的链接字符换出错,又没有做日志监控,导致周五、周六、周日的数据更新全部出错,周日的发现了,这个时候错误日志已经达到1.5w条了,当时就崩溃了。。。。 关键是的是,还让其他服务也崩溃了(其他服务也...

快速掌握正则表达式,掌握常用的就ok

  • eyishion
  • 2016年04月06日 16:23
  • 1121
正则表达式其实只需要会用一些常用的的字符匹配规则,就能够写出大多数的字符匹配规则,下面就直接介绍一下常用正则表达式的匹配: .--匹配任意一个字符 X*--表示字符X出现了0次或者多次 X+--表示字...

你可能感兴趣的:(学习经历)