`

选择,分组和引用

阅读更多
正则表达式的语法还包括指定选择项,对子表达式分组和引用前一子表达式的特殊字符.字符| 用于分隔供选择的字符.例如: /ab|cd|ef/ 匹配的是字符串 "ab",或者是 字符串 "cd",又或者 "ef". /\d{3}|[a-z]{4}/ 匹配的是要么是一个三位数,要么是四个小写字母.在正则表达式中括号具有几种作用.它的主要作用是把单独的项目分组 成子表达式,以便可以像处理一个独立的单元那种用 *、+或? 来处理那些项目.例如: /java(script) ?/ 匹配的是字符串 "java",其后既可以有 "script",也可以没有. / (ab|cd) + |ef) / 匹配的既可以是字符串 "ef",也可以是字符串"ab" 或者 "cd" 的一次或多次重复. 在正则表达式中,括号的第二个用途是在完整的模式中定义子模式。当一个正则表达式成功地和目标字符串相匹配时,可以从目标串中抽出和括号中的子模式相匹配 的部分.例如,假定我们正在检索的模式是一个或多个字母后面跟随一位或多位数字,那么我们可以使用模式 / [a-z] + \ d+/.但是由于假定我们真正关心的是每个匹配 尾部的数字,那么如果我们将模式的数字部分放在括号中 (/ [a-z] + (\d+)/) ,我们就可以从所检索到的任何匹配中抽取数字了,之后我们会对此进行解析的. 代括号的子表达式的另一个用途是,允许我们在同一正则表达式的后面引用前面的子表达式.这是通过在字符串 \ 后加一位或多位数字来实现的.数字指的是代括号的 子表达式在正则表达式中的位置.例如: \1 引用的是第一个代括号的子表达式. \3 引用的是第三个代括号的子表达式.注意,由于子表达式可以嵌套在其它子表达式中, 所以它的位置是被计数的左括号的位置. 例如:在下面的正则表达式被指定为 \2: /([Jj]ava([Ss]cript)) \sis \s (fun\w*) / 对正则表达式中前一子表达式的引用所指定的并不是那个子表达式的模式,而是与那个模式相匹配的文本.这样,引用就不只是帮助你输入正则表达式的重复部分的快 捷方式了,它还实施了一条规约,那就是一个字符串各个分离的部分包含的是完全相同的字符.例如:下面的正则表达式匹配的就是位于单引号或双引号之内的所有字 符.但是,它要求开始和结束的引号匹配(例如两个都是双引号或者都是单引号): /[‘ "] [^ ‘ "]*[‘ "]/ 如果要求开始和结束的引号匹配,我们可以使用如下的引用: /( [‘ "] ) [^ ‘ "] * \1/ \1匹配的是第一个代括号的子表达式所匹配的模式.在这个例子中,它实施了一种规约,那就是开始的引号必须和结束的引号相匹配.注意,如果反斜杠后跟随的数字比 代括号的子表达式数多,那么它就会被解析为一个十进制的转义序列,而不是一个引用.你可以坚持使用完整的三个字符来表示转义序列,这们就可以避免混淆了.例如, 使用 \044,而不是\44.下面是正则表达式的选择、分组和引用字符: 字符 含义 ____________________________________________________________________ | 选择.匹配的要么是该符号左边的子表达式,要么它右边的子表达式 (...) 分组.将几个项目分为一个单元.这个单元可由 *、+、?和|等符号使用,而且还可以记住和这个组匹配的字符以供此后引 用使用 \n 和第n个分组所匹配的字符相匹配.分组是括号中的子表达式(可能是嵌套的).分组号是从左到右计数的左括号数 http://www.360doc.com/content/07/0820/13/27908_683948.shtml
分享到:
评论

相关推荐

    PB12动态分组

    PB12动态分组是PowerBuilder 12中的一项重要特性,它允许开发人员在运行时根据用户需求灵活地对数据进行动态分组和聚合计算。这个功能极大地提高了应用程序的可扩展性和用户交互性,使得数据窗口(DataWindow)能够...

    浅谈正则表达式中的分组和引用实现方法

    在正则表达式中,分组和引用是两个重要的功能,它们允许我们在文本中查找重复出现的模式,并且在后续的匹配中引用前面已经匹配过的模式。 分组是由一对圆括号"()"构成的,用于将正则表达式中的一部分模式组合成一个...

    DropDownList分组扩展

    6. **事件处理**:可能需要监听一些事件,如SelectedIndexChanged,以便在用户选择分组内的选项时做出响应。同时,如果数据源是动态生成的,可能还需要在Page_Init或Page_Load事件中重新绑定数据。 7. **性能优化**...

    vfp报表动态分组.rar_VFP报表动态分组_vfp_vfp分组报表_分组报表vfp

    - `ttt.scx`:这是VFP的项目文件,包含了报表和其他相关文件的引用,以及项目的设置。 要利用这些文件实现动态分组,你需要在VFP环境中打开`.scx`项目文件,然后在代码中处理分组逻辑。例如,你可以在按钮的点击...

    一种新型低复杂度双层分组天线选择算法.docx

    文章引用了一些现有的天线选择算法,如增量逐次选择算法和基于迭代的算法,但这些算法对于信道高度相关的大规模MIMO系统并不理想。为了克服这一问题,本文引入了布谷鸟搜索(CS)算法,这是一种高效的启发式优化算法...

    用EXCEL进行统计分组并绘制统计图表.pdf

    此外,还可以看到一些可能代表单元格引用的字母数字组合,如“A$2:$E$11”和“G2”,这可能表示数据区域和分组区间所在的单元格地址。这样的地址在Excel中用于定位数据范围,是进行公式计算时不可或缺的部分。 综上...

    类似QQ好友分组的第三方控件SideBar及详细使用说明

    4. **交互反馈**:当用户进行操作时,如选择、展开或折叠分组,控件会提供适当的视觉反馈,增强用户的交互感。 5. **事件处理**:SideBar控件支持多种事件,如点击、展开/折叠等,开发者可以通过监听这些事件来实现...

    Excel中数据分组.pdf

    - 如果不再需要已创建的分组,可以通过选择分组的行,然后在“数据”选项卡中点击“取消分组”来撤销。这将恢复数据的原始布局,取消所有分组结构。 4. **优点与应用场景**: - 数据分组简化了数据的显示,使得...

    cityPicker省市区级联jquery插件城市按照拼音首字母分组支持默认值展示

    2. 准备或者引用城市数据文件,确保插件能正确读取和展示数据。 3. 初始化插件,通过jQuery选择器找到需要绑定的城市选择器元素,然后调用插件方法。 4. 如果需要,你可以设置默认值,或者自定义插件的一些行为和...

    JS动态树分组的实现,数据库建表,JSP页面展示

    表的设计应考虑到树的层级关系,可能需要一个自引用的关联字段,如`parent_id`,用于表示父节点和子节点的关系。此外,还需要其他字段存储节点的信息,如`node_id`(唯一标识)、`node_name`(节点名称)、`group_id...

    SQL Server Integration Services 2005中的模糊查找和模糊分组.pdf

    在进行模糊查找或分组时,用户需要注意一些细节,例如,需要选择合适的数据源和目标,以及为模糊查找转换选择正确的引用表。此外,还需要理解模糊查找转换的用户界面设置,如何配置连接,以及如何定义匹配的质量阈值...

    CheckBox在cxGrid分组的应用

    例如,如果我们想根据CheckBox的状态对行进行分组,那么可以创建一个虚拟字段,其值由CheckBox的状态决定,然后在cxGridLevel的GroupFieldByExpression属性中引用这个字段。 此外,`Unit1.dfm`文件将包含cxGrid及其...

    ireport分组与子报表的区别

    iReport中的分组和子报表都是重要的报表设计元素,它们各有优势,在实际应用中应根据具体需求选择合适的工具。分组适用于数据的快速分类和汇总,而子报表则能够提供更加细致和灵活的数据展示能力。理解它们之间的...

    Django之无名分组和有名分组的实现

    这种命名方式使得在视图函数中引用这些捕获的部分更加直观和方便。 **示例**: ```python urlpatterns = [ url(r'^login/(?P[0-9]{4})$', views.login), ] ``` 这里的 `(year)` 被命名为 `year`,`[0-9]{4}` 仍然...

    ExtJs+Dwr带分页分组传参后台排序功能的grid

    在这个场景中,`usernamerecord.jsp`是用户界面的入口点,它引用了所需的CSS和JavaScript资源,包括`ext-all.js`和`ext-base.js`,这两个文件是ExtJS的核心库,而`ext-all.css`负责样式。 DWR则是一个允许...

    GroupBox对界面中的控件进行分组.rar

    - **CheckBox和RadioButton**:在选项设置界面,用GroupBox将一组互斥的选项(如单选按钮)或可多选的选项(如复选框)分组,让用户清楚了解哪些可以同时选择,哪些不能。 - **TextBox和Button**:在数据输入界面,...

    Word2021文档如何插入书签交叉引用.docx

    1. **选择引用类型**:在弹出的“交叉引用”对话框中,点击“引用类型”下拉菜单,选择“书签”作为引用对象。 2. **选择引用内容**:接着,在“引用内容”下拉菜单中,根据需求选择“书签文字”、“页码”或“段落...

    android listview 分组

    在Android开发中,ListView是一种常用的组件,用于展示大量的...同时,合理的设计布局和适配器方法,可以使分组功能更加灵活和易于维护。在项目中,根据具体需求选择合适的实现方式,既能满足功能,又能提高代码质量。

    通过父编码信息给子节点分组

    在Oracle数据库环境中,"通过父编码信息给子节点分组"通常涉及到树形结构数据的处理,这在很多业务场景中都很常见,如组织架构、产品分类、地区层级等。...具体选择哪种方法取决于业务需求、数据规模和性能要求。

    jQuery和css3弹性3d图片翻转分组展示特效

    **jQuery和CSS3弹性3D图片翻转分组展示特效** 在现代网页设计中,吸引用户的注意力并提供独特的用户体验是至关重要的。`jQuery`和`CSS3`的结合使用能够实现许多令人眼前一亮的交互效果,其中一种就是3D图片翻转分组...

Global site tag (gtag.js) - Google Analytics