jq正则表达式_JAVA 正则表达式

jq正则表达式_JAVA 正则表达式一、JavaScript正则表达式正则表达式(英语:RegularExpression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。搜索模式可用于文本搜索和文本替换。什么是正则表达式?正则表达式是由一个字符序列形成的搜索模式。当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容。正则表达式可以是一个简单的字符,或一个更…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一、JavaScript正则表达式

正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。

搜索模式可用于文本搜索和文本替换。

什么是正则表达式?

正则表达式是由一个字符序列形成的搜索模式。

当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容。

正则表达式可以是一个简单的字符,或一个更复杂的模式。

正则表达式可用于所有文本搜索和文本替换的操作。

语法

/正则表达式主体/修饰符(可选)

其中修饰符是可选的。

实例:

var patt = /runoob/i

实例解析:

/runoob/i  是一个正则表达式。

runoob  是一个正则表达式主体(用于检索)。

i  是一个修饰符(搜索不区分大小写)。

使用字符串方法

在 JavaScript 中,正则表达式通常用于两个字符串方法 : search() 和 replace()。

search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

search() 方法使用正则表达式

实例:使用正则表达式搜索 “Runoob” 字符串,且不区分大小写:

var str = “Visit Runoob!”;

var n = str.search(/Runoob/i);

console.log(n );//输出结果为:6

search() 方法使用字符串

search 方法可使用字符串作为参数。字符串参数会转换为正则表达式:

实例:检索字符串中 “Runoob” 的子串:

var str = “Visit Runoob!”;

var n = str.search(“Runoob”);

console.log(n );//输出结果为:6

replace() 方法使用正则表达式

实例:使用正则表达式且不区分大小写将字符串中的 Microsoft 替换为 Runoob :

var str = ‘Visit Microsoft!’;

var txt = str.replace(/microsoft/i,”Runoob”);

console.log(txt);//结果输出为:Visit Runoob!

你注意到了吗?

正则表达式参数可用在以上方法中 (替代字符串参数)。正则表达式使得搜索功能更加强大(如实例中不区分大小写)。

replace() 方法使用字符串

实例:replace() 方法将接收字符串作为参数:

var str = ‘Visit Microsoft!’;

var txt = str.replace(“Microsoft”,”Runoob”);

console.log(txt);//结果输出为:Visit Runoob!

正则表达式修饰符

修饰符可以在全局搜索中不区分大小写:

修饰符

描述

i

执行对大小写不敏感的匹配。

g

执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。

m

执行多行匹配。

正则表达式模式

方括号用于查找某个范围内的字符:

表达式

描述

[abc]

查找方括号之间的任何字符。

[0-9]

查找任何从 0 至 9 的数字。

(x|y)

查找任何以

元字符是拥有特殊含义的字符:

元字符

描述

d

查找数字。

s

查找空白字符。

b

匹配单词边界。

uxxxx

查找以十六进制数 xxxx 规定的 Unicode 字符。

量词:

量词

描述

n+

匹配任何包含至少一个n的字符串。

n*

匹配任何包含零个或多个n的字符串。

n?

匹配任何包含零个或一个n的字符串。

使用 RegExp 对象

在 JavaScript 中,RegExp 对象是一个预定义了属性和方法的正则表达式对象。

使用 test()

test() 方法是一个正则表达式方法。

test() 方法用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false。

以下实例用于搜索字符串中的字符 “e”:

实例:

var patt = /e/;

var res = patt.test(“The best things in life are free!”);

console.log(res );//字符串中含有 “e”,所以该实例输出为:true

你可以不用设置正则表达式的变量,以上两行代码可以合并为一行:

/e/.test(“The best things in life are free!”)

使用 exec()

exec() 方法是一个正则表达式方法。

exec() 方法用于检索字符串中的正则表达式的匹配。

该函数返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。

以下实例用于搜索字符串中的字母 “e”:

实例:

var res = /e/.exec(“The best things in life are free!”);

console.log(res? res[0] : res);//字符串中含有 “e”,所以该实例输出为:e

正则表达式表单验证实例:

/*是否带有小数*/

function isDecimal(strValue ) {

var objRegExp= /^d+.d+$/;

return objRegExp.test(strValue);

}

/*校验是否中文名称组成 */

function ischina(str) {

var reg=/^[u4E00-u9FA5]{2,4}$/; /*定义验证表达式*/

return reg.test(str); /*进行验证*/

}

/*校验是否全由8位数字组成 */

function isStudentNo(str) {

var reg=/^[0-9]{8}$/; /*定义验证表达式*/

return reg.test(str); /*进行验证*/

}

/*校验电话码格式 */

function isTelCode(str) {

var reg= /^((0d{2,3}-d{7,8})|(1[3584]d{9}))$/;

return reg.test(str);

}

/*校验邮件地址是否合法 */

function IsEmail(str) {

var reg=/^w+@[a-zA-Z0-9]{2,10}(?:.[a-z]{2,4}){1,3}$/;

return reg.test(str);

}

二、JavaScriptRegExp对象

RegExp 对象

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

正则表达式用于对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。

语法

var patt=new RegExp(pattern,modifiers);

或者更简单的方式:

var patt=/pattern/modifiers;

pattern(模式) 描述了表达式的模式

modifiers(修饰符) 用于指定全局匹配、区分大小写的匹配和多行匹配

注意: 当使用构造函数创造正则对象时,需要常规的字符转义规则(在前面加反斜杠 )。比如,以下是等价的:

var re = new RegExp(“\w+”);

var re = /w+/;

修饰符

修饰符用于执行区分大小写和全局匹配:

修饰符

描述

执行对大小写不敏感的匹配。

执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。

m

执行多行匹配。

方括号

方括号用于查找某个范围内的字符:

表达式

描述

查找方括号之间的任何字符。

查找任何不在方括号之间的字符。

[0-9]

查找任何从 0 至 9 的数字。

[a-z]

查找任何从小写 a 到小写 z 的字符。

[A-Z]

查找任何从大写 A 到大写 Z 的字符。

[A-z]

查找任何从大写 A 到小写 z 的字符。

[adgk]

查找给定集合内的任何字符。

[^adgk]

查找给定集合外的任何字符。

(red|blue|green)

查找任何指定的选项。

元字符

元字符(Metacharacter)是拥有特殊含义的字符:

元字符

描述

查找单个字符,除了换行和行结束符。

查找单词字符。

查找非单词字符。

查找数字。

查找非数字字符。

查找空白字符。

查找非空白字符。

匹配单词边界。

匹配非单词边界。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/191569.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 开车旅行游戏_开车周游世界

    开车旅行游戏_开车周游世界题目链接这道题最基本的思路是用倍增,但是其实它的难点在预处理部分。倍增的部分此次就不细说了,和之前的最近公共祖先的思想类似。我们主要来探讨一下预处理的部分。我们需要预处理出每个城市小A和小B的选择目标和对应的距离,接下来就可以处理出进行2k轮开车的目的地和距离了。所以前者才是重中之重,而前者如果要用暴力的方法会tle的。有人可能会疑惑,我们找当前点的后面两三个不就可以了?为什么会tle呢?实际上并不是序号相差很远距离就很远,实际上有可能第一个城市和最后一个城市最近,可以举个例子,城市海拔如下:

    2022年8月22日
    10
  • redis 压缩表存储数据库数据(数据结构链表的特点)

    本文所引用的源码全部来自Redis2.8.2版本。Redis中ziplist数据结构与API相关文件是:ziplist.h,ziplist.c,t_zset.c。一、ziplist的构成是一个4字节无符号整数,用来存储整个ziplist占用的字节数;是一个4字节无符号整数,用来存储ziplist最后一个节点的相对于ziplist首地址偏移量;是一个2字节

    2022年4月15日
    75
  • 程序员不成熟的若干个特征

    程序员不成熟的若干个特征人成熟与不成熟跟年龄没有关系,人成熟不成熟,就是你能不能站在对方的角度去看待事物。就是能不能把我的世界变成你的世界。这个社会有很多的成年人,还没有脱离幼稚的行为。一点小事情就跟别人争来争去。人不成熟的第一个特征——就是立即要回报他不懂得只有春天播种,秋天才会收获。很多人在做任何事情的时候,刚刚付出一点点,马上就要得到回报。(学钢琴,学英语等等,刚开始就觉得难,发现不行,立即就要放弃。)做我们这个项目也是一样,很多人来做这个生意,开始没有什么成绩,就想着要放弃,有的人一个月放弃,有的人三个月放弃,有的

    2022年5月27日
    29
  • es6数组的flat()方法

    es6数组的flat()方法Array.prototype.flat()flat()方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。Array.prototype.flat()用于将嵌套的数组“扁平化”,将二维数组变成一维数组。该方法返回一个新数组,对原数据没有影响。语法:varnewArray=arr.flat([depth])参数:depth可选,指定要提取嵌套数组的结构深度,默认值为1。返回值:一个包含数组与子数组中所有元素的新数组。示例:var

    2022年5月3日
    121
  • Python数据类型有哪些,哪些是可变类型,哪些是不可变类型?

    Python数据类型有哪些,哪些是可变类型,哪些是不可变类型?Python数据类型有哪些,哪些是可变类型,哪些是不可变类型?类型:整数int字符串str浮点数float布尔型bool列表list字典dict集合set元组tuple可变类型:就是这个数据类型的值在不改变这一块内存空间,而去改变这个数据类型的值。1.列表2.字典3.集合不可变类型:当改变值得时候,会申请一块新的内存空间,不再是原来的那一块内存空间了。整数字符串浮点数布尔型元组…

    2022年6月10日
    35
  • django views_django admin视图

    django views_django admin视图前言ViewSet只是一种基于类的视图,它不提供任何方法处理程序(如.get()或.post()),而是提供诸如.list()和.create()之类的操作。ViewSet的方法处理程序

    2022年7月31日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号