正则匹配符

 Text:
  .           点号           : 单个任何字符
  -           连字符         : 在[]内部表示一个范围                  [0-9] [a-z] 如果出现在[]内字符组的开头,也只表示一个普通字符
  |           或             : x|y
  _           下
  []          方括号         : 为了解决句点符号匹配范围过于广泛这一问题,你可以在方括号(“[]”)里面指定看来有意义的字符。此时,只有方括号里面指定的字符才参与匹配。也就是说,正则表达式“t[aeio]n”只匹配“tan”、“Ten”、“tin”和“ton”。但“Toon”不匹配,因为在方括号之内你只能匹配单个字符
  [chars]     字符组         : [xyz]匹配字符组中的任意一个字符
  [^chars]    排除型字符组   : None of chars
  text1|text2 或             : text1 or text2
  (pattern)   括号           : 分组括号,用于分组文本的捕获与变量的保存
  (?:pattern) 匹配pattern但不存储变量且不能获取匹配结果
  (?=pattern) 正向预查
  (?!pattern)
 
表示匹配次数的符号:
  ?           可选项元素     0 or 1 of the preceding text         之前紧邻元素出现0次或者多次
  *           0 or N of the preceding text (N > 0) 之前紧邻元素出现0次或者多次
  +           1 or N of the preceding text (N > 1) 之前紧邻元素出现1次以上
  {n}         匹配恰好n次
  {n,}        至少匹配n次
  {n,m}       匹配从n次到m次
 
Grouping:
  (text)      Grouping of text
              (either to set the borders of an alternative or
              for making backreferences where the Nth group can
              be used on the RHS of a RewriteRule with $N)

Anchors:
  ^           脱字符/否       : 行的起始位置,如果在[]内表示否的意思
  $           美元符          : 行的结束位置

转义字符:
/char         将下一字符标记为特殊字符

/s            匹配任何空白字符(例如空格符、制表符、进纸符)  /s -- 必需的空格 
/s*           可选的空格
/S            除/s之外的任何字符
/t            制表符
/n            换行符          
/r            回车符
/f

/.            句点      /. -- 必需的句点 

正则表达式创建的快捷符号
/d    [0-9]
/D    [^0-9]
/w    [a-zA-Z0-9]
/W    [^a-zA-Z0-9]]
/s    [/t/n/r/f]
/S    [^/t/b/r/f]


(.*)            表示一组任何字符
(a|b)
([0-9]+)
?([0-9]+)?
([0-9]{4})
[0-9]{1,2})
?(.*)
(.*)?

http://www.myhost.com/foo.php?a=A&b=B&c=C
表现成 http://www.myhost.com/foo.php/a/A/b/B/c/C

RewriteRule (.*?.php)     (?[^/]*)       ?/       ([^/]*)        /       ([^/]*)        (.+?)?
            $1(?2$2&:?)$3=$4?5$5: [N,I]
           
           
RewriteRule ^user/.html([^/]*)?$    ^/user.php?uid=$2 [QSA,L]
RewriteRule ^user/.html(.*)?$       ^/user.php?uid=$2 [QSA,L]
RewriteRule ^user/.html(_[^/]*)?$   ^/user.php?uid=$2 [QSA,L]

 

 

java下使用正则表达式

String content =topics.getContent();
  final String tokerImg="<img +([^>]+)/>";  //匹配HTML图片
  final String tokerSrc="src=/"+([^/"]+)/"";  //匹配HTML图片中的src
  final String tokerAlt="alt=/"+([^/"]+)/"";  //匹配HTML图片中的alt
  
  Pattern pat = Pattern.compile(tokerImg);
  Matcher mat = pat.matcher(content);
  Map<String, String> imgs=new HashMap<String, String>();//存入匹配的图片
  
  while (mat.find()) {
   String result=mat.group();
   
   Pattern patAlt = Pattern.compile(tokerAlt);
   Matcher matAlt = patAlt.matcher(result);
   while(matAlt.find()){
    //添加HTML图片
    imgs.put(matAlt.group(), result);
   }
  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值