JavaScript中的正则表达式解析

Javascript正则解析出代码的函数体 How to use regex to capture and extract "class/function" context in source code? 如何使用正则表达式提取代码中的函数内容,本文以Solidity为例,提取函数,合约代码体。最关键的是要解决嵌套匹配问题。 阅读详情

JavaScript中的正则表达式解析

http://www.webjx.com  更新日期:2005-10-22 07:20  出处:  作者:

  正则表达式是一个描述字符模式的对象。

  JavaScript的RegExp对象和String对象定义了使用正则表达式来执行强大的模式匹配和文本检索与替换函数的方法.

  在JavaScript中,正则表达式是由一个RegExp对象表示的.当然,可以使用一个RegExp()构造函数来创建RegExp对象,也可以用JavaScript 1.2中的新添加的一个特殊语法来创建RegExp对象.就像字符串直接量被定义为包含在引号内的字符一样,正则表达式直接量也被定义为包含在一对斜杠(/)之间的字符.所以,JavaScript可能会包含如下的代码:

var pattern = /s$/;

  这行代码创建一个新的RegExp对象,并将它赋给变量parttern.这个特殊的RegExp对象和所有以字母"s"结尾的字符串都匹配.用RegExp()也可以定义一个等价的正则表达式,代码如下:

var pattern = new RegExp("s$");

  无论是用正则表达式直接量还是用构造函数RegExp(),创建一个RegExp对象都是比较容易的.较为困难的任务是用正则表达式语法来描述字符的模式.JavaScript采用的是Perl语言正则表达式语法的一个相当完整的子集.

  正则表达式的模式规范是由一系列字符构成的.大多数字符(包括所有字母数字字符)描述的都是按照字面意思进行匹配的字符.这样说来,正则表达式/java/就和所有包含子串 "java" 的字符串相匹配.虽然正则表达式中的其它字符不是按照字面意思进行匹配的,但它们都具有特殊的意义.正则表达式 /s$/ 包含两个字符.

  第一个特殊字符 "s" 是按照字面意思与自身相匹配.第二个字符 "$" 是一个特殊字符,它所匹配的是字符串的结尾.所以正则表达式 /s$/ 匹配的就是以字母 "s" 结尾
的字符串.

  1.直接量字符

  我们已经发现了,在正则表达式中所有的字母字符和数字都是按照字面意思与自身相匹配的.JavaScript的正则表达式还通过以反斜杠(/)开头的转义序列支持某些非

  字母字符.例如,序列 "/n" 在字符串中匹配的是一个直接量换行符.在正则表达式中,许多标点符号都有特殊的含义.下面是这些字符和它们的含义:

  正则表达式的直接量字符

字符 匹配
________________________________
字母数字字符 自身
/ f 换页符
/ n 换行符
/ r 回车
/ t 制表符
/ v 垂直制表符
/ / 一个 / 直接量
/ / 一个 / 直接量
/ . 一个 . 直接量
/ * 一个 * 直接量
/ + 一个 + 直接量
/ ? 一个 ? 直接量
/ | 一个 | 直接量
/ ( 一个 ( 直接量
/ ) 一个 ) 直接量
/ [ 一个 [ 直接量
/ ] 一个 ] 直接量
/ { 一个 { 直接量
/ } 一个 } 直接量
/ XXX 由十进制数 XXX 指 定的ASCII码字符
/ Xnn 由十六进制数 nn 指定的ASCII码字符
/ cX 控制字符^X. 例如, /cI等价于 /t, /cJ等价于 /n

___________________________________________________

如果想在正则表达式中使用特殊的标点符号,必须在它们之前加上一个 "/" .

  2.字符类

  将单独的直接符放进中括号内就可以组合成字符类.一个字符类和它所包含的任何一个字符都匹配,所以正则表达式 / [abc] / 和字母 "a" , "b" , "c" 中的任何一个都匹配.另外还可以定义否定字符类,这些类匹配的是除那些包含在中括号之内的字符外的所有字符.定义否定字符尖时,要将一个 ^ 符号作为从左中括号算起的第一个字符.正则表达式的集合是 / [a-zA-z0-9] / .

  由于某些字符类非常常用,所以JavaScript的正则表达式语法包含一些特殊字符和转义序列来表示这些常用的类.例如, /s 匹配的是空格符,制表符和其它空白符, /s匹配的则是空白符之外的任何字符.

  正则表灰式的字符类

