pcre \ Q和\ E匹配错误

时间:2015-12-05 07:28:53

标签: pcre

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<table>
  <tr id="13" role="row" class="odd">
    <td class="sorting_1">
      <input type="checkbox" class="checkall selected" id="checkall" name="checkall[]">
    </td>
    <td>4</td>
    <td>4.00</td>
    <td>4</td>
  </tr>
  <tr id="12" class="even" role="row">
    <td class="sorting_1">
      <input id="checkall" class="checkall selected" type="checkbox" name="checkall[]">
    </td>
    <td>1</td>
    <td>1.00</td>
    <td>1</td>
  </tr>

  <tr id="11" class="odd" role="row">
    <td class="sorting_1">
      <input id="checkall" class="checkall" type="checkbox" name="checkall[]">
    </td>
    <td>4</td>
    <td>5.00</td>
    <td>2</td>
  </tr>

</table>

<div class="results"></div>

它不匹配,导致string sContent="the path is e:\\develop\\East\\parser(delay)"; string path="e:\\develop\\East\\parser(delay)"; char sRegex[128]; sprintf(sRegex, "\\Q%s\\E", src_str); pcrecpp::RE(sRegex).PartialMatch(sContent); 。如何修复此错误?

1 个答案:

答案 0 :(得分:0)

是的,这是\Q .. \E功能的问题。

您可以使用string quoted = RE::QuoteMeta(src_str);代替使用它,它将转义包含反斜杠的字符串中的所有特殊正则表达式字符。

source:引用METACHARACTERS