使用正则表达式,我希望能够获取多个DIV标记之间的文本。例如,以下内容:
<div>first html tag</div>
<div>another tag</div>
将输出:
first html tag
another tag
我使用的正则表达式模式仅匹配我的最后一个div标记并错过了第一个。代码:
static void Main(string[] args)
{
string input = "<div>This is a test</div><div class=\"something\">This is ANOTHER test</div>";
string pattern = "(<div.*>)(.*)(<\\/div>)";
MatchCollection matches = Regex.Matches(input, pattern);
Console.WriteLine("Matches found: {0}", matches.Count);
if (matches.Count > 0)
foreach (Match m in matches)
Console.WriteLine("Inner DIV: {0}", m.Groups[2]);
Console.ReadLine();
}
输出:
找到的匹配项:1
内部DIV:这是另一个测试
我认为这段代码应该有效:
string htmlSource = "<div>first html tag</div><div>another tag</div>";
string pattern = @"<div[^>]*?>(.*?)</div>";
MatchCollection matches = Regex.Matches(htmlSource, pattern, RegexOptions.IgnoreCase | RegexOptions.Singleline);
ArrayList l = new ArrayList();
foreach (Match match in matches)
{
l.Add(match.Groups[1].Value);
}
由于其他人没有提到带有属性的超文本标记语言标签
,以下是我的解决方案:
// <TAG(.*?)>(.*?)</TAG>
// Example
var regex = new System.Text.RegularExpressions.Regex("<h1(.*?)>(.*?)</h1>");
var m = regex.Match("Hello <h1 style='color: red;'>World</h1> !!");
Console.Write(m.Groups[2].Value); // will print -> World
用非贪婪匹配替换模式
static void Main(string[] args)
{
string input = "<div>This is a test</div><div class=\"something\">This is ANOTHER test</div>";
string pattern = "<div.*?>(.*?)<\\/div>";
MatchCollection matches = Regex.Matches(input, pattern);
Console.WriteLine("Matches found: {0}", matches.Count);
if (matches.Count > 0)
foreach (Match m in matches)
Console.WriteLine("Inner DIV: {0}", m.Groups[1]);
Console.ReadLine();
}
我正在寻找一个正则表达式,它必须在不同类型的HTML标记之间提取文本。 对于前任: <代码> <代码> <代码> 我找到了这个特殊的片段
问题内容: 在2个标签之间选择所有文本的最佳方法是什么-例如:页面上所有“ pre”标签之间的文本。 问题答案: 您可以使用,(用所需的任何文本替换pre)并提取第一组(对于更具体的说明,请指定一种语言),但这只是假设您拥有非常简单且有效的HTML。 正如其他评论者所建议的那样,如果您要执行复杂的操作,请使用HTML解析器。
使用regex,我希望能够获得多个html标记之间的文本。这里的HTML只是为了表示输入,我不担心HTML标签,只是想检索HTML标签中的内容(在正确的开始和结束标签之间)。例如,以下内容: 所需输入: 所需输出: 获得的输出: Regex我尝试过: 我没有得到预期的结果。 我的java代码:
我正在尝试分离各个内联脚本标记: 这是我使用的模式: 但是我得到了这个结果: 虽然我期望得到这样的结果: 我使用的模式有什么问题吗?提前感谢! 使现代化 如果我使用 修饰符,我会得到这样的内容: 它设法分离 2 个脚本,但第一个脚本变为空字符串
问题内容: 我有这个HTML: 我只需要匹配任何HTML标记之外的单词。我的意思是,如果我想匹配“简单”和“文本”,则只能从“这是简单的html文本”和最后一部分“文本”中获得结果- 结果将是“简单” 1匹配,“文本” 2火柴。有人可以帮我吗?我正在使用jQuery。 是我要匹配的单词(在这种情况下为“简单”) 是 我需要用来包装所有选定的单词(在此示例中为“简单”)。但是我只想包装 任何 HTM
我有一个聊天应用程序,通过API接收HTML作为JSON。每个聊天信息都在文本视图中显示HTML,但我需要显示表格和标记。我尝试了Html。fromHtml()函数和图像的ImageGetter,但是我找不到显示表标记的方法。 我不能使用WebView,因为这意味着为每条消息显示一个WebView(这不是很有效)。 提前感谢。