实例学正则表达式之三 -- 如何获取URL的中参数值


function getUrlParam(name){
    var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
    var r = window.location.search.substr(1).match(reg);
    if (r!=null) {
     return unescape(r[2]);
    }
 return null;
  }
 
alert(getUrlParam("Id"));


如当前的URL是http://localhost/test/Untitled-11.html?Id=12456,那么函数返回12456,

正则表达式"(^|&)"+ name +"=([^&]*)(&|$)"是这个函数的关键

函数的返回值r[2],代表了正则表达式中的第二个匹配 ([^&]*)。  为什么"([^&]*)"能匹配12456 呢?

根据正则表达式的语法,[^xyz] 负值字符集合。匹配未包含的任意字符。 例如, '[^abc]' 可以匹配 "plain" 中的'p'。 "[^&]*"就是零个或多个除"&"之外任意字符。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: LabVIEW正则表达式是一种强大的文本处理工具,它可以用来在字符串查找、匹配和替换特定的模式。 LabVIEW提供了几个函数来支持正则表达式的使用,包括Match Regular Expression、Replace Regular Expression Match、Search Regular Expression等。 Match Regular Expression是最常用的函数,它可以根据正则表达式模式在输入的字符串查找匹配项,并返回匹配的结果。这个函数可以用来验证输入的格式是否符合特定的模式。它接受两个输入参数:待匹配的字符串和正则表达式模式。如果找到匹配项,则返回True,否则返回False。 Replace Regular Expression Match函数可以用来替换字符串正则表达式模式匹配的部分。它接受三个输入参数:待替换的字符串、正则表达式模式和替换后的字符串。它会将字符串所有匹配的部分替换为指定的字符串。 Search Regular Expression函数可以用来在字符串搜索与正则表达式模式匹配的所有位置。它返回一个数组,数组的每个元素都包含了匹配的位置信息。 正则表达式的语法非常灵活,可以表达很多复杂的匹配模式。常见的用法包括匹配邮箱、电话号码、URL等。例如,使用正则表达式模式"\\d{3}-\\d{4}-\\d{4}",可以匹配格式为XXX-XXXX-XXXX的电话号码。 总之,LabVIEW正则表达式提供了一种强大的文本处理工具,可以用来查找、匹配和替换特定的模式。习和掌握正则表达式的使用,可以帮助我们更高效地处理和分析各种文本数据。 ### 回答2: LabVIEW正则表达式是一种用于字符串匹配和搜索的强大工具。正则表达式是由一系列字符和特殊字符构成的模式,可以用来检查字符串是否符合某个规则,或者从字符串提取符合某个规则的部分。 LabVIEW可以使用正则表达式的模式匹配工具函数来进行字符串的模式匹配和搜索。常用的函数有Match Pattern和Array Match Pattern。 Match Pattern函数用于检查一个字符串是否符合给定的正则表达式模式,返回布尔值。例如,可以使用"^LabVIEW"模式来检查字符串是否以"LabVIEW"开头。 Array Match Pattern函数用于在一个字符串数组搜索符合给定正则表达式模式的元素,并返回符合条件的元素的索引。例如,可以使用"\d+"模式来搜索一个字符串数组的所有整数元素。 在LabVIEW正则表达式模式可以包含各种特殊字符和元字符,用于表示不同类型的字符和匹配方式。一些常见的特殊字符和元字符包括: - ".":匹配任意字符 - "^":匹配字符串的起始位置 - "$":匹配字符串的结束位置 - "*":匹配前一个字符的零个或多个实例 - "+":匹配前一个字符的一个或多个实例 - "?":匹配前一个字符的零个或一个实例 - "[]":指定一个字符范围,如[a-z]表示小写字母范围 此外,LabVIEW还提供了一些与正则表达式相关的函数和工具,如正则表达式替换、拆分字符串和提取匹配结果等。 总之,LabVIEW正则表达式提供了一种强大而灵活的字符串模式匹配和搜索工具,能够大大简化字符串处理和分析的过程。通过熟练掌握正则表达式的语法和使用方法,可以更高效地进行字符串处理和分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值