字符 匹配
____________________________________________________
[...] 位于括号之内的任意字符
[^...] 不在括号之中的任意字符
. 除了换行符之外的任意字符,等价于[^/n]
/w 任何单字字符, 等价于[a-zA-Z0-9]
/W 任何非单字字符,等价于[^a-zA-Z0-9]
/s 任何空白符,等价于[/ t / n / r / f / v]
/S 任何非空白符,等价于[^/ t / n / r / f / v]
/d 任何数字,等价于[0-9]
/D 除了数字之外的任何字符,等价于[^0-9]
[/b] 一个退格直接量(特例)
________________________________________________________________

  3.复制

  用以上的正则表式的语法,可以把两位数描述成 / / d / d /,把四位数描述成 / /d / d / d / d /.但我们还没有一种方法可以用来描述具有任意多数位的数字或者是一个

  字符串.这个串由三个字符以及跟随在字母之后的一位数字构成.这些复杂的模式使用的正则表达式语法指定了该表达式中每个元素要重复出现的次数.

  指定复制的字符总是出现在它们所作用的模式后面.由于某种复制类型相当常用.所以有一些特殊的字符专门用于表示它们.例如: +号匹配的就是复制前一模式一次或多次的模式.下面的表列出了复制语法.先看一个例子:

//d{2, 4}/ //匹配2到4间的数字.

//w{3} /d?/ //匹配三个单字字符和一个任意的数字.

//s+java/s+/ //匹配字符串"java" ,并且该串前后可以有一个或多个空格.

