正则

js 正则 match

你说的曾经没有我的故事 提交于 2020-02-20 11:54:20
1. 全局匹配    全局匹配时,数组里的数据是匹配到的所有符合正则表达式的字符串。 2.非全局匹配    非全局匹配时,数据里的数据则是 第一个匹配的值 以及正则表达式的 子分组匹配到的值【以第一个值为输入值】 , 【该数组的第 0 个元素存放的是匹配文本,而其余的元素存放的是与正则表达式的子表达式匹配的文本】 再附加上三个属性:    groups :一个捕获组数组或者 undefined(如果没有定义命名捕获组)。    index :匹配结果的开始位置。    input :进行匹配的原字符串。 例子: 1 2 3 4 5 6 7 8 9 10 var patt = /\(([a-z]*([\d]*)[a-z]*)\)/; var pattg = /\(([a-z]*([\d]*)[a-z]*)\)/g; var testStr = '(aaaaa11111(bbbbbb2222222bbaa)bbb(sss333sss)asdbas123bd)' ; var result = testStr.match(patt); var resultg = testStr.match(pattg); console.log(result);   //=> ["(bbbbbb2222222bbaa)", "bbbbbb2222222bbaa", "2222222", index: 11

Python正则表达式匹配反斜杠

时间秒杀一切 提交于 2020-02-20 03:13:13
在学习Python正则式的过程中,有一个问题一直困扰我,如何去匹配一个反斜杠(即“\”)? 一、引入 在学习了Python特殊字符和原始字符串之后,我觉得答案应该是这样的: 1)普通字符串:’\’ 2)原始字符串:r’’ 但事实上在提取诸如“3\8”反斜杠之前的数字时,我屡次碰壁,始终得不到结果。最终发现自己理解错了,原来原始字符串和“正则转义”没有一点关系;下面详细谈一谈。 二、字符串转义 反斜杠,在Python中比较特殊,就是它可以用来构成一些特殊字符,比如“\n”表示换行,“\t”表示制表符。下面是使用“\n”的一行代码: print (‘Hello\World\nPython’ ) 结果为: “Hello\World Python“ 可以看到其中的“\n”已转义为换行符,而“\W”没有发生转义,原因是“\W”在“字符串转义”中并不对应着特殊字符,没有特殊含义。 如果现在要求变了,要求不对“\n”转义为换行,而是原封不动输出为“Hello\World\nPython”,该怎么办呢? 1)可以这样写“Hello\World\nPython”,这样输出的时候,“字符串转义”会把“\”转义为“\”; 2)也可使用另一种方法:原始字符串;原始字符串(即r’…’):字符串中所有字符都直接按照字面意思来使用,不转义特殊字符。 下面是使用原始字符串的代码: print r’Hello

php 正则

牧云@^-^@ 提交于 2020-02-18 08:15:57
行定位符 $ 表示行结尾, ^ 表示行开始 单词定界符 \ b an \ b 表示把an作为一个单词来在一段字符串中匹配; /B an /B 大写的B是 相反的,不能作为一个单词来匹配; 选择字符 [] 与 | 的区别:前者只能匹配单个字符,后者可以是任意长度。Aa|aA 表示Aa或者aA; [] 一般结合 - 使用, [ a-d ] 表示a或b或c或d 排除字符 ^ 一般放在 [] 中使用。如 [ ^1-5 ] 表示该字符不是1到5之间的数字。 限定符 (?*+{n,m}) 限定符主要是用来限定每个字符串出现的次数。如 ( D +) 表示一个或多个D 限定字符 含义 ? 零次或一次 * 零次或多次 + 一次或多次 {n} n次 {n,} 至少n次 {n,m} n到m次 点号操作符 . 匹配任意一个字符(不包含换行符) 表达式中的反斜杠 \ 有多重意义,如转义、指定预定义的字符集、定义断言、显示不打印的字符。    转义: 是将一些特殊字符转为普通字符。而这些常用特殊字符有”.”,”?”、”\”等。   指定预定义的字符集: 字符 含义 \d 任意一个十进制数字[0-9] \D 任意一个非十进制数字 \s 任意一个空白字符(空格、换行符、换页符、回车符、字表符) \S 任意一个非空白字符 \w 任意一个单词字符 \W 任意个非单词字符      显示不打印的字符: 字符 含义 \a

利用正则过滤各种标签,空格,换行符的代码

故事扮演 提交于 2020-02-16 09:51:24
收集php利用正则过滤各种标签,空格,换行符的代码: 查看代码 打印 01 $str =preg_replace( "/\s+/" , " " , $str ); //过滤多余回车 02 $str =preg_replace( "/<[ ]+/si" , "<" , $str ); //过滤<__("<"号后面带空格) 03 $str =preg_replace( "/<\!–.*?–>/si" , "" , $str ); //注释 04 $str =preg_replace( "/<(\!.*?)>/si" , "" , $str ); //过滤DOCTYPE 05 $str =preg_replace( "/<(\/?html.*?)>/si" , "" , $str ); //过滤html标签 06 $str =preg_replace( "/<(\/?head.*?)>/si" , "" , $str ); //过滤head标签 07 $str =preg_replace( "/<(\/?meta.*?)>/si" , "" , $str ); //过滤meta标签 08 $str =preg_replace( "/<(\/?body.*?)>/si" , "" , $str ); //过滤body标签 09 $str =preg_replace( "/<(\/?link

正则式表达与文件格式化处理

