正则

正则零宽断言 Regex.Replace(string,string,string)

假装没事ソ 提交于 2019-11-26 17:26:40
一直对Regex.Replace(string,string,string)这个没仔细了解 今天终于明白了 Regex.Replace(string input,string pattern,string replacement) (1) input: http://www.xxx.com/news/5/ pattern:.*?xxx\.com/news/\d+/ replacement:news.aspx 结果news.aspx 因为input按照pattern匹配的结果为 http://www.xxx.com/news/5/ ,然后我们用news.aspx替换 最终结果就是news.aspx (2) input: abcedft http://www.xxx.com/news/5/6/7YYYYY pattern: http://(.*/?)\.*xxx.com/news/(\d+/)*(\d+)/ * replacement: /news.aspx 结果为 abcedft/news.aspxYYYYY 因为input 中匹配的为 http://www.xxx.com/news/5/6/7 (3) input:http://www.xxx.com/news/5/ pattern:http://(.*?)\.xxx.com/news/(\d+)/ replacement:news

正则非贪婪匹配

余生颓废 提交于 2019-11-26 17:26:14
string str = "注册商: XIAMEN ENAME NETWORK TECHNOLOGY CORPORATION LIMITED DBA ENAME CORP," + "域名服务器: whois.ename.com," + "相关网站: http://www.ename.com," + "DNS 服务器: NS1.ENAME.NET," + "DNS 服务器: NS2.ENAME.NET," + "DNS 服务器: NS3.ENAME.NET," + "DNS 服务器: NS4.ENAME.NET," + "DNS 服务器: NS5.ENAME.NET," + "DNS 服务器: NS6.ENAME.NET," + "状态: clientDeleteProhibited," + "状态: clientTransferProhibited," + "更新时间: 10-mar-2011," + "创建时间: 07-mar-2007," + "过期时间: 07-mar-2016"; Regex reg = new Regex(@"(?is)(?<=注册商:)([^,]*?)|(?<=更新时间:)([^,]*?)|(?<=创建时间:)([^,]*?)|(?<=过期时间:)([^,]*?)"); MatchCollection match = reg.Matches(str);

正则非贪婪匹配

给你一囗甜甜゛ 提交于 2019-11-26 17:26:12
string str = "注册商: XIAMEN ENAME NETWORK TECHNOLOGY CORPORATION LIMITED DBA ENAME CORP," + "域名服务器: whois.ename.com," + "相关网站: http://www.ename.com," + "DNS 服务器: NS1.ENAME.NET," + "DNS 服务器: NS2.ENAME.NET," + "DNS 服务器: NS3.ENAME.NET," + "DNS 服务器: NS4.ENAME.NET," + "DNS 服务器: NS5.ENAME.NET," + "DNS 服务器: NS6.ENAME.NET," + "状态: clientDeleteProhibited," + "状态: clientTransferProhibited," + "更新时间: 10-mar-2011," + "创建时间: 07-mar-2007," + "过期时间: 07-mar-2016"; Regex reg = new Regex(@"(?is)(?<=注册商:)([^,]*?)|(?<=更新时间:)([^,]*?)|(?<=创建时间:)([^,]*?)|(?<=过期时间:)([^,]*?)"); MatchCollection match = reg.Matches(str);

正则非贪婪匹配

泪湿孤枕 提交于 2019-11-26 17:26:11
string str = "注册商: XIAMEN ENAME NETWORK TECHNOLOGY CORPORATION LIMITED DBA ENAME CORP," + "域名服务器: whois.ename.com," + "相关网站: http://www.ename.com," + "DNS 服务器: NS1.ENAME.NET," + "DNS 服务器: NS2.ENAME.NET," + "DNS 服务器: NS3.ENAME.NET," + "DNS 服务器: NS4.ENAME.NET," + "DNS 服务器: NS5.ENAME.NET," + "DNS 服务器: NS6.ENAME.NET," + "状态: clientDeleteProhibited," + "状态: clientTransferProhibited," + "更新时间: 10-mar-2011," + "创建时间: 07-mar-2007," + "过期时间: 07-mar-2016"; Regex reg = new Regex(@"(?is)(?<=注册商:)([^,]*?)|(?<=更新时间:)([^,]*?)|(?<=创建时间:)([^,]*?)|(?<=过期时间:)([^,]*?)"); MatchCollection match = reg.Matches(str);

Java 测试:从字符串里面提取数字