/[^"] * / //匹配零个或多个非引号字符.


  正则表达式的复制字符

字符 含义
__________________________________________________________________
{n, m} 匹配前一项至少n次,但是不能超过m次
{n, } 匹配前一项n次,或者多次
{n} 匹配前一项恰好n次
? 匹配前一项0次或1次,也就是说前一项是可选的. 等价于 {0, 1}
+ 匹配前一项1次或多次,等价于{1,}
* 匹配前一项0次或多次.等价于{0,}
___________________________________________________________________


  4.选择,分组和引用

  正则表达式的语法还包括指定选择项,对子表达式分组和引用前一子表达式的特殊字符.字符| 用于分隔供选择的字符.例如: /ab|cd|ef/ 匹配的是字符串 "ab",或者是字符串 "cd",又或者 "ef". //d{3}|[a-z]{4}/ 匹配的是要么是一个三位数,要么是四个小写字母.在正则表达式中括号具有几种作用.它的主要作用是把单独的项目分组成子表达式,以便可以像处理一个独立的单元那种用 *、+或? 来处理那些项目.例如: /java(script) ?/ 匹配的是字符串 "java",其后既可以有 "script",也可以没有. /(ab|cd) + |ef) / 匹配的既可以是字符串 "ef",也可以是字符串"ab" 或者 "cd" 的一次或多次重复.

  在正则表达式中,括号的第二个用途是在完整的模式中定义子模式。当一个正则表达式成功地和目标字符串相匹配时,可以从目标串中抽出和括号中的子模式相匹配的部分.例如,假定我们正在检索的模式是一个或多个字母后面跟随一位或多位数字,那么我们可以使用模式 / [a-z] + / d+/.但是由于假定我们真正关心的是每个匹配尾部的数字,那么如果我们将模式的数字部分放在括号中 (/ [a-z] + (/d+)/) ,我们就可以从所检索到的任何匹配中抽取数字了,之后我们会对此进行解析的.

  代括号的子表达式的另一个用途是,允许我们在同一正则表达式的后面引用前面的子表达式.这是通过在字符串 / 后加一位或多位数字来实现的.数字指的是代括号的子表达式在正则表达式中的位置.例如: /1 引用的是第一个代括号的子表达式. /3 引用的是第三个代括号的子表达式.注意,由于子表达式可以嵌套在其它子表达式中,所以它的位置是被计数的左括号的位置.

  例如:在下面的正则表达式被指定为 /2:
/([Jj]ava([Ss]cript)) /sis /s (fun/w*) /


  对正则表达式中前一子表达式的引用所指定的并不是那个子表达式的模式,而是与那个模式相匹配的文本.这样,引用就不只是帮助你输入正则表达式的重复部分的快捷方式了,它还实施了一条规约,那就是一个字符串各个分离的部分包含的是完全相同的字符.例如:下面的正则表达式匹配的就是位于单引号或双引号之内的所有字符.但是,它要求开始和结束的引号匹配(例如两个都是双引号或者都是单引号):

/[' "] [^ ' "]*[' "]/


  如果要求开始和结束的引号匹配,我们可以使用如下的引用:

/( [' "] ) [^ ' "] * /1/

  /1匹配的是第一个代括号的子表达式所匹配的模式.在这个例子中,它实施了一种规约,那就是开始的引号必须和结束的引号相匹配.注意,如果反斜杠后跟随的数字比代括号的子表达式数多,那么它就会被解析为一个十进制的转义序列,而不是一个引用.你可以坚持使用完整的三个字符来表示转义序列,这们就可以避免混淆了.例如,使用 /044,而不是/44.下面是正则表达式的选择、分组和引用字符:

字符 含义
______________________________________
| 选择.匹配的要么是该符号左边的子表达式,要么它右边的子表达式
(...) 分组.将几个项目分为一个单元.这个单元可由 *、+、?和|等符号使用,而且还可以记住和这个组匹配的字符以供此后引用使用
/n 和第n个分组所匹配的字符相匹配.分组是括号中的子表达式(可能是嵌套的).分组号是从左到右计数的左括号数
______________________________________

  5.指定匹配的位置

  我们已经看到了,一个正则表达式中的许多元素才能够匹配字符串的一个字符.例如: /s 匹配的只是一个空白符.还有一些正则表达式的元素匹配的是字符之间宽度为0的空间,而不是实际的字符例如: /b 匹配的是一个词语的边界,也就是处于一个/w字字符和一个/w非字字符之间的边界.像/b 这样的字符并不指定任何一个匹配了的字符串中的字符,它们指定的是匹配所发生的合法位置.有时我们称这些元素为正则表达式的锚.因为它们将模式定位在检索字符串中的一个特定位置.最常用的锚元素是 ^, 它使模式依赖于字符串的开头,而锚元素$则使模式定位在字符串的末尾.

  例如:要匹配词 "javascript" ,我们可以使用正则表达式 /^ javascript $/. 如果我们想检索 "java" 这个词自身 (不像在 "javascript" 中那样作为前缀),那么我们可以使用模式 //s java /s /, 它要求在词语java之前和之后都有空格.但是这样作有两个问题.第一: 如果 "java" 出现在一个字符的开头或者是结尾.该模式就不会与之匹配,除非在开头和结尾处有一个空格. 第二: 当这个模式找到一个与之匹配的字符时,它返回的匹配的字符串前端和后端都有空格,这并不是我们想要的.因此,我们使用词语的边界 /b 来代替真正的空格符 /s 进行匹配. 结果表达式是 //b java /b/.

下面是正则表达式的锚字符:


字符 含义
____________________________________________________________________
^ 匹配的是字符的开头,在多行检索中,匹配的是一行的开头
$ 匹配的是字符的结尾,在多行检索中,匹配的是一行的结尾
/b 匹配的是一个词语的边界.简而言之就是位于字符/w 和 /w之间的位置(注意:[/b]匹配的是退格符)
/B 匹配的是非词语的边界的字符
_____________________________________________________________________

  6.属性

  有关正则表达式的语法还有最后一个元素,那就是正则表达式的属性,它说明的是高级模式匹配的规则.和其它正则表达式语法不同,属性是在 / 符号之外说明的.即它们不出现在两个斜杠之间,而是位于第二个斜杠之后.javascript 1.2支持两个属性.属性 i 说明模式匹配应该是大小写不敏感的.属性 g 说明模式匹配应该是全局的.也就是说,应该找出被检索的字符串中所有的匹配.这两种属性联合起来就可以执行一个全局的,大小写不敏感的匹配.

  例如: 要执行一个大小不敏感的检索以找到词语 "java" (或者是 "java" 、"JAVA"等) 的第一个具体值,我们可以使用大小不敏感的正则表达式 //b java/b/i .如果要在一个字符串中找到 "java" 所有的具体值,我们还可以添加属性 g, 即 //b java /b/gi .

以下是正则表达式的属性:


字符 含义
_________________________________________
i 执行大小写不敏感的匹配
g 执行一个全局的匹配,简而言之,就是找到所有的匹配,而不是在找到第一个之后就停止了
_________________________________________

  除属性 g 和 i 之外,正则表达式就没有其它像属性一样的特性了.如果将构造函数 RegExp 的静态属性 multiline 设置为 true ,那么模式匹配将以多行的模式进行.在这种模式下,锚字符 ^ 和 $ 匹配的不只是检索字符串的开头和结尾,还匹配检索字符串内部的一行的开头和结尾.例如: 模式 /Java$/ 匹配的是 "Java",但是并不匹配"Java/nis fun" .如果我们设置了 multiline 属性,那么后者也将被匹配:

RegExp.multiline = true;

  正则表达式(regular expression)对象包含一个正则表达式模式(pattern)。它具有用正则表达式模式去匹配或代替一个串(string)中特定字符(或字符集合)的属性(properties)和方法(methods)。要为一个单独的正则表达式添加属性,可以使用正则表达式构造函数(constructor function),无论何时被调用的预设置的正则表达式拥有静态的属性(the predefined RegExp object has static properties that are set whenever any regular expression is used, 我不知道我翻得对不对,将原文列出,请自行翻译)。

  • 创建:
    一个文本格式或正则表达式构造函数
    文本格式: /pattern/flags
    正则表达式构造函数: new RegExp("pattern"[,"flags"]);
  • 参数说明:
    pattern -- 一个正则表达式文本
    flags -- 如果存在,将是以下值:
    g: 全局匹配
    i: 忽略大小写
    gi: 以上组合

[注意] 文本格式的参数不用引号,而在用构造函数时的参数需要引号。如:/ab+c/i new RegExp("ab+c","i")是实现一样的功能。在构造函数中,一些特殊字符需要进行转意(在特殊字符前加"/")。如:re = new RegExp("//w+")

  正则表达式中的特殊字符

字符含意
/

做为转意,即通常在"/"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后//b/,转意为匹配一个单词的边界。
-或-
对正则表达式功能字符的还原,如"*"匹配它前面元字符0次或多次,/a*/将匹配a,aa,aaa,加了"/"后,/a/*/将只匹配"a*"。

^匹配一个输入或一行的开头,/^a/匹配"an A",而不匹配"An a"
$匹配一个输入或一行的结尾,/a$/匹配"An a",而不匹配"an A"
*匹配前面元字符0次或多次,/ba*/将匹配b,ba,baa,baaa
+匹配前面元字符1次或多次,/ba*/将匹配ba,baa,baaa
?匹配前面元字符0次或1次,/ba*/将匹配b,ba
(x)匹配x保存x在名为$1...$9的变量中
x|y匹配x或y
{n}精确匹配n次
{n,}匹配n次以上
{n,m}匹配n-m次
[xyz]字符集(character set),匹配这个集合中的任一一个字符(或元字符)
[^xyz]不匹配这个集合中的任何一个字符
[/b]匹配一个退格符
/b匹配一个单词的边界
/B匹配一个单词的非边界
/cX这儿,X是一个控制符,//cM/匹配Ctrl-M
/d匹配一个字数字符,//d/ = /[0-9]/
/D匹配一个非字数字符,//D/ = /[^0-9]/
/n匹配一个换行符
/r匹配一个回车符
/s匹配一个空白字符,包括/n,/r,/f,/t,/v等
/S匹配一个非空白字符,等于/[^/n/f/r/t/v]/
/t匹配一个制表符
/v匹配一个重直制表符
/w匹配一个可以组成单词的字符(alphanumeric,这是我的意译,含数字),包括下划线,如[/w]匹配"$5.98"中的5,等于[a-zA-Z0-9]
/W匹配一个不可以组成单词的字符,如[/W]匹配"$5.98"中的$,等于[^a-zA-Z0-9]。

  说了这么多了,我们来看一些正则表达式的实际应用的例子:

E-mail地址验证:
 function test_email(strEmail) {
  var myReg = /^[_a-z0-9]+@([_a-z0-9]+/.)+[a-z0-9]{2,3}$/;
  if(myReg.test(strEmail)) return true;
  return false;
 }
HTML代码的屏蔽
 function mask_HTMLCode(strInput) {
   var myReg = /<(/w+)>/;
   return strInput.replace(myReg, "&lt;$1&gt;");
 }

正则表达式对象的属性及方法
  预定义的正则表达式拥有有以下静态属性:input, multiline, lastMatch, lastParen, leftContext, rightContext和$1到$9。其中input和multiline可以预设置。其他属性的值在执行过exec或test方法后被根据不同条件赋以不同的值。许多属性同时拥有长和短(perl风格)的两个名字,并且,这两个名字指向同一个值。(JavaScript模拟perl的正则表达式)
正则表达式对象的属性
属性含义
$1...$9如果它(们)存在,是匹配到的子串
$_参见input
$*参见multiline
$&参见lastMatch
$+参见lastParen
$`参见leftContext
$’         参见rightContext
constructor   创建一个对象的一个特殊的函数原型
global      是否在整个串中匹配(bool型)
ignoreCase    匹配时是否忽略大小写(bool型)
input       被匹配的串
lastIndex    最后一次匹配的索引
lastParen    最后一个括号括起来的子串
leftContext   最近一次匹配以左的子串
multiline    是否进行多行匹配(bool型)
prototype    允许附加属性给对象
rightContext   最近一次匹配以右的子串
source      正则表达式模式
lastIndex    最后一次匹配的索引

正则表达式对象的方法
方法含义
compile     正则表达式比较
exec       执行查找
test       进行匹配
toSource     返回特定对象的定义(literal representing),其值可用来创建一个新的对象。重载Object.toSource方法得到的。
toString     返回特定对象的串。重载Object.toString方法得到的。
valueOf     返回特定对象的原始值。重载Object.valueOf方法得到
例子
<script language = "JavaScript">
var myReg = /(/w+)/s(/w+)/;
var str  = "John Smith";
var newstr = str.replace(myReg, "$2, $1");
document.write(newstr);
</script>
将输出"Smith, John"
 
深入解析JavaScript正则表达式及其应用 本文深入探讨了JavaScript中的正则表达式,通过parse_url和parse_number两个实例,详细解释了正则表达式的构成和工作原理。强调了正则表达式在简洁性和功能性之间的平衡,以及它们在实现语言中的高兼容性和潜在的可移植性问题。 阅读详情

相关推荐

深入解析正则表达式及其在JavaScript中的应用

正向预查(Positive Lookahead)是一种零宽断言,它允许我们确保某个模式的存在,但又不实际捕获那个模式,也就是说,匹配的结果不包含在匹配中。定义:正向预查的语法为=pattern),其中pattern是我们希望在目标字符串中出现的模式。它紧跟在需要匹配的文本之后。应用示例:假设我们想要匹配一个字符串,该字符串后面紧跟着单词 "world":=World)/;// 输出: "Hello"反向预查(Negative Lookahead)则是用来确保某个模式不存在。

weixin_36012152的博客 1016

Javascript之正则表达式略解

[ 2006-03-09 11:40:16 | 作者: choucou ] フォントサイズ: 大 | 中 | 小 Javascript之正则表达式正则表达式是一个描述字符模式的对象。  JavaScript的RegExp对象和String对象定义了使用正则表达式来执行强大的模式匹配和文本检索与替换函数的方法.  在JavaScript中,正则表达式是由一个RegExp对象表示的.当然,可以

大漠 1122

3DGS-to-PC实战指南:零代码实现3D高斯场景到点云/Mesh的高效转换

本文详细介绍了3DGS-to-PC工具如何实现3D高斯场景到点云/Mesh的高效转换,无需代码即可完成。通过实战案例和参数调优技巧,帮助用户快速掌握这一开源插件的使用方法,提升3D数据处理效率。特别适合建筑扫描、影视特效等领域的专业人士。

q1w3e5r7t9y的博客 274

实现在线翻译js文件

在网页body中添加下面的js脚本引用,就可实现在线翻译:http://dict.cn/hc/" type="text/javascript">

huachao1的专栏 2977

电流采样电路设计:差分放大与ADC采集详解

在电机控制、电源管理、电池监测等应用中,电流采样是一个关键环节。通常,我们使用小阻值的采样电阻将电流信号转换为电压信号,再通过运放放大后送入ADC进行采集。本文将详细分析一种基于差分放大器的电流采样电路,包括信号放大、参考电压偏置、滤波保护以及ADC转换计算等内容。

W0s477的博客 2万+

一步步带你用C#开发Modbus通信上位机(附完整代码与工程思路)

Modbus上位机开发指南(C#实现) 本文详细介绍使用C#开发Modbus上位机系统的全过程,覆盖RTU和TCP两种协议。内容包含:1)需求分析与技术选型(WinForms+NModbus4);2)分层架构设计(UI/业务/通信层);3)通信层核心代码实现(串口/以太网连接、数据读写);4)功能模块开发(设备管理、数据采集、远程控制)。提供可直接复用的Modbus RTU客户端代码示例,包含连接管理、线圈读写、寄存器操作等工业场景必备功能。通过系统化的开发流程,帮助开发者快速构建稳定可靠的Modbus监控

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 821

在线正则表达式测试器(JavaScript)

在线正则表达式测试器(JavaScript) https://deerchao.cn/tools/wegester/

qq_43278973的博客 933

ESD防护设计宝典(十九):元器件选型宝典——共模电感

然而,这位“大师”的脾气也颇为古怪,若设计者不解其性、用之不当,它非但不能抑制噪声,反而会引入信号完整性恶化、电源压降等新问题,甚至让您的系统EMC性能“雪上加霜”,导致项目在测试阶段功亏一篑。本文将带您深入共模电感的内在世界,从本质解析到参数详解,从设计陷阱到实战选型,全方位领悟其平衡艺术,掌握其应用核心,规避那些足以让项目翻车的致命陷阱。:这是存在于电路板内部的“家贼”。共模电感实质上是一个四端器件,它通过磁场的“加法”与“减法”运算,巧妙地实现了对共模噪声的抑制,同时为差模信号大开绿灯。

m0_56451176的博客 421

正则表达式转换为相应的文字小工具

正则表达式转换为相应的文字小工具

BJ1599449的博客 4328

手把手教你学simulink(8.39)--基于Simulink的步进电机(Stepper Motor)仿真实例

通过这个仿真实例,你可以学习如何使用Simulink构建和仿真步进电机(Stepper Motor)系统。你可以根据实际需求调整模型和参数,进行更复杂的仿真和分析。希望这个例子对你有所帮助,祝你学习愉快!

MHD0815的博客 1052

基于C#的工业机器人上位机控制程序开发(搭配松下PLC+MC协议)

基于C#的工业机器人上位机控制程序开发,核心是上位机与松下PLC的MC协议通信和机器人控制的安全逻辑,而不是单纯的界面编写。在工控现场,程序的稳定性和安全性永远是第一位的——比如解耦通信逻辑、处理跨线程问题、添加安全互锁、记录操作日志,这些都是保证产线稳定运行的关键。新手在学习时,建议先跟着步骤搭建好环境,跑通基础的PLC通信和机器人控制功能,再逐步尝试进阶优化。数据模型化、通信封装化、逻辑模块化、UI解耦化。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1240

js html正则解析,JavaScript中的正则表达式解析

JavaScript中的正则表达式解析更新时间:2006年07月29日 00:00:00 作者:JavaScript中的正则表达式解析正则表达式(regular expression)对象包含一个正则表达式模式(pattern)。它具有用正则表达式模式去匹配或代替一个字符串(string)中特定字符(或字符集合)的属性(properties)和方法(methods)。要为一个单独的正则表达式添...

weixin_29867767的博客 341

【即插即用模块】Transformer篇 | MICCAI 2025 | ReLULA:Q/K双ReLU线性注意力,既轻又准!

本文介绍了一种基于线性注意力的多实例学习模块(Lin-MIL),适用于高分辨率视觉任务。该模块通过转置计算顺序和使用ReLU激活,将计算复杂度从O(n²d)降至O(nd²),同时提升特征判别性。核心创新包括Q/K双ReLU激活、可学习温度系数和数值稳定归一化。实验表明,该模块在轻量化视觉任务中优于传统线性注意力和Mamba架构。代码实现了模块化矩阵乘法,支持即插即用替换ViT自注意力层。该模块特别适合计算病理学等需要处理大量图像补丁的任务。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 140

js html正则解析,JavaScript 正则表达式解析

JavaScript 正则表达式解析更新时间:2009年02月21日 03:51:20 作者:正则表达式是一个描述字符模式的对象。JavaScript的RegExp对象和String对象定义了使用正则表达式来执行强大的模式匹配和文本检索与替换函数的方法.在JavaScript中,正则表达式是由一个RegExp对象表示的.当然,可以使用一个RegExp()构造函数来创建RegExp对象,也可以用...

weixin_34416115的博客 427

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

JavaScript中的正则表达式解析[JS正则知识]

看到很有用的知识,转载一下:原文见: http://blog.youkuaiyun.com/oanqoanq/article/details/3913319 在转载过程中有些关于正反斜杠的问题,我已经更改过来(估计是跟各个IDE有关吧),可能有些地方没注意到,漏了更改,希望帮指正... 一,正则表达式是一个描述字符模式的对象    JavaScript的 RegExp 对象和String对象定义

shenzhenNBA的专栏 4065

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

解析js代码,正则表达式

var template = function(tpl, data) { var re = /{{(.+?)}}/g, cursor = 0, reExp = /(^( )?(var|if|for|else|switch|case|break|{|}|;))(.*)?/g, code = 'var r=[];\n'; // 解析html functio

blackberry的博客 2892

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

简单解析JavaScript中的正则表达式对象

简单解析JavaScript中的正则表达式对象 今天这篇篇博客来和大家讲一下JavaScript中的RegExp对象。 正则表达式:RegExp(Regular Expression)对象,简称正则式。时用来描述字符模式的对象,可以对字符串进行检索,匹配,替换等操作。 1.创建正则表达式 // 字面量 // 语法:var reg1=/表达式/修饰符 var reg=/a/igm; // 构造函数 // 语法:var reg2=new RegExp(表达式,修饰符)

qq_39155611的博客 1040

简单解析JavaScript中的正则表达式(二)

简单解析JavaScript中的正则表达式(二) 上篇文章讲解了JavaScript中正则表达式的创建以及怎样在字符串方法中使用。这篇文章主要讲解正则表达式的属性和方法。 1.正则表达式的方法 // test() 测试 检索字符串中的值是否符合匹配的条件 true false var str="hello world"; var reg=/hellO/; console.log(reg.test(str)); // exec() 检索字符串中指定的值。

qq_39155611的博客 1052

JS正则表达式解析出网址中的域名部分

 以下为JS正则表达式解析域名的相关表达式://解析域名段str = "https://www.sk2.baidu.com.cn/sina.php";re = /(w+)://([^/:]+)(:d*)?([^# ]*)/;found = str.match(re);//解析域名re1 = /(w+)+.+(w+.(com.cn|net.cn|com|cn|net|org))/i;foun

Welcome To Tangn.com 2442

通过Lighter.js代码解析正则表达式

通过Lighter.js代码解析正则表达式 完善正则表达式可能会花费大量时间和测试,但一旦实现则绝对是黄金。 在浏览MooTools语法突出显示工具Lighter.js的源代码时,我偶然发现了一些您可能感兴趣的代码解析正则表达式。 JavaScript // Matches a C style single-line comment. slashComments: /(?:^|[^...

Web 开发&软件开发 157

html5正则表达式解析,Regulex-JavaScript正则表达式解析和可视化工具

Regulex是一款JavaScript正则表达式解析和可视化工具。通过该工具可以对任何正则表达式进行解析,并以可视化图表的显示显示该正则表达式的解析流程结构,还可以将图表导出为图片。它的特点还有:纯JavaScript编写。你可以通过iframe直接将可视化图表嵌入到你的页面中。显示详细的错误信息。在大多数情况下,它可以指出精确的语法错误位置。不支持八进制escape。ECMAScript的st...

weixin_35129495的博客 340

【JavaScript】常用正则表达式 +歌词解析 + 时间格式化

【JavaScript】常用正则表达式 +歌词解析 + 时间格式化

羊羊羊羊羊羊羊的博客 1148

JavaScript全解析——正则表达式

●注意: 第二次捕获是从第一次的结束位置开始向后查询, 直到最后捕获不到为止, 再下一次的时候, 又从字符串的 索引0 开始检索。●\ : 转译符号,把有意义的 符号 转换成没有意义的 字符,把没有意义的 字符 转换成有意义的 符号。●{n,m} : 前一个内容至少出现 n 次至多出现 m 次,也就是出现 n ~ m 次。●{n,} : 前一个内容至少出现 n 次,也就是出现 n ~ 正无穷 次。●. : 匹配非换行的任意字符 表示字符串中至少要有一个非换行的内容。

千锋教育 738

js解析url query_JS获取url中query_str JavaScript RegExp 正则表达式基础详谈

面我们举例一个URL,然后获得它的各个组成部分:http://i.cnblogs.com/EditPosts.aspx?opt=11、window.location.href(设置或获取整个 URL 为字符串)var test = window.location.href;alert(test);返回:http://i.cnblogs.com/EditPosts.aspx?opt=12、windo...

weixin_36167031的博客 401
上一篇: 各种数据库的JDBC驱动下载及连接字符串URL写法
下一篇: Junit学习笔记
FutureInHands
博客等级 码龄20年 1粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值