正则表达式边界

正则表达式中\A,\z和^,$的区别
http://topic.csdn.net/t/20060802/23/4923167.html

\A,\z和^,$的主要差别在使用了RegexOptions.Multiline多行模式上,看下面两个示例: 

  string pattern  =  @"^abc";
  string  str  =  "zzz\nabc";
  Regex regex  = new  Regex(pattern,  RegexOptions.Multiline);
  bool b  =  regex.IsMatch(str);
  Console.WriteLine(b);
  //True  

  string pattern  =  @"\Aabc";
  string  str  =  "zzz\nabc";
  Regex regex  = new  Regex(pattern,  RegexOptions.Multiline);
  bool b  =  regex.IsMatch(str);
  Console.WriteLine(b);
  //False 

 再看MSDN的叙述:  

  ^
 指定匹配必须出现在字符串的开头或行的开头。有关更多信息,请参阅正则表达式选项中的 Multiline 选项。  

 $
 指定匹配必须出现在以下位置:字符串结尾、字符串结尾的 \n 之前或行的结尾。有关更多信息,请参阅正则表达式选项中的 Multiline 选项。  

  \A
 指定匹配必须出现在字符串的开头(忽略 Multiline 选项)。  

  \Z
 指定匹配必须出现在字符串的结尾或字符串结尾的 \n 之前(忽略 Multiline 选项)。  

  \z
 指定匹配必须出现在字符串的结尾(忽略 Multiline 选项)。
时间: 2024-08-06 11:53:25

正则表达式边界的相关文章

JavaScript正则表达式-边界符

^:表示字符串开始位置,在多行匹配中表示一行的开始位置. /^\w+/匹配字符串中第一个单词. $:表示字符串结束的位置,在多行匹配中表示一行的结束位置. /\w+$/匹配字符串中最后一个单词. /@.+$/匹配邮箱服务器. str = "Great hope make great man"; str = str.replace(/$/,"!");//在字符串结尾插入需要的字符 \b:表示一个单词(而非字符)边界,也就是单词和空格之间的位置,或者字符(\w)与字符串

爬虫(四):正则表达式(提取str中网址)

3.采用beatifulsoup与re正则表达式一起使,提取html中的一些href的链接 http://cuiqingcai.com/1319.html 4.如何利用正则表达式边界匹配

js正则表达式入门

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title> javascript 正则表达式 </title> <meta name="Generator" content="Edit

转 jmeter 关联

在LR中有自动关联跟手动关联,但在我看来手动关联更准确,在jmeter中,就只有手动关联 为什么要进行关联:对系统进行操作时,本次操作或下一次操作对服务器提交的请求,这参数里边有部分参数需要服务器返回动态变化的值,首先这个值是动态变化的其次是由服务器动态返回的再者会对请求结果产生影响 在jmeter中,关联有几种方法,①正则表达式②边界提取器③Json Extractor提取器 一正则表达式:         当我要注册时有一个值是每次都是变化的: <input type="hidden&

正则表达式入门(三)边界

零宽度断言不匹配字符,而是匹配字符串中的位置.比如^和$,也叫做锚位符.行的起始与结束要匹配行或字符串的起始要用脱字符 ^ 要匹配行或字符串的结尾要用美元符 $ ^How.*Country\.$ 这个匹配以How开头的整行.最后的\.是转义字符,匹配点号..如果想要匹配作为字面值的点号,必须将点号转义或者将其放入字符组中.如果不勾选multiline但是勾选dotall的情况下,输入 ^THE.*\?$ 它匹配了整个文本.dotall选项表示点号除了匹配其他字符外,还会匹配换行符.如果取消doa

Delphi 正则表达式语法(5): 边界

Delphi 正则表达式语法(5): 边界 // \b 单词边界 var   reg: TPerlRegEx; begin   reg := TPerlRegEx.Create(nil);   reg.Subject := 'Delphi Delphi2007 MyDelphi';   reg.RegEx  := '\bDelphi\b'; //前后边界   reg.Replacement := '◆';   reg.ReplaceAll;   ShowMessage(reg.Subject);

从头认识java-11.5 扫描输入(2)-scanner的边界与使用正则表达式扫描

这一章节我们来介绍一下scanner的边界与使用正则表达式扫描. 1.scanner的边界 上一章节我们提到scanner里面有hasNext方法,可以检测是否还有字符串,其实这个就是边界符,检查字符串的边界. package com.ray.ch11; import java.io.BufferedReader; import java.io.IOException; import java.io.StringReader; import java.util.Scanner; public c

JS正则表达式从入门到入土(4)—— 预定义类与边界

预定义类 正则表达式提供预定义类来匹配常见的字符类 字符 等价类 含义 . [^\r\n] 除了回车符和换行符以外的所有字符 \d [0-9] 数字字符 \D [^0-9] 非数字字符 \s [\t\n\x0B\f\r] 空白符 \S [^\t\n\x0B\f\r] 非空白符 \w [a-zA-Z_0-9] 单词字符(字母.数字.下划线) \W [^a-zA-Z_0-9] 非单词字符 使用预定义类可以快速匹配目标,如:匹配一个ab+数字+任意字符,使用字符类.范围类需要书写大量的代码,而使用预定

正则表达式——7.4 单词边界

??单词边界的准确解释是:一端必须出现\w能匹配的字符,另一端不出现\w能匹配的字符.在JavaScript.PHP.Python 2.Ruby中,\w只能匹配[0-9a-z-A-Z_].所以在这些语言中,\b\w+\b能用来匹配几乎所有的英文单词. 字符串 正则表达式 能否匹配 说明 tom,jerry(半角标点) \btom\b 能 \w不能匹配半角标点 tom,jerry(全角标点) \btom\b 否 \w可以匹配全角标点 tom和jerry \b和\b 否 \w可以匹配中文字符 汤姆,