正则表达式 6 ------中括号

  1. 实例

1.取出@后的信息

java:

String str = "@liurui 你好1 @zhangiaofeng 你好2 @linjie 你好3";
Pattern p = Pattern.compile("@(?<username>\w+\s)(?<msg>[\w\W][^@]+)");
Matcher m = p.matcher(str);
while(m.find()){
System.out.println(m.group("username")+":"+m.group("msg"));
}

 

JavaScript:

var str="@shenyi 你好 @ddd hello";

 

var pattern=/[@](w+s)(.[^@]+)/g;

//var result=pattern.exec(str);

 

while(result=pattern.exec(str))

{

alert(result[1]);

alert(result[2]);

}

 

  1. 知识清单

[A-Z]: 代表大写字母A到Z

同样的[A-E] 代表大写字母A到E

实际上[A-E] 等价于[ABCDE]

[A-Ea-d] ==[ABCDEabcd]

[^A-E]: 代表 不在大写字母A-E范围内的字符

w : 代表匹配包括下划线的任何一个单词字符。等价于"[A-Za-z0-9_]"。

W: 正好和w相反。代表非w的一个字符

小括号: (),往往用来分组,提取我们需要匹配的字符

中括号:[] ,往往用来表示匹配字符范围 .配合其他正则特性一起使用能实现很强大的功能

.: 匹配除" "之外的任何单个字符。要匹配包括" "在内的任何字符,请使用像"[sS]"的模式。

 

 

在人生中,赢家并不是那些有优秀基因的人,或是那些最有天分的人,而是那些最不屈不挠的人!当他们跌倒了,他们总是不断的爬起来,继续做,继续做。 no pain no gains (^ _ ^) !!
原文地址:https://www.cnblogs.com/fatsnake/p/5291778.html