title: java Dangling meta character '+'
body: <p>I have text:</p>
  
  <pre><code>String str = "&lt;HTML&gt; &lt;HEAD&gt;\n" +
              "&lt;TITLE&gt;Управление разрывом строк &lt;/Title&gt;\n" +
              "&lt;/HEAD&gt;\n" +
              "&lt;BODY&gt;\n" +
              "&lt;marquee&gt;Это моя учебная страница.&lt;/marquee&gt;\n" +
              "&lt;H2&gt;Меня зовут &lt;kbd&gt;Ольга. &lt;/kbd&gt;&lt;/H2&gt;\n" +
              "&lt;H3 align=\"center\"&gt;Я живу во &lt;em&gt;Владивостоке&lt;/em&gt;.&lt;/H3&gt;\n" +
              "&lt;H4 align=\"right\"&gt;Моя маленькая родина - &lt;font face=\"Academy\" color=\"Red\"&gt;Сахалин&lt;/font&gt;. &lt;/H4&gt;\n" +
              "&lt;H5 align=left&gt;ДВГУ - ВУЗ в котором я работаю.&lt;/H5&gt;\n" +
              "&lt;B&gt;Здесь&lt;/B&gt;\n" +
              "&lt;I&gt;продемонстрированы&lt;/I&gt;\n" +
              "&lt;Blink&gt;различные&lt;/Blink&gt;\n" +
              "&lt;U&gt; способы &lt;/U&gt;\n" +
              "&lt;KBD&gt;управления &lt;/KBD&gt;\n" +
              "&lt;FONT SIZE=5 COLOR=FF80C0&gt;шрифтом:&lt;/FONT&gt; его\n" +
              "&lt;FONT SIZE=5 COLOR=FF00FF&gt;цветом&lt;/FONT&gt; и\n" +
              "&lt;FONT SIZE=+3 COLOR=FF00FF&gt;размером.&lt;/FONT&gt;\n" +
              "&lt;/BODY&gt; &lt;/HTML&gt;";
  </code></pre>
  
  <p>I write regexp <code>(?&lt;=(=))[+a-zA-Z0-9]+(?=(&gt;| ))</code> that find manches</p>
  
  <ol>
  <li>left</li>
  <li>5</li>
  <li>FF80C0</li>
  <li>5 </li>
  <li>FF00FF</li>
  <li>+3</li>
  <li>FF00FF</li>
  </ol>
  
  <p>But java throw exception</p>
  
  <pre><code>Exception in thread "main" java.util.regex.PatternSyntaxException: Dangling meta character '+' near index 0
  +3
  ^
  at java.util.regex.Pattern.error(Pattern.java:1955)
  at java.util.regex.Pattern.sequence(Pattern.java:2123)
  ...
  </code></pre>
  
  <p>Ok. I try shield + (<code>(?&lt;=(=))[\\+a-zA-Z0-9]+(?=(&gt;| ))</code>) </p>
  
  <p>But this no work(is the same error). Why?</p>
  
  <p>code: </p>
  
  <pre><code>Matcher matcher = Pattern.compile("(?&lt;=(=))[+a-zA-Z0-9]+(?=(&gt;| ))").matcher(str);
      while (matcher.find()) {
          str= str.replaceAll(matcher.group(),'"' + matcher.group() + '"');
      }
  </code></pre>