Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 使用正则表达式帮助清理网站_Regex - Fatal编程技术网

Regex 使用正则表达式帮助清理网站

Regex 使用正则表达式帮助清理网站,regex,Regex,我需要为以下内容编写一个正则表达式(注意:忽略回车,为了可读性,我添加了它们): 它与数字块匹配,我可以使用0-2的和偏移量来识别它们。问题是它也返回了空白,这会破坏我的偏移量。 我如何说“它必须在匹配中至少包含一个数字”? 我也试过了 /\<label\>Office:\<\/label\>&nbsp;([\+\d\(\)\s]+)\<br \/\>/ /\Office:\([\+\d\(\)\s]+)\/ 但这会回来的 +44 (0)12 34

我需要为以下内容编写一个正则表达式(注意:忽略回车,为了可读性,我添加了它们):

它与数字块匹配,我可以使用0-2的和偏移量来识别它们。问题是它也返回了空白,这会破坏我的偏移量。 我如何说“它必须在匹配中至少包含一个数字”?
我也试过了

/\<label\>Office:\<\/label\>&nbsp;([\+\d\(\)\s]+)\<br \/\>/
/\Office:\([\+\d\(\)\s]+)\/
但这会回来的

+44 (0)12 3456 7890<br />
<label>Direct:</label>&nbsp;+44 (0)12 3456 7890<br />
<label>Mobile:</label>&nbsp;+44 (0)1234 567890<br />
<label>E-mail:</label>&nbsp;<a href="mailto:you@me.com">you@me.com</a>
+44(0)1234567890
直接:+44(0)1234567890
手机:+44(0)1234567890
电邮:
使用正则表达式解析HTML不是一个好主意,请改用基于DOM的解析

你的正则表达式不起作用,因为它贪婪,使它不贪婪的变化

([\+\d\(\)\s]+)

另外,
+
将在char类中按字面意思处理。因此,没有必要逃避它们:

([+\d()\s]+?)

使用正则表达式解析HTML不是一个好主意,而是使用DOM基解析

你的正则表达式不起作用,因为它贪婪,使它不贪婪的变化

([\+\d\(\)\s]+)

另外,
+
将在char类中按字面意思处理。因此,没有必要逃避它们:

([+\d()\s]+?)

抓取联系方式-你为什么要这样做。。。闻起来像是在收集大量电子邮件…?收集联系方式-你为什么要这么做。。。闻起来像是在收集大量电子邮件…?谢谢。我确实使用simple_html_dom来实现这一点,但我需要regexp来完成提取数字的最后一步。谢谢你的提示。谢谢。我确实使用simple_html_dom来实现这一点,但我需要regexp来完成提取数字的最后一步。谢谢你的提示。
([+\d()\s]+?)