$re = '/^on ([^\(].+?)\((.*?)\) -- (.+?)\n.*?\(\*(.+?)\*\)/ims';
$str = '--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
on padR(pSourceStr, pTotalLen, pPadStr) -- @Strings @Pad
--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(*
Ver: 1.0 2017-01-30
PURPOSE: Return String Padded RIGHT from String or Number
*)
set paddedStr to current application\'s NSString\'s stringWithString:(pSourceStr as text)
set paddedStr to paddedStr\'s stringByPaddingToLength:(pTotalLen) withString:pPadStr startingAtIndex:0
return paddedStr as text
end padR
--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
on padL(pSourceStr, pTotalLen, pPadStr) -- @Strings @Pad
--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(*
Ver: 1.0 2017-01-30
PURPOSE: Return String Padded LEFT from String or Number
*)
set sourceLen to length of (pSourceStr as text)
--- CREATE NS STRING ---
set padToAddNSStr to current application\'s NSString\'s |string|()
--- ADD PAD TO FILL ---
set padToAddNSStr to padToAddNSStr\'s stringByPaddingToLength:(pTotalLen - sourceLen) withString:pPadStr startingAtIndex:0
--- CREATE THE PAD LEFT STRING ---
set paddedStr to (padToAddNSStr as text) & pSourceStr
return paddedStr as text
end padL
--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
on getUniqueTagNames(pTagObjectList) -- @EN @Tags @List @Merge
--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(*
Ver: 1.0 2017-01-30
PURPOSE: Return String Padded LEFT from String or Number
# pTagObjectList -- list of list of EN Tag Objects
# RETURNS -- single list of unique Tag Names
*)
local tagListStr, taagList, oTag
--- MERGE TAGS AS TEXT ---
set tagListStr to {}
tell application "Evernote"
repeat with tagList in pTagObjectList
repeat with oTag in tagList
set tagstr to name of oTag
if tagListStr does not contain tagstr then set end of tagListStr to tagstr
end repeat
end repeat
end tell -- "Evernote"
return tagListStr -- single list of unique Tag Names
end getUniqueTagNames
--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
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 PHP, please visit: http://php.net/manual/en/ref.pcre.php