对着背影说爱祢 提交于 2020-02-15 08:50:36
正则表达式与文件格式处理 1.什么是正则式表达 2.grep的一些高级参数 2.1.基础正则式表达练习 3.sed工具 4.awk好用的数据处理工具 1.什么是正则式表达 正则式表达就是处理字符的方法,是以行为单位来进行字符串的处理行为。对于管理员来说,正则式表达是不得不学的好东西。这里需要记住的是,正则式表达和通配符没有任何的关系。 2.grep的一些高级参数 2.1.基础正则式表达练习 首先在鸟哥的网站上进行数据的下载。 zhangsan@Aliyun:~$ wget http://linux.vbird.org/linux_basic/0330regularex/regular_express.txt zhangsan@Aliyun:~$ vim regular_express.txt 1 "Open Source" is a good mechanism to develop programs. 2 apple is my favorite food. 3 Football game is not use feet only. 4 this dress doesn 't fit me. 5 However, this dress is about $ 3183 dollars.^M 6 GNU is free air not free beer.^M 7 Her hair

php 正则匹配省市区

£可爱£侵袭症+ 提交于 2020-02-14 23:21:46
匹配指定前后内容中的值 如匹配/xxx-abc中的abc preg_match('/\/xxx-([^<]*)/i', $route, $matches); echo $matches[1]; 去除字符串中换行 // 1)使用转义字符函数 <?php $str = str_replace(array("/r/n", "/r", "/n"), '', $str); ?> // 2)使用正则表达式替换 <?php $str = preg_replace('//s*/', '', $str); ?> // 3)使用PHP系统常量【推荐】 $str = str_replace(PHP_EOL, '', $str); 省市区正则匹配 preg_match('/(.*?(省|自治区|北京市|天津市))+(.*?(市|自治州|地区|区划|县))+(.*?(区|县|镇|乡|街道))/', $address, $matches);    获得省市区数组 $address = ‘广东省深圳市南山区’; preg_match('/(.*?(省|自治区|北京市|天津市))/', $address, $matches); if (count($matches) > 1) { $province = $matches[count($matches) - 2]; $address = str_replace(

Python3正则去掉HTML标签

China☆狼群 提交于 2020-02-14 18:04:11
Python3正则去掉HTML标签 1.引用一段代码 import re html = '<pre class="line mt-10 q-content" accuse="qContent">\ 目的是通过第一次soup.find按class粗略筛选并通过soup.find_all筛选出列表中的a标签并读入href和title属性<br><br>\ 但是由于目标链接可能有图片链接,而这是我不想要的.请问如何去除?<br></pre>' reg = re.compile('<[^>]*>') print(reg.sub('',html)) 2.重点 reg = re.compile('<[^>]*>') print(reg.sub('',html)) 3.实例 开始 import requests import re from bs4 import BeautifulSoup retxt=open('test.log','r') for x in range(250,999): #rurl=rurl.strip('\n') url='http://ananas.mooc1.mti100.com/tologin?fid={0}'.format(x) #print(url) try: response=requests.get(url,timeout=1).text #print

正则配合grep使用简介

醉酒当歌 提交于 2020-02-10 16:02:31
grep grep: Global search REgular expression and Print out the line 作用:文本搜索工具,根据用户指定的“模式”对目标文 本逐行进行匹配检查;打印匹配到的行 模式:由正则表达式字符及文本字符所编写的过滤条件 grep [OPTIONS] PATTERN [FILE...] grep root /etc/passwd grep "$USER" /etc/passwd grep '$USER' /etc/passwd grep `whoami` /etc/passwd grep命令选项 --color=auto: 对匹配到的文本着色显示 -v: 显示不被pattern匹配到的行 -i: 忽略字符大小写 -n:显示匹配的行号 # grep -n root /etc/passwd 1:root:x:0:0:root:/root:/bin/bash 10:operator:x:11:0:operator:/root:/sbin/nologin -c: 统计匹配的行数 # grep -c root /etc/passwd 2 -o: 仅显示匹配到的字符串 grep -o root /etc/passwd root root root root -q: 静默模式,不输出任何信息 主要在脚本中使用,之查看匹配结果是否成功

正则中需要转义的特殊字符小结

↘锁芯ラ 提交于 2020-02-08 05:27:50
特别字符 说明 $ 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 ‘\n' 或 ‘\r'。要匹配 $ 字符本身,请使用 \$。 ( ) 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 \( 和 \)。 * 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。 + 匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+。 . 匹配除换行符 \n之外的任何单字符。要匹配 .,请使用 \。 [ ] 标记一个中括号表达式的开始。要匹配 [,请使用 \[。 ? 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 \?。 \ 将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如, ‘n' 匹配字符 ‘n'。'\n' 匹配换行符。序列 ‘\\' 匹配 “\”,而 ‘\(' 则匹配 “(”。 ^ 匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配 ^ 字符本身,请使用 \^。 { } 标记限定符表达式的开始。要匹配 {,请使用 \{。 | 指明两项之间的一个选择。要匹配 |,请使用 \|。 所以是 复制代码 代码如下: * . ? + $ ^ [ ] ( ) { } | \ /

正则中需要转义的特殊字符

不问归期 提交于 2020-02-08 05:27:02
正则表达式中有一些特殊的字符需要转义,收集整理如下: 特殊字符 说明 $ 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 ‘\n' 或 ‘\r'。要匹配 $ 字符本身,请使用 \$。 ( ) 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 \( 和 \)。 * 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。 + 匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+。 . 匹配除换行符 \n之外的任何单字符。要匹配 .,请使用 \. [ ] 标记一个中括号表达式的开始。要匹配 [,请使用 \[。 ? 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 \?。 \ 将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如, ‘n' 匹配字符‘n'。'\n' 匹配换行符。序列 ‘\\' 匹配 “\”,而 ‘\(' 则匹配 “(”。 ^ 匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配 ^ 字符本身,请使用 \^。 { } 标记限定符表达式的开始。要匹配 {,请使用 \{。 | 指明两项之间的一个选择。要匹配 |,请使用 \|。 来源: https://www.cnblogs.com/liu