建设正则表达式,有如下两种方法:
- var re = /ar/;
- var re = new RegExp('ar');
上面的正则表达式是与给定字符串集匹配的表达式。界嗣魅正则表达式之后,我们可以实行匹配并查察匹配的字符串。可以行使 exec 函数匹配字符串:
- re.exec("car"); // returns ["ar", index: 1, input: "car"]
- re.exec("cab"); // returns null
有一些非凡的字符类应承我们编写伟大的正则表达式。RegEx 中有很多范例的元素,个中一些如下:
- 字符正则:w-字母数字, d- 数字, D- 没稀有字
- 字符类正则:[x-y] x-y区间, [^x] 没有x
- 数目正则:+ 至少一个、? 没或多个、* 多个
- 界线正则,^ 开始、$ 末了
例子如下:
- /* Character class */
-
- var re1 = /[AEIOU]/;
- re1.exec("Oval"); // returns ["O", index: 0, input: "Oval"]
- re1.exec("2456"); // null
- var re2 = /[1-9]/;
- re2.exec('mp4'); // returns ["4", index: 2, input: "mp4"]
-
- /* Characters */
-
- var re4 = /dDw/;
- re4.exec('1232W2sdf'); // returns ["2W2", index: 3, input: "1232W2sdf"]
- re4.exec('W3q'); // returns null
-
- /* Boundaries */
-
- var re5 = /^dDw/;
- re5.exec('2W34'); // returns ["2W3", index: 0, input: "2W34"]
- re5.exec('W34567'); // returns null
- var re6 = /^[0-9]{5}-[0-9]{5}-[0-9]{5}$/;
- re6.exec('23451-45242-99078'); // returns ["23451-45242-99078", index: 0, input: "23451-45242-99078"]
- re6.exec('23451-abcd-efgh-ijkl'); // returns null
-
- /* Quantifiers */
-
- var re7 = /d+D+$/;
- re7.exec('2abcd'); // returns ["2abcd", index: 0, input: "2abcd"]
- re7.exec('23'); // returns null
- re7.exec('2abcd3'); // returns null
- var re8 = /<([w]+).*>(.*?)</1>/;
- re8.exec('<p>Hello JS developer</p>'); //returns ["<p>Hello JS developer</p>", "p", "Hello JS developer", index: 0, input: "<p>Hello JS developer</p>"]
除了 exec 之外,尚有其他函数,即 match、search 和 replace,可以行使正则表达式在另一个字符串中查找字符串,可是这些函数在字符串自己上行使。
- "2345-678r9".match(/[a-z A-Z]/); // returns ["r", index: 8, input: "2345-678r9"]
- "2345-678r9".replace(/[a-z A-Z]/, ""); // returns 2345-6789
Regex 是一个重要的主题,开拓职员应该领略它,以便轻松办理伟大的题目。
9)领略 map、reduce 和 filter
函数式编程是当今的一个热点接头话题。很多编程说话都在新版本中包括了函数观念,好比 lambdas(譬喻:Java >7)。在 JavaScrip t中,函数式编程布局的支持已经存在很长时刻了。我们必要深入进修三个首要函数。数学函数接管一些输入和返回输出。纯函数都是给定的输入返回沟通的输出。我们此刻接头的函数也满意纯度。
map (编辑:湖南网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|