可以使用NetBeans 7.01的find函数进行Regex搜索的一些帮助。
我正在尝试排除多个字符串。具体来说,目标行:
<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}
我在粘贴我的第一个正则表达式线时意识到我匹配不对或没有离开,这两个都返回。指定两个条件的正确方法是什么?和运营商?
搜索同时也是布尔运算符的单词的乐趣...
答案 0 :(得分:1)
尝试这种模式:
<div\s+class="(?!table_(left|right))[^"]+"
哪个不匹配:
<div class="table_left">
<div class="table_right">
但 匹配:
<div class="table_clear">
<div class="foo">
HT 写道:
我只需要匹配以table开头但不是正确或左边的类
啊,好吧,那会是这样的:
<div\s+class="table_(?!left|right)[^"]+"
或
<div\s+class="table(?!_left|_right)[^"]+"
正如你已经发现的那样(但为了完整起见,我把它包含在我的答案中)。
模式<div\s+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 '"'