0 0

正则表达式最小匹配的写法?5

<p class=MsoNormal style='text-indent:31.5pt'><a
name=de80aa7c58ea4693a39a023d1d7c8d96><span lang=EN-US>1.</span></a><span
style='font-family:宋体'>负责代码编写;</span></p>

<p class=MsoNormal style='text-indent:31.5pt'><a
name=2056a622e99e4728ae265142d1920ed6><span lang=EN-US>2.</span></a><span
style='font-family:宋体'>负责单元测试;</span></p>

<p class=MsoNormal style='text-indent:31.5pt'><a
name=c3cc8ea78b814cbeaccccc46283ff9fe><span lang=EN-US>3.</span></a><span
style='font-family:宋体'>完成上级领导交办的其它任务。</span></p>


在我知道<a
name=c3cc8ea78b814cbeaccccc46283ff9fe>的情况下,如何拿出其父节点P(<p class=MsoNormal style='text-indent:31.5pt'><a
name=c3cc8ea78b814cbeaccccc46283ff9fe><span lang=EN-US>3.</span></a><span
style='font-family:宋体'>完成上级领导交办的其它任务。</span></p>)?

我写了一个<p.*?><a\\s+name=c3cc8ea78b814cbeaccccc46283ff9fe.*?</p> 结果把上面所有内容给拿到了,现在就想拿最小的P该如何写正则?

问题补充:在正则表达式30分钟入门教程的“贪婪与懒惰”章节说了这样的一个案例:
a.*?b匹配最短的,以a开始,以b结束的字符串。如果把它应用于aabab的话,它会匹配aab(第一到第三个字符)和ab(第四到第五个字符)。

边注:为什么第一个匹配是aab(第一到第三个字符)而不是ab(第二到第三个字符)?简单地说,因为正则表达式有另一条规则,比懒惰/贪婪规则的优先级更高:最先开始的匹配拥有最高的优先权——The match that begins earliest wins。


我上面的问题就正好是需要获取上面案例说的(第二到第三个字符)!!!!此问题如何破?求高手
2013年9月27日 12:57

1个答案 按时间排序 按投票排序

0 0


str = 'aaaaabbbab'
reg = /(a)*(a.*?b)/

取第二组匹配
整体:'aaaaab',
第一组:'a',
第二组:'ab',

2013年9月27日 16:43

相关推荐

    [JAVA源码]捣鼓生成浮点数的最小最大值的正则表达式---by_langx

    在Java编程中,正则表达式(Regular Expression)是一种强大的文本处理工具,它能用于匹配、查找、替换等操作。本话题聚焦于如何利用Java来生成一个正则表达式,这个表达式能够验证一个字符串是否代表了在特定范围内...

    正则表达式综合

    - **匹配**:使用 `Pattern.compile` 方法创建正则表达式模式对象,并通过 `matcher` 方法检查字符串是否符合该模式。 ```java Pattern pattern = Pattern.compile("^Java.*"); Matcher matcher = pattern....

    常用的js验证代码

    - **2.2 短日期格式验证** (`2003-12-05`): 函数 `strDateTime(str)` 使用正则表达式匹配日期格式,并创建一个`Date`对象来验证日期的合法性。 - **2.3 长时间格式验证** (`2003-12-0513:04:06`): 同样的验证方法...

    经典Python面试题之Python基础篇.docx

    - 默认情况下,正则表达式尝试匹配尽可能多的字符。 #### 39. 求结果 - **a**: `[0, 1, 0, 1, 0, 1, 0, 1, 0, 1]` - **b**: 生成器对象 `&lt;generator object &lt;genexpr&gt; at 0x7f75a5e7b800&gt;`(需进一步迭代获取值) ...

    jquery选择器原理介绍($()使用方法)

    1. 如果选择器是字符串形式,则会通过正则表达式quickExpr来匹配是否是HTML代码或者是ID选择器。 2. 如果匹配到ID选择器(即形式为#id),会检查对应的DOM元素是否已经加载完成,并且ID是否匹配。 3. 如果ID对应的...

    jQuery选择器的工作原理和优化分析

    在`find`函数内部,jQuery使用正则表达式来处理CSS选择器,如处理ID、类名和相对定位(如`)。如果能够限制`find`函数的搜索范围(即`context`),就能减少遍历DOM的时间,从而提高性能。例如,`$(‘#id’).find(‘....

    powerbuilder

    PrintDefineFont() 功能定义打印作业使用的字体,对每个打印作业PowerBuilder支持八种字体。 语法PrintDefineFont(printjobnumber,fontnumber,facename,height,weight,fontpitch,fontfamily, italic,underline) ...

    php通用检测函数集合第1/3页

    - **注意**:实际代码中的正则表达式写法有误,应该是`"^[0-9]+(\.[0-9]{1,2})?$"`来匹配整数或最多两位小数的正数。 ##### 2. CheckEmailAddr($C_mailaddr) - **功能**:判断是否为有效的电子邮件地址。 - **参数*...

Global site tag (gtag.js) - Google Analytics