我想提取指定的开始标记和结束标记之间的所有文本,包括标记。 例如:
Input : I am <NAME>Kai</NAME>
Text Extracted: <NAME>Kai</NAME>
它根据标签提取文本。
上述什么是Regex?
答案 0 :(得分:3)
如果有问题的标签不能嵌套(假设不区分大小写):
Regex regexObj = new Regex("<NAME>(?:(?!</NAME>).)*</NAME>", RegexOptions.Singleline | RegexOptions.IgnoreCase);
请注意,这是一个快速而肮脏的解决方案,可能适合您的需求,但也可能在您的脸上爆炸(例如,如果标签出现在评论中,如果标签内有空格,如果有是标签内的任何属性等)。如果这些问题对您来说可能有问题,请使用正则表达式要求的确切规范编辑您的问题。
答案 1 :(得分:1)
这是一个接受任何标记名称的正则表达式:<(\w+)>.*?</\1>
\1
反向引用组(\w+)
,并确保结束标记必须与开始标记具有相同的名称。
如果您要搜索特殊标记NAME
,则可以使用此正则表达式:<NAME>.*?</NAME>
答案 2 :(得分:0)
http://www.regular-expressions.info/reference.html你可能会在这里找到一些有用的东西,它们有很多东西,尤其是标签等。结合这些例子来满足你的要求。