Regex排除多个字符串



可以使用NetBeans 7.01的find功能查找正则表达式。

我试图排除多个字符串。具体来说,目标行是:

<div class="table_left">
<div class="table_right">
<div class="table_clear">

我只需要匹配第三类和其他不是table_left或table_right的Div类。
我试过:

class="table_(((?!left).*)|((?!right).*))

class="table_(left|right){0}

我意识到,而粘贴我的第一个Regex行,我匹配不右或不左,这是返回两者。指定两个条件的正确方法是什么?和运算符?

搜索同时也是布尔运算符的单词的乐趣…

试试这个模式:

<divs+class="(?!table_(left|right))[^"]+"

不匹配:

<div class="table_left">
<div class="table_right">

but 匹配:

<div class="table_clear">
<div class="foo">

编辑

HT写:

我只需要匹配以table开头但不是右或左的类

啊,好的,它看起来像:

<divs+class="table_(?!left|right)[^"]+"

<divs+class="table(?!_left|_right)[^"]+"

,因为你已经找到了你自己(但为了完整起见,我把它包含在我的答案中)。

模式<divs+class="table_(?!left|right)[^"]+"的快速解释:

<div                         # match '<div'
s+                          # match one ore more space chars
class="table_(?!left|right)  # match 'class="table_' only if it is not followed by 'left' or 'right'
[^"]+                        # match one or more characters other than '"'
"                            # match a '"'

相关内容

  • 没有找到相关文章

最新更新