发布网友 发布时间: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