℡╲_俬逩灬. 提交于 2019-11-26 17:22:31
|--需求说明 |--实现思路 1、将字符串拆解成字符数组 2、遍历这个数组,使用正则判断每个字符是不是数字 |--代码内容 1 /** 2 * @auther::9527 3 * @Description: 提取字符中的数字 4 * @program: 多线程 5 * @create: 2019-08-09 18:08 6 */ 7 public class Second { 8 public static void main(String[] args) { 9 //获得字符串 10 String before = "iu7i8hy4jnb2"; 11 //拆分字符串 12 String[] temp = before.split(""); 13 StringBuffer after = new StringBuffer(""); 14 //遍历数组 15 for (int i = 0; i < temp.length; i++) { 16 // 使用正则,判断每一个字符是否是数字 17 if (temp[i].matches("[0-9]")){ 18 after.append(temp[i]); 19 } 20 } 21 System.out.println(after.toString()); 22 } 23 } 使用正则的方法从字符串里面提取数字 |--运行结果 来源:

Java常用的正则表达式语法

耗尽温柔 提交于 2019-11-26 17:15:32
^ 是判断内容是否以will开头 select 'william' regexp '^will'; $ 是判断内容是否以iam结尾 select 'william' regexp 'iam$'; + 是判断内容是否有il出现【一次或多次匹配前面的字符或子表达式。例:"zo+"与"zo"和"zoo"匹配,但与"z"不匹配。+ 等效于 {1,}】 select 'william' regexp 'il+'; ? 是判断内容是否有am【零次或一次匹配前面的字符或子表达式。例如,"do(es)?"匹配"do"或"does"中的"do"。? 等效于 {0,1}】 select 'william' regexp 'am?'; * 【零次或多次匹配前面的字符或子表达式。例如,zo* 匹配"z"和"zoo"。* 等效于 {0,}】 来源: https://blog.csdn.net/AdminGuan/article/details/95960315

正则爬取京东商品信息并打包成.exe可执行程序。

断了今生、忘了曾经 提交于 2019-11-26 16:39:32
本文爬取内容,输入要搜索的关键字可自动爬取京东网站上相关商品的店铺名称,商品名称,价格,爬取100页(共100页) 代码如下; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 注:如果你对python感兴趣,我这有个学习Python基地,里面有很多学习资料,感兴趣的 + Q群: 895817687 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - import requests import re # 请求头 headers = { 'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36' } def get_all ( url , key ) :

正则爬取京东商品信息并打包成.exe可执行程序。

让人想犯罪 __ 提交于 2019-11-26 15:52:36
---恢复内容开始--- 本文爬取内容,输入要搜索的关键字可自动爬取京东网站上相关商品的店铺名称,商品名称,价格,爬取100页(共100页) 代码如下; import requests import re # 请求头 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36' } def get_all(url,key): for page in range(1,200,2): params = { 'keyword':key, 'enc':'utf-8', 'page':page } num = int((int(page)+1)/2) try: response = requests.get(url=url,params=params,headers=headers) # 转码 content = response.text.encode(response.encoding).decode(response.apparent_encoding) data_all = re.findall('<div class="p-price">.*?<i>(.*?)</i>.*

常用正则

*爱你&永不变心* 提交于 2019-11-26 12:34:45
手机号 //严谨 /^1((3[\d])|(4[5,6,9])|(5[0-3,5-9])|(6[5-7])|(7[0-8])|(8[1-3,5-8])|(9[1,8,9]))\d{8}$/ //(宽松), 只要是13,14,15,16,17,18,19开头即可 /^((\+|00)86)?1[3-9]\d{9}$/ //(最宽松), 只要是1开头即可, 如果你的手机号是用来接收短信, 优先建议选择这一条 /^((\+|00)86)?1\d{10}$/ 是否电话格式(手机和座机) /^((0\d{2,3}-\d{7,8})|(1[345789]\d{9}))$/ 大写字母 /^[A-Z]+$/ 日期,如: 2000-01-01 /^\d{4}(-)\d{1,2}\1\d{1,2}$/ email地址 /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/ 国内座机电话,如: 0341-86091234 /\d{3}-\d{8}|\d{4}-\d{7}/ 身份证号(15位、18位数字),最后一位是校验位,可能为数字或字符X /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/ 帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线组合 /^[a-zA-Z][a-zA-Z0-9_]{4,15}$/ 只包含中文

php 正则去掉<p> </p> 空格  

余生长醉 提交于 2019-11-26 12:21:32
$str=' <p> </p> <p> </p> <p> </p> <p> </p> <p><strong><span style="font-size: 18px;">Factory Supply High Quality Maitake Mushroom Extract Powder Bulk</span></strong></p> <p> </p> <p> </p>Product Name <p> </p>'; echo $content= str_replace("<p> <\/p>","",$str);    很完美 php的str_replace函数怎么把<p><br/></p>替换掉呢? php的str_replace函数怎么把<p><br/></p>替换掉方法如下   $html="<p>fdasf</p>";   echo $string = str_replace(array("<p>","","</p>"),"",$html);   br<http://bbs.houdunwang.com/> 若是<p> 内容</p>替换成<p>内容</p><p> content</p>替换成<p>contend</p>(空格是tab键和空格键 混合的 都有可能)方法如下   $html=preg_replace('/[\n\r\t]/','',$html);//去空格 若是