#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(public|protected|private|static|\s) +[\w\<\>\[\]]+\s+(\w+) *\([^\)]*\)\s*(\{)"
Local $sString = "/*" & @CRLF & _
" * Licensed to the Apache Software Foundation (ASF) under one or more" & @CRLF & _
" * contributor license agreements. See the NOTICE file distributed with" & @CRLF & _
" * this work for additional information regarding copyright ownership." & @CRLF & _
" * The ASF licenses this file to You under the Apache License, Version 2.0" & @CRLF & _
" * (the "License"); you may not use this file except in compliance with" & @CRLF & _
" * the License. You may obtain a copy of the License at" & @CRLF & _
" *" & @CRLF & _
" * http://www.apache.org/licenses/LICENSE-2.0" & @CRLF & _
" *" & @CRLF & _
" * Unless required by applicable law or agreed to in writing, software" & @CRLF & _
" * distributed under the License is distributed on an "AS IS" BASIS," & @CRLF & _
" * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied." & @CRLF & _
" * See the License for the specific language governing permissions and" & @CRLF & _
" * limitations under the License." & @CRLF & _
" */" & @CRLF & _
"package org.apache.pdfbox.pdmodel.interactive.documentnavigation.outline;" & @CRLF & _
"" & @CRLF & _
"import org.apache.pdfbox.cos.COSDictionary;" & @CRLF & _
"import org.apache.pdfbox.cos.COSName;" & @CRLF & _
"" & @CRLF & _
"/**" & @CRLF & _
" * This represents an outline in a pdf document." & @CRLF & _
" *" & @CRLF & _
" * @author <a href="mailto:ben@benlitchfield.com">Ben Litchfield</a>" & @CRLF & _
" * @version $Revision: 1.2 $" & @CRLF & _
" */" & @CRLF & _
"public final class PDDocumentOutline extends PDOutlineNode" & @CRLF & _
"{" & @CRLF & _
"" & @CRLF & _
" " & @CRLF & _
" static java.io.BufferedWriter bfn;" & @CRLF & _
" static java.io.BufferedWriter bf;" & @CRLF & _
"" & @CRLF & _
" /**" & @CRLF & _
" * Default Constructor." & @CRLF & _
" */" & @CRLF & _
" public PDDocumentOutline()" & @CRLF & _
" {" & @CRLF & _
" " & @CRLF & _
" getCOSDictionary().setName(COSName.TYPE, COSName.OUTLINES.getName());" & @CRLF & _
" " & @CRLF & _
" }" & @CRLF & _
"" & @CRLF & _
" /**" & @CRLF & _
" * Constructor for an existing document outline." & @CRLF & _
" *" & @CRLF & _
" * @param dic The storage dictionary." & @CRLF & _
" */" & @CRLF & _
" public PDDocumentOutline( COSDictionary dic )" & @CRLF & _
" {" & @CRLF & _
" super( dic );" & @CRLF & _
" getCOSDictionary().setName(COSName.TYPE, COSName.OUTLINES.getName());" & @CRLF & _
" }" & @CRLF & _
"" & @CRLF & _
" @Override" & @CRLF & _
" public boolean isNodeOpen()" & @CRLF & _
" {" & @CRLF & _
" return true;" & @CRLF & _
" }" & @CRLF & _
"" & @CRLF & _
" @Override" & @CRLF & _
" public void openNode()" & @CRLF & _
" {" & @CRLF & _
" // The root of the outline hierarchy is not an OutlineItem and cannot be opened or closed" & @CRLF & _
" }" & @CRLF & _
"" & @CRLF & _
" @Override" & @CRLF & _
" public void closeNode()" & @CRLF & _
" {" & @CRLF & _
" // The root of the outline hierarchy is not an OutlineItem and cannot be opened or closed" & @CRLF & _
" }" & @CRLF & _
"}" & @CRLF & _
""
Local $aArray = StringRegExp($sString, $sRegex, $STR_REGEXPARRAYGLOBALFULLMATCH)
Local $aFullArray[0]
For $i = 0 To UBound($aArray) -1
_ArrayConcatenate($aFullArray, $aArray[$i])
Next
$aArray = $aFullArray
; Present the entire match result
_ArrayDisplay($aArray, "Result")
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for AutoIt, please visit: https://www.autoitscript.com/autoit3/docs/functions/StringRegExp.htm