js-identifiers/regex.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Valid JavaScript Identifiers</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
<SCRIPT TYPE="text/javascript"><!--
function regexbuddyhighlight(regexoffset) {
document.getElementById("regex" + regexoffset).style.background = "#FFFF00";
document.getElementById("tree" + regexoffset).style.background = "#FFFF00";
}
function regexbuddyclear(regexoffset) {
document.getElementById("regex" + regexoffset).style.background = "white";
document.getElementById("tree" + regexoffset).style.background = "white";
}
function regexbuddyhighlightdup(regexoffset) {
document.getElementById("regex" + regexoffset).style.background = "#FFFF00";
document.getElementById("tree" + regexoffset + "dup").style.background = "#FFFF00";
}
function regexbuddycleardup(regexoffset) {
document.getElementById("regex" + regexoffset).style.background = "white";
document.getElementById("tree" + regexoffset + "dup").style.background = "white";
}
--></SCRIPT>
<style type="text/css"><!--
body { margin: 0; padding: 0; background-color: white; color: black; font-family: sans-serif }
#regexbuddyregex { margin: 0; padding: 10pt; }
#regexbuddytree { font-size: 80%; }
h1 { margin: 0; padding-bottom: 10pt;}
ul { margin-top: 0; }
--></style>
</HEAD>
<BODY>
<DIV id="regexbuddyregex">
<TT CLASS=regexbuddy><SPAN ID="regex0" onMouseOver="regexbuddyhighlight('0')" onMouseOut="regexbuddyclear('0')">^</SPAN><SPAN ID="regex2" onMouseOver="regexbuddyhighlight('2')" onMouseOut="regexbuddyclear('2')">[</SPAN><SPAN ID="regex4" onMouseOver="regexbuddyhighlight('4')" onMouseOut="regexbuddyclear('4')">$_</SPAN><SPAN ID="regex8" onMouseOver="regexbuddyhighlight('8')" onMouseOut="regexbuddyclear('8')">\p{L}</SPAN><SPAN onMouseOver="regexbuddyhighlight('2')" onMouseOut="regexbuddyclear('2')">]</SPAN><SPAN ID="regex20" onMouseOver="regexbuddyhighlight('20')" onMouseOut="regexbuddyclear('20')">[</SPAN><SPAN ID="regex22" onMouseOver="regexbuddyhighlight('22')" onMouseOut="regexbuddyclear('22')">$_</SPAN><SPAN ID="regex26" onMouseOver="regexbuddyhighlight('26')" onMouseOut="regexbuddyclear('26')">\p{L}</SPAN><SPAN ID="regex36" onMouseOver="regexbuddyhighlight('36')" onMouseOut="regexbuddyclear('36')">\p{Mn}</SPAN><SPAN ID="regex48" onMouseOver="regexbuddyhighlight('48')" onMouseOut="regexbuddyclear('48')">\p{Mc}</SPAN><SPAN ID="regex60" onMouseOver="regexbuddyhighlight('60')" onMouseOut="regexbuddyclear('60')">\p{Nd}</SPAN><SPAN ID="regex72" onMouseOver="regexbuddyhighlight('72')" onMouseOut="regexbuddyclear('72')">\p{Pc}</SPAN><SPAN ID="regex84" onMouseOver="regexbuddyhighlight('84')" onMouseOut="regexbuddyclear('84')">\u200C</SPAN><SPAN ID="regex96" onMouseOver="regexbuddyhighlight('96')" onMouseOut="regexbuddyclear('96')">\u200D</SPAN><SPAN onMouseOver="regexbuddyhighlight('20')" onMouseOut="regexbuddyclear('20')">]</SPAN><SPAN ID="regex110" onMouseOver="regexbuddyhighlight('110')" onMouseOut="regexbuddyclear('110')">*+</SPAN><SPAN ID="regex114" onMouseOver="regexbuddyhighlight('114')" onMouseOut="regexbuddyclear('114')">$</SPAN></TT>
</DIV>
<DIV id="regexbuddytree"><UL CLASS="regexbuddy"><LI CLASS="regexanchor"><A HREF="http://www.regular-expressions.info/anchors.html"><SPAN ID="tree0" onMouseOver="regexbuddyhighlight('0')" onMouseOut="regexbuddyclear('0')">Assert position at the beginning of the string</SPAN></A><LI CLASS="regexcharclass"><A HREF="http://www.regular-expressions.info/charclass.html"><SPAN ID="tree2" onMouseOver="regexbuddyhighlight('2')" onMouseOut="regexbuddyclear('2')">Match a single character present in the list below</SPAN></A><UL CLASS="regexbuddy"><LI CLASS="regexcharclasschar"><A HREF="http://www.regular-expressions.info/charclass.html"><SPAN ID="tree4" onMouseOver="regexbuddyhighlight('4')" onMouseOut="regexbuddyclear('4')">One of the characters "$_"</SPAN></A><LI CLASS="regexcharclassspecial"><A HREF="http://www.regular-expressions.info/unicode.html#prop"><SPAN ID="tree8" onMouseOver="regexbuddyhighlight('8')" onMouseOut="regexbuddyclear('8')">A character with the Unicode property "letter" (any kind of letter from any language)</SPAN></A></UL><LI CLASS="regexcharclass"><A HREF="http://www.regular-expressions.info/charclass.html"><SPAN ID="tree20" onMouseOver="regexbuddyhighlight('20')" onMouseOut="regexbuddyclear('20')">Match a single character present in the list below</SPAN></A><UL CLASS="regexbuddy"><LI CLASS="regexrepeat"><A HREF="http://www.regular-expressions.info/possessive.html"><SPAN ID="tree110" onMouseOver="regexbuddyhighlight('110')" onMouseOut="regexbuddyclear('110')">Between zero and unlimited times, as many times as possible, without giving back (possessive)</SPAN></A><LI CLASS="regexcharclasschar"><A HREF="http://www.regular-expressions.info/charclass.html"><SPAN ID="tree22" onMouseOver="regexbuddyhighlight('22')" onMouseOut="regexbuddyclear('22')">One of the characters "$_"</SPAN></A><LI CLASS="regexcharclassspecial"><A HREF="http://www.regular-expressions.info/unicode.html#prop"><SPAN ID="tree26" onMouseOver="regexbuddyhighlight('26')" onMouseOut="regexbuddyclear('26')">A character with the Unicode property "letter" (any kind of letter from any language)</SPAN></A><LI CLASS="regexcharclassspecial"><A HREF="http://www.regular-expressions.info/unicode.html#prop"><SPAN ID="tree36" onMouseOver="regexbuddyhighlight('36')" onMouseOut="regexbuddyclear('36')">A character with the Unicode property "non-spacing mark" (a character intended to be combined with another character that does not take up extra space (e.g. accents, umlauts, etc.))</SPAN></A><LI CLASS="regexcharclassspecial"><A HREF="http://www.regular-expressions.info/unicode.html#prop"><SPAN ID="tree48" onMouseOver="regexbuddyhighlight('48')" onMouseOut="regexbuddyclear('48')">A character with the Unicode property "spacing combining mark" (a character intended to be combined with another character that takes up extra space (vowel signs in many Eastern languages))</SPAN></A><LI CLASS="regexcharclassspecial"><A HREF="http://www.regular-expressions.info/unicode.html#prop"><SPAN ID="tree60" onMouseOver="regexbuddyhighlight('60')" onMouseOut="regexbuddyclear('60')">A character with the Unicode property "decimal digit" (a digit zero through nine in any script except ideographic scripts)</SPAN></A><LI CLASS="regexcharclassspecial"><A HREF="http://www.regular-expressions.info/unicode.html#prop"><SPAN ID="tree72" onMouseOver="regexbuddyhighlight('72')" onMouseOut="regexbuddyclear('72')">A character with the Unicode property "connector punctuation" (a punctuation character such as an underscore that connects words)</SPAN></A><LI CLASS="regexcharclassspecial"><A HREF="http://www.regular-expressions.info/charclass.html"><SPAN ID="tree84" onMouseOver="regexbuddyhighlight('84')" onMouseOut="regexbuddyclear('84')">Unicode character U+200C</SPAN></A><LI CLASS="regexcharclassspecial"><A HREF="http://www.regular-expressions.info/charclass.html"><SPAN ID="tree96" onMouseOver="regexbuddyhighlight('96')" onMouseOut="regexbuddyclear('96')">Unicode character U+200D</SPAN></A></UL><LI CLASS="regexanchor"><A HREF="http://www.regular-expressions.info/anchors.html"><SPAN ID="tree114" onMouseOver="regexbuddyhighlight('114')" onMouseOut="regexbuddyclear('114')">Assert position at the end of the string (or before the line break at the end of the string, if any)</SPAN></A></UL></DIV>
<script type="text/javascript">
function resizetree() {
var winH;
if(!window.innerWidth) {
if(!(document.documentElement.clientWidth == 0)) { winH = document.documentElement.clientHeight; }
else { winH = document.body.clientHeight; }
} else { winH = window.innerHeight; }
if (winH) {
document.getElementById("regexbuddytree").style.height = (winH - document.getElementById("regexbuddyregex").offsetHeight - document.getElementById("regexbuddyfooter").offsetHeight) + "px";
}
}
window.onresize = resizetree; resizetree();
</script>
</BODY></HTML>