使用的工具 - WebHarvy 正则表达式风味 - .NET
寻找表达式以从以下文本块中提取第二行(地址)
Company: Acme associates & sons
99122 W. Charleston Blvd., Suite 555, Las Vegas, NV 89135
Phone : (702) 123-4567
Fax : (702) 123-4567
Email : email@example.com
使用以下表达式,但它没有工作
(.*)(?=(\n.*){3}$)
请告知
答案 0 :(得分:1)
请注意,WebHarvey将返回正则表达式模式中定义的所有捕获组。这意味着您可以使用其中任何一种
^.*\r?\n(.*)
或者
(?<=^.*\r?\n)(.*)
请参阅regex demo
您不应该盲目测试在线正则表达式测试人员的正则表达式。请注意,RegexStorm将显示^.*\r?\n(.*)
pattern的两行匹配,但请查看您在第1组中获得的内容:
这就是WebHarvey将返回的内容。请参阅WebHarvey docs:
WebHarvy只会提取主要文本中与RegEx字符串中指定的组匹配的那些部分。
模式详情:
^
- 字符串开头.*
- 第一行\r?\n
- 结束(.*)
- 第2行(空或不空,如果您需要非空行,请使用.+
)。 (?<=...)
是一个积极的外观,需要在匹配的第二行之前的第一行,但在WebHarvey中,你不需要它。
答案 1 :(得分:0)
这对我有用:
<div class="nav-side-menu">
<div class="brand">Example</div>
<i class="fa fa-bars fa-2x toggle-btn" data-toggle="collapse" data-target="#menu-content"></i>
<div class="menu-list">
<ul id="menu-content" class="menu-content collapse out">
<li ><a href="#"><i class="fa fa-dashboard fa-lg"></i> Inicio</a> </li>
<ul class="sub-menu collapse" id="products">
<?php
$rs = opcionesUsuario($usuario);
$subopcion_ant = 1;
while ($row = mysql_fetch_array($rs)) {
$url = $row['href'];
$caption = $row['caption'];
$subopcion = $row['subopcion'];
//writeInLog($row['caption']);
if ($url <> "") {
if (strpos($url, '?') === false) {
echo'<li class = "active" ><a href="' . $url . '?usuario=' . $usuario . '">' . $caption . '</a></li></ul>';
} else {
echo '<li class="active"><a href="' . $url . '?usuario=' . $usuario . '">' . $caption . '</a></li></ul>';
}
}//fin de if
else {
if ($subopcion_ant == 1) {
echo '<li data-toggle = "collapse" data-target = "#products" class="collapsed active">
<a href="#"><i class="fa fa-gift fa-lg"></i> ' . $caption . ' <span class="arrow"></span></a></li>';
}
}//Fin de else
$subopcion_ant = $subopcion;
} //end of while
?>
</ul>
</div>
</div>
比赛在第1组。