[英]Regex for a record that starts with a number and ends with a particular string
我使用下面的file_get_contents得到了一些结果。
30049988.html" >Title1
297816.html" >Title2
2979922.html" >Title3
29736.html" >Title4
22833.html" >Title5
我想删除丑陋的部分(number.html“>)并仅获得标题,如何实现?
您可以使用preg_replace
函数。
preg_replace('~.*?>~', '', $string);
.*?
将进行零个或多个字符的非贪婪匹配。
要么
preg_replace('~^\d+\.html" >~', '', $string);
preg_replace方法将起作用,但是要回答其他任何想知道的问题。
<?php
$string = <<<EOF
30049988.html" >Title1
297816.html" >Title2
2979922.html" >Title3
29736.html" >Title4
22833.html" >Title5
EOF;
preg_match_all('~[^>]+>([^\\n]+)$~smU', $string, $matches);
if (!isset($matches[1])) {
echo 'No results found ..'. PHP_EOL;
exit;
}
foreach ($matches[1] as $match) {
echo $match.PHP_EOL;
}
您可以尝试使用此正则表达式。
(?=T)(\w+)
如何运作
(?=T)
-这是一个积极的前瞻。 它检查模式是否以T
开头,然后才继续。 (\\w+)
-这会将T
所有单词字符分组。 输出:
Title1
Title2
Title3
Title4
Title5
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.