烦人的正则表达式(二)

上一章我们了解了正则表达式的基本元素与语法结构,但这还远远不够,我们还要把学到的知识转换为实际的可运行的代码。现在我将进一步介绍正则表达式及相关的函数。

应用正则表达式的有PHP和JavaScript,python等语言,虽然语法结构大致相同,但结合函数运用又有所不同。

JavaScript

search() -- 该函数并不像中文翻译搜索表示能否找到字符串的意思,该函数会查找字符串,然后返回字符串的起始位置(从0开始)。如果找不到,则返回-1。

var test = "abcdefg";

var t = test.search("c");

document.write(t);

页面输出 2

replace() -- 替换函数,用于匹配字符串中的第一个参数并将其替换成第二个参数。

var str = "aaa";

var test = str.replace("aaa","bbb");

document.write(str);

页面输出 bbb

test() -- 用于检测某个字符串是否存在于文本中。如果存在匹配字符串,则返回true,否则返回false。

patt1 = "hello";

patt2 = "el";

patt3 = "1";var a = patt1.test("hello world!");

var b = patt2.test("hello world!");

var c = patt3.test("hello world!");

document.write(a," ",b," ",c);

a,b,c相应为true true false。结合之前结束的不难理解,文本虽然没有el这个单独的子字符串 ,但el存在于hello中,且没有限制边界,所以匹配成功。

exec() -- 这个函数比test()函数常见多了,其实这两者匹配机制与语法都一样,只是返回值不一样。匹配成功时会返回匹配字符,失败则返回null。

patt1 = "hello";

patt2 = "hi";

var a = patt1.exec("hello world");

var b = patt2.exec("hello world");

document.write(a," ",b);

页面输出hello null,这其中的规律相信你一眼就能看出来了。

match() -- 匹配及用法与exec()这些类似,但返回的是包含搜索结果的数组或是null。

var str = "abcdefg";

var t = str.match("[a-c]");

for(int i=0;i

document.write(t[i]+" ");

页面输出a b c。该函数匹配成功一次后会继续匹配,直到字符串末尾。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181120G1MBGH00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券