jQuery1.3.2 源码学习 -2 两个重要的正则表达式

32 // Is it a simple selector

33 isSimple = /^.[^:#\[\.,]*$/

 

/ / 表示这是正则表达式

^ 表示开始部分

$ 表示结束部分

  

. 匹配除了 \n 之外的任何字符

[^character_group] 表示不在字符集合中

[^:#\[\.,] 表示除了冒号 (:), #, 前中括号([), 句号(.) 和逗号(,)之外的任何一个字符

[^:#\[\.,]* 表示上述任意一个字符从 0 到任意次的重复

 

29 // A simple way to check for HTML strings or ID strings

30 // (both of which we optimize for)

31 var quickExpr = /^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/;

 

正则表达式的内容为 ^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$

 

从中间的 | 或者, 将表达式分为两部分

前面为  ^[^<]*(<(.|\s)+>)[^>]*$

 

[^<] 表示除了 < 之外的任何一个字符

[^<]* 表示任意多个除了 < 之外的任意字符

 

\s 表示任意的空白字符,例如,空格,回车,制表等等。

.|\s 表示任意字符

(.|\s)+ 表示任意多个字符,注意,因为是一个 +,所以是贪婪模式。

<(.|\s)+> 表示开始为 < ,中间为任意字符,由 > 结尾的任意串,也就是以 < 开始,以 > 结束的最长的串。

[^>]* 表示除了 > 之外的任意多个字符

 

合起来的意思就是,开始有多个除 < 之外的任意字符,中间为 < 开头,中间为任意串,后面再跟着 > ,最后为任意多个除 > 之外的字符的串,也就是 html

 

后面为 ^#(\w+)&

 

\w 表示任何一个单词字符,即 [a-zA-Z_0-9]

\w+ 表示 1 个以上的字符

#(\w+) 表示以 # 开始的一个以上的单词字符,也就是jQuery 中的 ID 表示格式

 

此处使用了 3 个括号,表示分组,如果匹配了第一个分组,下标为 1 ,匹配了第三个分组,则说明为 ID

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/466128.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于STC89C52的韦根数据接收

韦根是一种开放的通讯协议&#xff0c;具体官方介绍如下&#xff1a;Wiegand协议是国际上统一的标准&#xff0c;有很多格式&#xff0c;标准的26-bit 应该是最常用的格式。此外&#xff0c;还有34-bit 、37-bit 等格式。格式的含义如下&#xff1a;当给出这一串数字&#xff0…

头文件介绍

头文件介绍 axftmp1.h 是收集类模板(MFC模板类)的头文件&#xff0c;倘若你在程序中用到了CArray, CObList等数据结构时&#xff0c;那么就得加载该文件。通常在MFC编程中&#xff0c;为了使用集合、数组类&#xff0c;要在StdAfx.h中加入下面语句&#xff1a;#include <afx…

超乎想象,数据揭示自学成才的码农为何备受青睐

你是否想成为一个 Web 开发者&#xff0c;但却不知道从哪里开始&#xff1f; 你是否对学习编程语言的大量建议和繁琐细节感到审美疲劳&#xff1f; 你是否不确定需要遵循哪条路才能成为一个自信而又足智多谋的开发者&#xff1f; 如果你的回答是肯定的&#xff0c;那么不要担心…

Linux epoll

Linux epoll事件触发一、什么是epollepoll是什么&#xff1f;按照man手册的说法&#xff1a;是为处理大批量句柄而作了改进的poll。当然&#xff0c;这不是2.6内核才有的&#xff0c;它是在2.5.44内核中被引进的(epoll(4) is a new API introduced in Linuxkernel 2.5.44)&…

Cisco 3层交换HSRP

现在3层交换机上:先把每一台交换机的vlan的ip配好在进入vlan (n)下在配<一>热备份的ip<二>配优先级(standby 加是第几组如1 priority 加优先级 如200)<三>占先权(standby 1 preempt)配置如下:假如你是vlan1ip routinginterface vlan 1standby 1 ip 192.168.1…

Linux下的图形库curses写贪吃蛇,酷

最近看到大神在Linux下写的贪吃蛇代码&#xff0c;用到了curses图形库&#xff0c;可能很多人都没有用过&#xff0c;分享出来给大家。在ubuntu下安装curses图形库命令sudo apt-get install libncurses5-dev双buff是一个非常优秀的机制&#xff0c;之前写贪吃蛇的时候&#xff…

BUG笔记

1.无法打开lib 你这个 error LNK1104是链接时的错误&#xff0c;应该是需要此库&#xff0c;没办法忽略 找到此库 并在Properties->Linker->Input->Additional Depenncidees里加入库名 在Properties->Linker->General->Additional Library Directories里加入…

STM32f103C8T6 bootloader设计

STM32 bootloader设计 使用的是STM32f103C8T6&#xff1a;64Kflash&#xff0c;在应用程序中通过CAN把接受到的bin写到外置 flash的指定地址处。在bootloader中判断一个单独的标志位看程序是否需要升级&#xff0c;如果需要升级&#xff0c;则复制外置flash处的内容到STM32的内…

初中变成了菜园子了!

我家在四川省射洪县天仙镇凤鸣场&#xff0c;属于四川盆地山区&#xff0c;在四川中部&#xff0c;发源于川北羌塘群山的涪&#xff08;fu&#xff09;江流经射洪县城。天仙镇原名天仙寺&#xff0c;附近很多乡镇都是奇怪的名字&#xff1a;大庙、双庙、佛照、玉贞观。我怀疑这…

单片机数字滤波算法如何实现?(附代码)

ID&#xff1a;技术让梦想更伟大整理&#xff1a;李肖遥单片机主要作用是控制外围的器件&#xff0c;并实现一定的通信和数据处理。但在某些特定场合&#xff0c;不可避免地要用到数学运算&#xff0c;尽管单片机并不擅长实现算法和进行复杂的运算。下面主要是介绍如何用单片机…

VS2010,C++ 制作静态库(*.lib),并使用

VS2010,C 制作静态库(*.lib)&#xff0c;并使用 原文链接&#xff1a;https://blog.csdn.net/qq_41472037/article/details/100001322 简单来说&#xff0c;就是建立两个项目:① Win32 Project &#xff08;Win32 项目&#xff09;&#xff1a; 接口文件.h 和 实现接口文件.cp…

STM32f103——ILI9341

STM32f103 —— ILI9341 #ifndef ILI9341_H_ #define ILI9341_H_#include "type.h"//TFT ILI9341 #define ILI9341_SPI SPI1#define ILI9341_MOSI_GRP GPIOA #define ILI9341_MOSI_IDX GPIO_Pin_7 #define ILI9341_MOSI_LOW() GPIO_ResetBits(ILI…

利用云计算打造政务信息化及应急指挥云平台

本文转载自星光云http://www.365yun.top/news/list.asp?newsid24云计算平台提供最全面的、集成度最高的开放平台&#xff0c;构建和管理面向运营、运维、用户服务的云数据中心管理平台&#xff1b;需集成计算、存储、网络、安全及管理&#xff0c;能够提供满足从基础设施到应用…

《网络规划设计师考试大纲》、《网络规划设计师教程》和《系统架构设计师教程》...

《网络规划设计师考试大纲》、《网络规划设计师教程》和《系统架构设计师教程》即将与广大考生见面2009年下半年即将开考的系统架构设计师和网络规划设计师两个科目&#xff0c;是自2005年上半年以来首次增加的计算机资格考试高级资格考试&#xff0c;即自2004年以来&#xff0…

项目实战,平均负载过高,最后发现却是这个搞鬼

1.前言最近在项目上遇到负载均衡过高的问题&#xff0c;分析好几天&#xff0c;还因此移植了一个CPU检测工具&#xff0c;后面在小二哥的指导找到了问题原因&#xff0c;小二哥有些读者应该会比较熟悉&#xff0c;之前发的微信滑动卡顿就是他分析的&#xff0c;他是一个非常厉害…

虚拟机压缩

virtualbox虚拟机运行久了之后就会发现&#xff0c;磁盘镜像vdi文件越来越大。即使你把虚拟机中的大文件删除&#xff0c;这个vdi文件占用的空间还是不变。也就是说动态扩展的vdi文件只会大&#xff0c;不会小。那么大的文件对于备份和分享都不是很方便&#xff0c;所以有必要的…

checkbox保存和赋值

//货物信息中的表格内容 $.each(trG.find(td input,td select),function(i,inp){if($(inp).attr(type)checkbox){if($(inp).is(:checked)){objG[$(inp).attr(name)]1;}else{objG[$(inp).attr(name)]0;}}else{objG[$(inp).attr(name)]$(inp).val();} }) $.each($(b).find(tr:las…

QT——QT4.8.5安装与配置

Qt4.8.5安装 1、安装包 mingw32-4.4.0.7z qt-creator-windows-opensource-2.8.0.exe qt-win-opensource-4.8.5-mingw.exe 2、安装步骤 &#xff08;1&#xff09;、首先安装qt creator,双击qt-creator-windows-opensource-2.8.0,注意安装目录不要有空格和特殊字符, 假设安装…

ASP.NET 安全认证(四)

第四部分 Form 认证的补充 前三篇在 CSDN 论坛公布后&#xff0c;效果如同“神仙放屁——果然不同凡&#xff08;反&#xff09;响”。为感谢广大网友的热情与支持&#xff0c;这不&#xff0c;经过这一阵子的酝酿、修炼&#xff0c;特意准备了这第四响。 之前我们讲述的使用 F…

Linux中,文件创建的时间是怎么保存的?

今天在微信群里有人提问&#xff0c;如果创建一个文件&#xff0c;创建这个文件的时间是保存在哪里的。所以就查到了这篇文章。在介绍inode结构体之前先做一个链接文件的实验&#xff1a;1.创建一个普通的文件test.txt&#xff0c;并写入内容查看&#xff0c;如下2.创建test.tx…