如何用正则表达式匹配(和)符号,以及如何匹配[和]符号?

发布网友 发布时间:2022-04-23 22:10

我来回答

3个回答

热心网友 时间:2022-04-23 06:49

源字符串形如:select -k df38178f-a228-4dda-b25c-dfd7a2b9a618 -s -x -send -recv

其中连字符『-』开头的如『-k』、『-s』、『-send』等为控制符;

非连字符开头的如『select』、『df38178f-a228-4dda-b25c-dfd7a2b9a618』为关键字。请问用正则表达式该如何分别获取控制符和关键字呢?

我使用 (?:\-)\S+\b 来匹配控制符的话,结果为:

共找到 6 处匹配:

-k

-a228-4dda-b25c-dfd7a2b9a618

-s

-x

-send

-recv

显然将UUID中的连字符也匹配进去了。 

热心网友 时间:2022-04-23 08:07

var str1 = " ('小A','女',21,'大一'), ('小B','男',23,'大三'), ('小C','男',24,'大四'), ('小D','女',21,'大一'), ('小E','女',22,'大四'), ('小F','男',21,'大一'), ('小G','女',22,'大二'), ('小H','女',20,'大三'), ('小I','女',20,'大一'), ('小J','男',20,'大三')";

var students = str1.match(/\([^\)]*\)/g)
解释:
这是在javascript环境下的代码,运行后
students是个数组,以下是students包含的所有元素:
0:"('小A','女',21,'大一')"
1:"('小B','男',23,'大三')"
2:"('小C','男',24,'大四')"
3:"('小D','女',21,'大一')"
4:"('小E','女',22,'大四')"
5:"('小F','男',21,'大一')"
6:"('小G','女',22,'大二')"
7:"('小H','女',20,'大三')"
8:"('小I','女',20,'大一')"
9:"('小J','男',20,'大三')"

热心网友 时间:2022-04-23 09:42

使用转义 \
\(
\)
\[
\]

参考资料:http://deerchao.net/tutorials/regex/regex.htm#escape

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com