title: Java regex first match only
body: <p>How do I tell the following regex to only find the FIRST match? The following code keeps finding all possible regex within the string. </p>
  
  <p>i.e. I'm looking only for the indices of the substring <code>(200-800;50]</code></p>
  
  <pre><code>public static void main(String[] args) {
  
      String regex = "(\\[|\\().+(\\]|\\))";
  
      String testName=  "DCGRD_(200-800;50]MHZ_(PRE|PST)_(TESTMODE|REG_3FD)";
  
              Pattern pattern = 
              Pattern.compile(regex);
  
              Matcher matcher = 
              pattern.matcher(testName);
  
              boolean found = false;
  
              while (matcher.find()) {
                  System.out.format("I found the text" +
                      " \"%s\" starting at " +
                      "index %d and ending at index %d.%n",
                      matcher.group(),
                      matcher.start(),
                      matcher.end());
                  found = true;
  
              }
  
              if (!found){
                  System.out.println("Sorry, no match!");
              }
  }
  </code></pre>