如何称呼正则表达式的内部?(由分隔符分隔的那个) [英] How do you call the inner part of a regex? (the one delimited by the delimiters)
本文介绍了如何称呼正则表达式的内部?(由分隔符分隔的那个)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何在没有分隔符的情况下调用正则表达式的内部部分?
例如:
给定以下正则表达式:/d+/
和#(hello)#
,我们可以将每个正则表达式分为3个部分:
/
+d+
+/
#
+(hello)
+#
我们都将/
或#
命名为分隔符。
内部怎么称呼?d+
或(hello)
部分?
问这个问题的原因是Clean Code规则。我正在编写一个记号赋值程序,我需要用正确的名称清楚地命名";Full Thing&Quot;和";Inside Thing&Quot;。
推荐答案
regex delimitersdelimit the following parts:
<action>/<pattern>(/<substituiton>)/<modifiers>
操作
Regex分隔符结构的这一部分包含有关regex将执行的操作的隐式(无字符)或显式(用字符表示)信息:匹配、替换,有时甚至是像在Vim中那样对整个文件起作用。在POSIX工具上下文中,操作也称为commands(或operators)。通常操作字符是s
和m
,代表模式
第二部分,您称之为内部-称为模式(请参阅perlop reference)。在描述$var =~ m/mushroom/
表达式时,此参考解释如下:
括在‘/’字符中的部分表示我们要查找的特征。我们使用术语模式来表示它。
因此,当我们说";regex";或";regexp";时,我们基本上是指正则表达式模式。
替代
此部分仅存在于%s替换结构中,以s
操作/命令为前缀。替换模式语法与正则表达式模式语法非常不同,因为它们通常可以包含命名或编号的反向引用、用于取消反向引用语法的转义序列(参见。"dollar escaping"),有时还会更改大小写运算符(如l
、L...E
、u
和U...E
)。
修饰符
也是called flags,这些部分帮助微调正则表达式引擎匹配模式的过程。最常见的修饰符是i
不区分大小写标志、g
全局匹配标志、s
单行/doall修饰符(在NFA正则表达式中使用m
,而不是Onigmo/Oniguruma))。
这篇关于如何称呼正则表达式的内部?(由分隔符分隔的那个)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文