主要是用正则表达式的分组匹配技术。
1、以某字符结尾:例如sex$;
2、中间不包含该字符串:^((?!sex).*)
3、最后合起来就是:^((?!sex).*)sex$
“正则表达式”选中以某些字符开始,某些字符结尾的字符串?的含义如下:
字符 含意:\ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b" ,当b 前面加了反斜杆后/\b/,转意为匹配一个单词的边界。-或-对正则表达式功能字符的还原,如"*"匹配它前面元字符0次或多次,/a*/将匹配a,aa,aaa ,加了"\"后,/a\*/将只匹配"a*"。
^ 匹配一个输入或一行的开头,/^a/匹配"an A",而不匹配"An a"
$ 匹配一个输入或一行的结尾,/a$/匹配"An a",而不匹配"an A"
* 匹配前面元字符0次或多次,/ba*/将匹配b,ba,baa,baaa
+ 匹配前面元字符1次或多次,/ba*/将匹配ba,baa,baaa
? 匹配前面元字符0次或1次,/ba*/将匹配b,ba
(x) 匹配x 保存x 在名为$1...$9的变量中x|y 匹配x 或y,{n} 精确匹配n 次,{n,} 匹配n 次以上
{n,m} 匹配n-m 次,[xyz] 字符集(character set),匹配这个集合中的任一一个字符(或元字符)
[^xyz] 不匹配这个集合中的任何一个字符,[\b] 匹配一个退格符,\b 匹配一个单词的边界
\B 匹配一个单词的非边界,\cX 这儿,X 是一个控制符,/\cM/匹配Ctrl-M。