Sorry folks, the whole issue is a Hornberger Schiessen (wild goose chase): The error messages in the Data Browser are irrelevant for the positive result. The script successfully finds 1st, 2nd, 4th and 5th and refuses to find 3Rd - hence RegEx search is OK and Consider Case is observed:
/*Test_MiniFind.jsx ====== UTF-8 ========================================== Test for the functions GetFindParameters, FindSomething History 2020-12-09 */ ; // =================================================================== //#target framemaker //@target framemaker function GetFindParameters (sSearch) { //====================== // Set up a text find with case sensitive RegEx var findParms, qFlags, oPropVal1, oPropVal2, oPropVal3; findParms = new PropVals(); oPropVal1 = new PropVal() ; oPropVal1.propIdent.num = Constants.FS_FindText; oPropVal1.propVal.valType = Constants.FT_String; oPropVal1.propVal.sval = sSearch; findParms.push(oPropVal1); oPropVal2 = new PropVal() ; oPropVal2.propIdent.num = Constants.FS_FindCustomizationFlags ; oPropVal2.propVal.valType = Constants.FT_Integer; qFlags = 0; qFlags = qFlags | Constants.FF_FIND_CONSIDER_CASE; // 0x01 qFlags = qFlags | Constants.FF_FIND_USE_REGEX; // 0x10 oPropVal2.propVal.ival = qFlags; // findParms.push(oPropVal2); oPropVal3 = new PropVal (); oPropVal3.propIdent.num = Constants.FS_RegexFlavour; oPropVal3.propVal.valType = Constants.FT_Integer; oPropVal3.propVal.ival = Constants.FR_USE_PERL; // 1 findParms.push(oPropVal3); //$.bp(true); // check oPropVal2 and oPropVal3 - ival reports errors... return findParms; } //--- end GetFindParameters ------------------------------------------------- function FindSomething (oDoc, sSearch) { // =============================== var oFindParms, oTR, oTRsaved ; oTRsaved = oDoc.TextSelection; // we may need to come back oTR = oDoc.TextSelection; // start from current location oFindParms = GetFindParameters (sSearch); if (oFindParms === null) {return undefined;} // oTR has not changed yet oTR = oDoc.Find(oTR.beg, oFindParms); if (FA_errno === Constants.FE_Success) { // 0: FE_Success; -95: FE_NotFound oDoc.TextSelection = oTR; // selection visible ? oDoc.ScrollToText(oTR); // selection visible ? Yes return oTR; } else { // Not found oDoc.TextSelection = oTRsaved; oDoc.ScrollToText(oTRsaved); return undefined; } } //--- end FindSomething ------------------------------------------------ function main () { // ===================================================== // testfile: E:\_DDDprojects\_JSX-library\TestFiles\Gugus-file1.fm // ontains 1st, 2nd, 3Rd, 4th, 5th var oDoc = app.ActiveDoc, OK, oTR; oTR = FindSomething (oDoc, "\\d[st|nd|rd|th]"); // text by regex if (oTR == undefined) { Alert ("not found"); } } //--- end main ---------------------------------------------------------- main (); I do not know yet why my initial script did not work - have to take a very close look to the differences to this working script. Thnaks for Your patience Klaus ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Klaus Daube Phone: +41-44-381 37 77 Schäracher 11 Mail: kl...@daube.ch CH-8053 Zürich Web: www.daube.ch _______________________________________________ This message is from the Framers mailing list Send messages to framers@lists.frameusers.com Visit the list's homepage at http://www.frameusers.com Archives located at http://www.mail-archive.com/framers%40lists.frameusers.com/ Subscribe and unsubscribe at http://lists.frameusers.com/listinfo.cgi/framers-frameusers.com Send administrative questions to listad...@frameusers.com