Re: How can use the regex substitution <*>?Told you it was untested... use
\!"
for the escaped "
Re: How can use the regex substitution <*>?I think you want separate formulas for columns b, c, ...
Column b's formula should extract part of the href string.
Column c's formula should extract part of the id string.
The exact formulas might be quite simple if the data is the same shape on every row. For example, if there is always a number just before for column b, (untested code follows)
regex(a, "(\d+)", "\1")
might work. Breaking that pattern down:
- (\d+) - the parens create the \1 capture group, \d is a digit, + is one or more
- - literal text that must follow the numbers
- "\1" - insert capture group 1 into the result
Similarly, if the column c text is always identified by id=,
regex(a,"id=\"[^\"]*\"")
might work.
This pattern uses \" three places to represent a quotation mark inside a JSL string surrounded by quotation marks. If we remove the outer quotation marks and unescape the inner ones, the string regex sees is <STRONG>id="[^"]*"</STRONG> which breaks down to
- match id= and the "
- [^"] is a character class that matches any character that is NOT a "
- * means zero or more of the not-" characters
- followed by "
Simple parsing like this will usually work on well behaved data. In the general case you might need more complicated patterns (if there could be another id= string, etc).
Re: How can use the regex substitution <*>?Thank Craige!
I tried the operation, JSL failed to run.


Re: How can use the regex substitution <*>?I've been writing C code lately. C uses \" to escape a " but JSL uses \!" to escape a ".
All three of the inside-the-string " need the JSL escape.
Re: How can use the regex substitution <*>?Thank Craige!
I'm using the regular substitution of "EmEditor"
<(.[^>]{0,})> Script:
document.selection.Replace("<(.[^>]{0,})>","\\t",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);Re: How can use the regex substitution <*>?I'm not sure if you are still asking a question. If you are still trying to make something work, I'd need to know what you are trying to do.
Are you trying to use a text editor to reformat the file into a tab-delimited file that JMP can read?
Re: How can use the regex substitution <*>?I want to use JSL via JMP directly to get the title of the page and link list.
For example: this JMP community web page,

u="https://community.jmp.com/t5/Discussions/bd-p/discussions";txt=loadtextfile(u);
t1="";offset=Contains(txt,t1);
If(offset,txt=SubStr(txt,offset+4,Length(txt)));
t2="";offset=Contains(txt,t2,-1);
If(offset,txt=SubStr(txt,1,offset-1));
txt=Substitute(txt," ","","message">","","Discussions/","Discussions/>");
txt=Substitute(txt,"<(.[^>]{0,})>","","\!n","","\!r","");
Re: How can use the regex substitution <*>?/*
THIS IS NOT AN HTML PARSER
HTML parsers are hard to write. There are better ways.
Neither of these JSL ideas can properly skip comments or
many other HTML tags that should be skipped. They will
find things they shouldn't and miss other things they
should find. They've only been minimally tested on one site.
This code is presented as "how can I use contains() vs patmatch()
to efficiently work through a large string looking for something?"
The second example is FIVE TIMES FASTER and a LITTLE MORE ACCURATE.
The third example uses text explorer to grab links. I don't think
there is a pre-existing regex for the link text descriptions. It works
very similar to this code; it is NOT an HTML parser either.
If you can use python, you might want to investigate "beautiful soup".
I've not used it, but believe it addresses the "hard to write" issue.
*/
u = "https://community.jmp.com/t5/Discussions/bd-p/discussions";
txt = Load Text File( u );
// a link on a page has at least two parts:
// the URL and some descriptive text.
// <A ...="" href="https://community.jmp.com/url" ...="" target="_blank"> descripton </A>
// p1 p4 p5
// to parse ALL the links on a page, you'll want
// some sort of loop. There are many ways to
// write that loop; here are two choices
// using contains and regex. "<A>", p1 + 3 ); // find the end of the opening tag
p5 = Contains( txt, "</A>", p4 + 1 ); // find the ending tag
if( p5 > p4, // as long as the end is not zero, we found one, see break() below
desc = Substr( txt, p4 + 1, p5 - p4 - 1 ); // the visible link description. Images can be here too.
desc = Regex( desc, "<[^>]*>", "", globalreplace ); // remove span, image, etc tags
linktext = Substr( txt, p1, p4 - p1 + 1 ); // <A href="https://community.jmp.com/" target="_blank">
hreftext = Regex( linktext, "href\s*=\s*(\!"|')(.*?)(\1)", "\2" );// use regex to get the href value
if( !Is Missing( hreftext ), // sometimes there isn't one
dt << addrows( 1 );//
irow = N Rows( dt );//
dt:link[irow] = hreftext;//
dt:description[irow] = desc; //
);//
, // else
Break() // no more end tags. there is maybe a mess of javascript.
);//
pos = Max( pos, p5 + 3 ); // advance past the one just found
Wait( 0 );
);
stoptime = Tick Seconds();
dt << endDataUpdate;
Show( stoptime - starttime ); // .5 sec, 127 links
// using pattern matching and regex
// this is about 5X faster and skips over the garbage in the <SCRIPT> sections
// two patterns, one for &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;a&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; links and one for &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;script&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; to skip over
linkpat = "&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;a " + Pat Break( "&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;" ) &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; linktext + "&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;" + Pat Arb() &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; desctext + "&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;/a&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;";
scriptpat = "&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;script" + Pat Break( "&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;" ) + "&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;" + Pat Arb() + "&amp;amp;amp;amp;amp;amp;amp;amp;lt;/A&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;/CODE&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;/PRE&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;/LINGO-BODY&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;LINGO-SUB id="lingo-sub-366750" slang="en-US" mode="NONE"&amp;amp;amp;amp;amp;amp;amp;amp;gt;Re: How can use the regex substitution &amp;amp;amp;amp;amp;amp;amp;amp;lt;*&amp;amp;amp;amp;amp;amp;amp;amp;gt;?&amp;amp;amp;amp;amp;amp;amp;amp;lt;/LINGO-SUB&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;LINGO-BODY id="lingo-body-366750" slang="en-US" mode="NONE"&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;P&amp;amp;amp;amp;amp;amp;amp;amp;gt;ignore the .5 sec, # links comments in the JSL. Run your own test.&amp;amp;amp;amp;amp;amp;amp;amp;lt;/P&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;P&amp;amp;amp;amp;amp;amp;amp;amp;gt;Comments quickly go bad, especially when copy/paste!&amp;amp;amp;amp;amp;amp;amp;amp;lt;/P&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;/LINGO-BODY&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;LINGO-SUB id="lingo-sub-365821" slang="en-US" mode="NONE"&amp;amp;amp;amp;amp;amp;amp;amp;gt;How can use the regex substitution &amp;amp;amp;amp;amp;amp;amp;amp;lt;*&amp;amp;amp;amp;amp;amp;amp;amp;gt;?&amp;amp;amp;amp;amp;amp;amp;amp;lt;/LINGO-SUB&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;LINGO-BODY id="lingo-body-365821" slang="en-US" mode="NONE"&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;P&amp;amp;amp;amp;amp;amp;amp;amp;gt;How to use regex to replace the text of dt[1,"A"] with tabs for each &amp;amp;amp;amp;amp;amp;amp;amp;lt;*&amp;amp;amp;amp;amp;amp;amp;amp;gt;.It get the multi-column result in row 2.&amp;amp;amp;amp;amp;amp;amp;amp;lt;/P&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;P&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2021-03-07_16-36-24.png" style="width: 529px;"&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;SPAN class="lia-inline-image-display-wrapper" image-alt="2021-03-07_16-36-24.png" style="width: 529px;"&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;span class="lia-inline-image-display-wrapper" image-alt="2021-03-07_16-36-24.png" style="width: 529px;"&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;img src="https://us.v-cdn.net/6038925/uploads/images/31064i8375FBD3A072D195/2021-03-07_16-36-24.png" role="button" title="2021-03-07_16-36-24.png" alt="2021-03-07_16-36-24.png" /&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;/span&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;/SPAN&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;/SPAN&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;/P&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;P&amp;amp;amp;amp;amp;amp;amp;amp;gt;Thanks!&amp;amp;amp;amp;amp;amp;amp;amp;lt;/P&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;PRE&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;CODE class=" language-jsl"&amp;amp;amp;amp;amp;amp;amp;amp;gt;abc&amp;amp;amp;amp;amp;amp;amp;amp;lt;AHREF&amp;amp;amp;amp;amp;amp;amp;amp;gt;897"id="s897"&amp;amp;amp;amp;amp;amp;amp;amp;lt;/AHREF&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;/CODE&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;/PRE&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;P&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;amp;amp;lt;/P&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;/LINGO-BODY&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;LINGO-LABS id="lingo-labs-365821" slang="en-US" mode="NONE"&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;LINGO-LABEL&amp;amp;amp;amp;amp;amp;amp;amp;gt;Sharing and Communicating Results&amp;amp;amp;amp;amp;amp;amp;amp;lt;/LINGO-LABEL&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;/LINGO-LABS&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;lingo-sub id="lingo-sub-739057" slang="en-US" mode="CREATE"&amp;amp;amp;amp;amp;amp;amp;amp;gt;Re: How can use the regex substitution &amp;amp;amp;amp;amp;amp;amp;amp;lt;*&amp;amp;amp;amp;amp;amp;amp;amp;gt;?&amp;amp;amp;amp;amp;amp;amp;amp;lt;/lingo-sub&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;lingo-body id="lingo-body-739057" slang="en-US" mode="CREATE"&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;P&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;SPAN class=""&amp;amp;amp;amp;amp;amp;amp;amp;gt;How to write this regex substitution in JSL?&amp;amp;amp;amp;amp;amp;amp;amp;lt;/SPAN&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;SPAN class=""&amp;amp;amp;amp;amp;amp;amp;amp;gt;I can't write it this way.&amp;amp;amp;amp;amp;amp;amp;amp;lt;/SPAN&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;SPAN class=""&amp;amp;amp;amp;amp;amp;amp;amp;gt;Continue to seek expert help!&amp;amp;amp;amp;amp;amp;amp;amp;lt;/SPAN&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;/P&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;P&amp;amp;amp;amp;amp;amp;amp;amp;gt;Thanks Experts!&amp;amp;amp;amp;amp;amp;amp;amp;lt;/P&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;PRE&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;CODE class=" language-jsl"&amp;amp;amp;amp;amp;amp;amp;amp;gt;tx = Regex(tx, "&amp;amp;amp;amp;amp;amp;amp;amp;lt;/a&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;/em&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;/span&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;span&amp;amp;amp;amp;amp;amp;amp;amp;gt;《&amp;amp;amp;amp;amp;amp;amp;amp;lt;a href=\!"/gushi/([a-Z][^/]{0,})/([0-9]{0,}).html\!"&amp;amp;amp;amp;amp;amp;amp;amp;gt;", "\!t", GLOBALREPLACE);&amp;amp;amp;amp;amp;amp;amp;amp;lt;/CODE&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;/PRE&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;P&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;SPAN class=""&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="20240326154234.png" style="width: 999px;"&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;img src="https://us.v-cdn.net/6038925/uploads/images/62662i2BFEE0A98942F276/20240326154234.png" role="button" title="20240326154234.png" alt="20240326154234.png" /&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;/span&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;/SPAN&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;/P&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;PRE&amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;lt;CODE class=" language-jsl"&amp;amp;amp;amp;amp;amp;amp;amp;gt;gle || []).push({});</SCRIPT><DIV><SPAN>111.</SPAN><SPAN><A class="name" href="https://community.jmp.com/shiju/843.html" target="_blank">过春风十里,尽荠麦青青。</A></SPAN><SPAN>——</SPAN><SPAN><EM><A href="https://community.jmp.com/shiren/jiangkui/" class="author" target="_blank">姜夔</A></EM></SPAN><SPAN>《<A href="https://community.jmp.com/gushi/ci/1672.html" target="_blank">扬州慢·淮左名都</A>》</SPAN></DIV><DIV><SPAN>112.</SPAN><SPAN><A class="name" href="https://community.jmp.com/shiju/897.html" target="_blank">一树春风千万枝,嫩于金色软于丝。</A></SPAN><SPAN>——</SPAN><SPAN><EM><A href="https://community.jmp.com/shiren/baijuyi/" class="author" target="_blank">白居易</A></EM></SPAN><SPAN>《<A href="https://community.jmp.com/gushi/shi/2070.html" target="_blank">杨柳枝词</A>》</SPAN></DIV><DIV><SPAN>113.</SPAN><SPAN><A class="name" href="https://community.jmp.com/shiju/898.html" target="_blank">天时人事日相催,冬至阳生春又来。</A></SPAN><SPAN>——</SPAN><SPAN><EM><A href="https://community.jmp.com/shiren/dufu/" class="author" target="_blank">杜甫</A></EM></SPAN><SPAN>《<A href="https://community.jmp.com/gushi/shi/2087.html" target="_blank">小至</A>》</SPAN></DIV><DIV><SPAN>114.</SPAN><SPAN><A class="name" href="https://community.jmp.com/shiju/905.html" target="_blank">寻得桃源好避秦,桃红又是一年春。</A></SPAN><SPAN>——</SPAN><SPAN><EM><A href="https://community.jmp.com/shiren/xiefangde/" class="author" target="_blank">谢枋得</A></EM></SPAN><SPAN>《<A href="https://community.jmp.com/gushi/shi/2223.html" target="_blank">庆全庵桃花</A>》</SPAN></DIV><DIV><SPAN>115.</SPAN><SPAN><A class="name" href="https://community.jmp.com/shiju/934.html" target="_blank">春巷夭桃吐绛英,春衣初试薄罗轻。风和烟暖燕巢成。</A></SPAN><SPAN>——</SPAN><SPAN><EM><A href="https://community.jmp.com/shiren/zhushuzhen/" class="author" target="_blank">朱淑真</A></EM></SPAN><SPAN>《<A href="https://community.jmp.com/gushi/ci/2473.html" target="_blank">浣溪沙·清明</A>》</SPAN></DIV><DIV><SPAN>116.</SPAN><SPAN><A class="name" href="https://community.jmp.com/shiju/936.html" target="_blank">好是风和日暖,输与莺莺燕燕。满院落花帘不卷,断肠芳草远。</A></SPAN><SPAN>——</SPAN><SPAN><EM><A href="https://community.jmp.com/shiren/zhushuzhen/" class="author" target="_blank">朱淑真</A></EM></SPAN><SPAN>《<A href="https://community.jmp.com/gushi/ci/2475.html" target="_blank">谒金门·春半</A>》</SPAN></DIV><<DIV><SPAN>133.</SPAN><SPAN><A class="name" href="https://community.jmp.com/shiju/1125.html" target="_blank">春共山中采,香宜竹里煎。</A></SPAN></DIV><DIV><SPAN>134.</SPAN><SPAN><A class="name" href="https://community.jmp.com/shiju/1148.html" target="_blank">青画溪头翠水家,水边短竹夹桃花。</A></SPAN><SPAN>——</SPAN><SPAN><EM><A href="https://community.jmp.com/shiren/yangweizhen/" class="author" target="_blank">杨维桢</A></EM></SPAN><SPAN>《<A href="https://community.jmp.com/gushi/shi/2734.html" target="_blank">漫兴七首</A>》</SPAN></DIV><DIV><SPAN>135.</SPAN><SPAN><A class="name" href="https://community.jmp.com/shiju/1149.html" target="_blank">杨花白白绵初迸,梅子青青核未生。</A></SPAN><SPAN>——</SPAN><SPAN><EM><A href="https://community.jmp.com/shiren/yangweizhen/" class="author" target="_blank">杨维桢</A></EM></SPAN><SPAN>《<A href="https://community.jmp.com/gushi/shi/2734.html" target="_blank">漫兴七首</A>》</SPAN></DIV></A>
Re: How can use the regex substitution <*>?use a-zA-Z is probably what you want.
lowercase a comes AFTER uppercase Z
https://en.wikipedia.org/wiki/ASCII#/media/File:USASCII_code_chart.png