正在与正则表达式斗争。任何人都可以根据这些规则使用此文本进行匹配吗?

时间:2011-10-29 09:27:34

标签: regex

案文是:

<div class="left right">Lorem Ipsum is simply dummy text of the printing and</div> typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scramble'd it to make-shift type <a href="google.com">specimen book</a> and something [tag]else[/tag].

基本上我要做的就是在遵守这些规则的同时提取上述所有词语:

  1. word可以包含破折号和撇号(上面的扰乱和转换)
  2. 字不能在链接标记内
  3. 字不能在块标记内 - [tag]
  4. word不能是标签名称或html(class =“,div,a,tag等)中的一部分
  5. 我最初的想法是删除那些我不需要的标签和内容。然而,即便如此,我发现很难说上述div之间的所有内容都匹配,但不匹配“div”或“class”或“left right”这个词。

    感谢任何帮助。我目前有:

    \s?[a-zA-Z0-9\'\-]+\s?
    

    我知道这是可耻的。

2 个答案:

答案 0 :(得分:0)

这应该有效:

[^&LT;&GT; \ [\]] +(=并[d?[])

答案 1 :(得分:0)

这适用于.NET正则表达式引擎,但这是少数几个支持负面反复重复的人之一。

(?<!<[^>]*)(?<!<a[^<]*)(?<!\[[^\]]*)(?<!\[tag[^[]*)\w[^\s<[]*