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

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


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)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 程序猿接私活经验总结,来自csdn论坛语录

    程序猿接私活经验总结,来自csdn论坛语录

    2021年11月15日
  • DropDownList1

    DropDownList1循环绑定数据到DropDownList1foreach(SPListlsinweb.Lists){LIColl.Add(ls.Title);//将数据保存list中}dwlist.DataSource=LIColl;//绑定…

    2022年7月18日
  • wireshark网络安全分析工具之万文多图详解(持续更新)[通俗易懂]

    wireshark网络安全分析工具之万文多图详解(持续更新)[通俗易懂]1.基本介绍2.下载与安装3.详细教程3.1软件界面介绍3.1.1菜单栏3.1.2工具栏3.1.3数据包列表区3.1.4数据包详细区3.1.5数据包字节区3.2Wireshark过滤器3.2.1捕获过滤器3.2.2显示过滤器3.3过滤规则3.3.1语法讲解3.3.2过滤实例4.实战案例

    2022年6月21日
  • Python—-pywin32如何获取窗口句柄

    Python—-pywin32如何获取窗口句柄Python—-pywin32如何获取窗口句柄一:介绍要用到的库二:显示窗口的属性1.获取所有窗口的句柄2.获取窗口的子窗口句柄3.获取句柄的标题4.获取窗口类名三、实际操作1.置顶和取消2.显示和隐藏窗口四、案例演示显示和隐藏托盘halo,各位读者,本栏目开设一个围绕着“如何用Python来制作PC软件”展开。当我们想用处理Windows的软件窗口时,常常会碰到想将窗口置顶、隐藏和显示等等,还有读者想将电脑托盘、任务栏等都隐藏的情况。本篇文章就是带领读者学习窗口句柄,并且如何应用Python带的

    2022年7月21日
  • 瑞利熵与香农熵_熵 信息

    瑞利熵与香农熵_熵 信息在信息论中,Rényi熵是Hartley熵,Shannon熵,碰撞熵和最小熵的推广。熵能量化了系统的多样性,不确定性或随机性。Rényi熵以AlfrédRény

    2022年8月3日
  • php本地环境搭建教程,用 phpstudy 搭建本地 php 环境及安装 wordpress 教程「建议收藏」

    php本地环境搭建教程,用 phpstudy 搭建本地 php 环境及安装 wordpress 教程「建议收藏」很多时候我们仅仅为了测试一个项目或者临时搭建网站,用不着去vps服务器上添加,在本地搭建php环境就够了。这样就需要一个能够在windows系统中搭建本地php环境的软件包,这类软件包蛮多的,目前用的比较多的比如phpstudy,今天魏艾斯博客来介绍用phpstudy搭建本地php环境及本地安装wordpress教程。一、phpstudy下载安装。老魏建议从官方网站下…

    2022年6月16日

发表回复

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

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