首页 后端开发 php教程 关于php正则表达式的两点备注_PHP

关于php正则表达式的两点备注_PHP

Jun 01, 2016 pm 12:34 PM
bar pattern 关于

正则表达式

 
severaltipsaboutRegularExpressions
  1.processfor"greedy"
  Bydefault,thequantifiersare"greedy",thatis,they
  matchasmuchaspossible(uptothemaximumnumberofper-
  mittedtimes),withoutcausingtherestofthepatternto
  fail.Theclassicexampleofwherethisgivesproblemsisin
  tryingtomatchcommentsinCprograms.Theseappearbetween
  thesequences/*and*/andwithinthesequence,individual
  *and/charactersmayappear.AnattempttomatchCcom-
  mentsbyapplyingthepattern
  
  /\*.*\*/
  
  tothestring
  
  /*firstcommand*/notcomment/*secondcomment*/
  
  fails,becauseitmatchestheentirestringduetothe
  greedinessofthe.*item.
  
  However,ifaquantifierisfollowedbyaquestionmark,
  thenitceasestobegreedy,andinsteadmatchestheminimum
  numberoftimespossible,sothepattern
  
  /\*.*?\*/
  

 


  小结:
  ?与/U有类似功能,但同时出现彼此抵消
  
  如下:
     $a="asdf/*asdfaldsfasdf*/asfdasldf;kfldsj*/asfddsaf";
  $pattern="/\/\*.*?\*\//";
  //$pattern="/\/\*.*\*\//U";
  //$pattern="/\/\*.*?\*\//U";
  preg_match($pattern,$a,$match);
  print_r($match);
  ?>
  
  2.Assertions
  \w+(?=;)
  
  matchesawordfollowedbyasemicolon,butdoesnotinclude
  thesemicoloninthematch,and
  
  foo(?!bar)
  
  matchesanyoccurrenceof"foo"thatisnotfollowedby
  "bar".Notethattheapparentlysimilarpattern
  
  小结:
  (?!)只前向判断匹配,如bar(?!foo),而(?!foo)bar没有意义
  (?

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Win11 Xbox Game Bar怎么彻底卸载掉?分享Xbox Game Bar卸载方法 Win11 Xbox Game Bar怎么彻底卸载掉?分享Xbox Game Bar卸载方法 Feb 10, 2024 am 09:21 AM

Win11XboxGameBar怎么彻底卸载掉?XboxGameBar是系统中自带的游戏平台,它提供了用于游戏录制、截图和社交功能的工具,不过很是占用内存,也不好卸载,一些小伙伴想要将它卸载掉,但是不这道怎么彻底卸载,下面就来为大家介绍一下吧。方法一、使用Windows终端1、按【Win+X】组合键,或【右键】点击任务栏上的【Windows开始菜单】,在打开的的菜单项中,选择【终端管理员】。2、用户账户控制窗口,你要允许此应用对你的设备进行更改吗?点击【是】。3、执行以下命令:Get-AppxP

“Touch ID 登录”卡在 Mac Touch Bar 上?这是修复 “Touch ID 登录”卡在 Mac Touch Bar 上?这是修复 Apr 15, 2023 pm 12:04 PM

使用Safari图标修复MacTouchBar上的“TouchID登录”问题强制触控栏重新启动将解决此问题:在Mac上打开ActivityMonitor,它位于/Applications/Utilities文件夹中,或者您可以使用Spotlight通过按Command+空格键并键入ActivityMonitor并返回来启动它使用活动监视器的搜索功能并搜索“触摸”选择“TouchBarServer”,然后单击活动监视器工具栏中的(X)退出按钮选择“强制退出”以强制

使用Java中的Pattern.compile方法 使用Java中的Pattern.compile方法 Feb 18, 2024 pm 09:04 PM

Java中Pattern.compile函数的用法Java中的Pattern.compile函数是用于编译正则表达式的方法。正则表达式是一种强大的字符串匹配和处理工具,可以用于查找、替换、验证字符串等操作。Pattern.compile函数允许我们将一个字符串模式编译成一个Pattern对象,然后可以使用该对象进行一系列字符串操作。Pattern.compi

免费的开源工具:缩短 macOS 菜单栏并隐藏不常用的内容 免费的开源工具:缩短 macOS 菜单栏并隐藏不常用的内容 Dec 01, 2023 pm 02:38 PM

对macOS用户来说,一些常用的软件或能,可过右上角的Menubar直接访问,不过日子久了,你会发现它的图标越来越多,你的Menubar渐渐变得越来越长。如果你用MacBook更可能会超过「刘海」的中间位置。这次为大家推荐一套名为HiddenBar的免费开源macOS工具,它最大的作用就是让你将Menubar缩短隠藏不常用的东西。分隔显示区域安装软这套App后会出现一个分隔区域图,这标左方的东西都会隐藏起来,只会看到右方的东西。使用方法1:先设定分隔区,然后将较少用到的App移到分割区的左方。2

ColorOS15 界面曝光 关于本机这里大变 ColorOS15 界面曝光 关于本机这里大变 Aug 28, 2024 pm 03:31 PM

近日ColorOS15率先开启Beta内测,有网友曝光了相关界面,来看看如何~如上图所见,有网友晒出了OPPOFindX7升级ColorOS15Beta后的「关于本机」界面,除了顶部图案有大变外,下半部分的配置信息也从之前的两列变成了全单列纵向分布。附上华为、荣耀、小米、OPPO、vivo、魅族6家品牌手机现在最新版本下的「关于本机/手机」界面,大家可以来说说更喜欢哪家的布局~具体关于ColorOS15,此前消息称其除了大范围支持LivePhoto实况照片外,还将"支持AirDrop&

Java正则表达式中的PatternSyntaxException类 Java正则表达式中的PatternSyntaxException类 Sep 11, 2023 pm 07:37 PM

PatternSyntaxException类表示在正则表达式字符串中出现语法错误时引发的未经检查的异常。该类包含三个主要方法,即-getDescription() -返回错误的描述。getIndex()-返回错误索引。getPattern()-返回出现错误的正则表达式模式。getMessage()-返回包含错误的完整消息、索引、出现错误的正则表达式模式、指示模式中的错误。示例 实时演示importjava.util.Scanner;importjava.util.regex.Matcher;i

ColorOS15 界面曝光 关于本机这里大变 ColorOS15 界面曝光 关于本机这里大变 Aug 28, 2024 pm 03:31 PM

近日ColorOS15率先开启Beta内测,有网友曝光了相关界面,来看看如何~如上图所见,有网友晒出了OPPOFindX7升级ColorOS15Beta后的「关于本机」界面,除了顶部图案有大变外,下半部分的配置信息也从之前的两列变成了全单列纵向分布。附上华为、荣耀、小米、OPPO、vivo、魅族6家品牌手机现在最新版本下的「关于本机/手机」界面,大家可以来说说更喜欢哪家的布局~具体关于ColorOS15,此前消息称其除了大范围支持LivePhoto实况照片外,还将"支持AirDrop&

MacBook Pro Touch Bar 可以作为支持 Apple Pencil 的条带复活 MacBook Pro Touch Bar 可以作为支持 Apple Pencil 的条带复活 Apr 14, 2023 pm 09:19 PM

Apple一直在研究如何让以iPad为中心的ApplePencil在未来的MacBookPro表面上完成旧TouchBar的工作。这只是一项专利,苹果每年都会获得数以千计的专利,并不意味着会出现任何实际产品。然而,有时您不得不想知道这是什么想法,例如现在专利图纸显示带有ApplePencil支架的MacBookPro。那是一台可以放置ApplePencil的Mac。但是你不能在Mac上使用ApplePencil,或者现在还不能。除非Apple正在考虑为非常

See all articles