挑战JavaScript正则表达式每日两题(2)

上一篇    下一篇



上篇中问题参考答案



第一题:

原题要求:略。

答案:正确。

补注:题中提到的是“某些”而不是指全部的这18个字符,请结合下面第二题正确理解。



第二题:

原题要求:

给定字符串
“ab dword1=243[ASD\FEDSF-]234ff/sdfsf{dkdkd”,如何找出其中所有的正则表达式元字符。

解答如下:

目标串中出现的元字符都没有什么特殊含义而仅作为普通字符存在时可以直接放于正则表达式内部,唯独反斜线字符“\”必须使用反斜线对其转义。此外,左向中括号字符“]”也需要专门考虑,因为我们需要字符类来列举这些元字符;因此,左向中括号字符“]”需要单独处理。另外,本题还一并考察了分组与选择技术。综合上述,大家可以参考如下方案:

var p=/([[{}()?*+=/.:\\^$|])|(])/g;
var s=‘ ab dword1=243[ASD\FEDSF-]234ff/sdfsf{dkdkd‘;
s.match(p);

新单选题列举如下



 (1).给定正则表达式/^(SE)?[0-9]{12}$/,满足此匹配条件的字符串是:
A "123456789123"
B "SI12345678"
C "1234567890"
D "ESX1234567Y"

(2).给定正则表达式
/^[0-5]?[0-9]$/,满足此匹配条件的字符串是:
A "99"
B "009"
C "0009"
D "10"



上一篇   下一篇



时间: 2024-10-24 00:41:06

挑战JavaScript正则表达式每日两题(2)的相关文章

挑战JavaScript正则表达式每日两题

不少学习JS开发的同学可能对正则表达式抱有不屑一顾的态度,认为用到时再查查不就行了.以前在学习其他语言,例如JAVA和C#时,我就有这么一种观点--反正看了不用就忘. 但是,JS开发中,你无论是自己开发还是观看别人的模块或者第三方库,你会更为频繁地使用到正则表达式.因此,正则表达式一下子变得不再是可有可无. 从本篇开始,我打算使用大致10多天时间,开发二十多个题,都是有关正则表达式的使用问题,权作JAVASCRIPT开发朋友的一种小型讨论聚会,但绝不是什么"擂台"赛.问题给出后,将在下

每日两题编程

此博客链接:https://www.cnblogs.com/ping2yingshi/p/12419542.html 1.分糖果(力扣57min) 题目链接:https://leetcode-cn.com/problems/distribute-candies-to-people/submissions/ 排排坐,分糖果. 我们买了一些糖果 candies,打算把它们分给排好队的 n = num_people 个小朋友. 给第一个小朋友 1 颗糖果,第二个小朋友 2 颗,依此类推,直到给最后一个

老男孩教育每日一题-2017年5月16日-说说{}与[]这两个符号有什么区别?

1.题目 2.参考答案 这两个看似简单的符号,其实内容还不少.我们一起来看看. 2.1 通配符中 通配符在linux中通常用来匹配/找文件名或目录名.最常用的就是 ls -l *.txt显示出所有以.txt结尾的文件. 2.1.1  {} 花括号,大括号,生产序列 [[email protected] regular]# echo {a..z} {0..9} a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8

老男孩教育每日一题-第84天-两个文件,把第一个文件中的第2、3行内容添加到第二个文件的第3行后面

两个文件如下: [[email protected] ~]# cat 1.txt  111 222 333 [[email protected] ~]# cat 2.txt AAA bbb ccc ddd 要求修改后的文件 [[email protected] ~]# cat 2.txt  AAA bbb ccc 222 333 ddd `` 参考答案: 方法1: [[email protected] ~]# sed -n 2,3p 1.txt |xargs |sed -r 's# #\\n#g

老男孩教育每日一题-第89天-根据如下描述使用正则表达式取出内容

题目: 显示/etc/inittab中以#开头,且后面跟了一个或多个空白字符,而后又跟了任意非空白字符的行 参考答案: 方法一-grep/egrep egrep "^#[[:blank:]]+[^[:blank:]]*" /etc/inittab   grep -P "^#[ \t]+[^ \t]*" /etc/inittab   grep -P "^#\s+\S+" /etc/inittab 方法二-sed sed -n '/^#[[:blan

老男孩教育每日一题-2017年5月17日-使用三剑客进行变化格式

1.题目 原始数据: 17/Apr/2015:09:29:24 +0800 17/Apr/2015:09:30:26 +0800 17/Apr/2015:09:31:56 +0800 18/Apr/2015:09:34:12 +0800 18/Apr/2015:09:35:23 +0800 19/Apr/2015:09:23:34 +0800 19/Apr/2015:09:22:21 +0800 20/Apr/2015:09:45:22 +0800 期望结果: 2015-04-17 09:29:

老男孩教育每日一题-第126天-通过shell脚本打印乘法口诀表

问题背景: 生成9*9乘法表 [[email protected] ~]# seq 9 | sed 'H;g' | awk -v RS='' '{for(i=1;i<=NF;i++)printf("%dx%d=%d%s", i, NR, i*NR, i==NR?"\n":"\t")}' 1x1=1 1x2=2   2x2=4 1x3=3   2x3=6   3x3=9 1x4=4   2x4=8   3x4=12  4x4=16 1x5=5

javascript 正则表达式补充

定义 JavaScript种正则表达式有两种定义方式,定义一个匹配类似 <%XXX%> 的字符串 1. 构造函数 var reg=new RegExp('<%[^%>]+%>','g'); 2. 字面量 var reg=/<%[^%>]%>/g; g: global,全文搜索,默认搜索到第一个结果接停止 i: ingore case,忽略大小写,默认大小写敏感 m: multiple lines,多行搜索 元字符 正则表达式让人望而却步以一个重要原因就是其转

老男孩教育每日一题-第110天-find命令-size参数

老男孩教育每日一题-第110天-find命令-size参数1.查找当前目录下以log结尾的大于50k小于2M的普通文件2.查找当前目录下以log结尾的小于50k大于2M的普通文件以上两个问题有什么不同? 参考答案: 测试环境: [[email protected] tmp]# pwd /root/tmp [[email protected] tmp]# ll -h total 7.4M -rw-r--r-- 1 root root   262 Jul 30 15:45 a.log -rw-r--