Regex $dir=~s/\n//是什么意思?我需要帮助以一种简单易懂的方式解释它
我试图理解一段perl代码,我需要详细了解这一行的含义Regex $dir=~s/\n//是什么意思?我需要帮助以一种简单易懂的方式解释它,regex,perl,Regex,Perl,我试图理解一段perl代码,我需要详细了解这一行的含义 $dir =~ s/\n// =~是绑定运算符;它告诉某些操作匹配、替换、音译它们的操作数是什么。所以$dir=~s正在对变量$dir进行替换 s/../../.是一个替换操作;左侧部分是要匹配的正则表达式,右侧部分是用于替换匹配内容的插值字符串。在您的例子中,您正在匹配单个换行符,并将其替换为零 因此,您的代码基本上从$dir中删除第一个换行符,或者,如果没有换行符,则不执行任何操作。=~是绑定运算符;它告诉某些操作匹配、替换、音译它们
$dir =~ s/\n//
=~是绑定运算符;它告诉某些操作匹配、替换、音译它们的操作数是什么。所以$dir=~s正在对变量$dir进行替换
s/../../.是一个替换操作;左侧部分是要匹配的正则表达式,右侧部分是用于替换匹配内容的插值字符串。在您的例子中,您正在匹配单个换行符,并将其替换为零
因此,您的代码基本上从$dir中删除第一个换行符,或者,如果没有换行符,则不执行任何操作。=~是绑定运算符;它告诉某些操作匹配、替换、音译它们的操作数是什么。所以$dir=~s正在对变量$dir进行替换
$dir =~ s/\n//
s/../../.是一个替换操作;左侧部分是要匹配的正则表达式,右侧部分是用于替换匹配内容的插值字符串。在您的例子中,您正在匹配单个换行符,并将其替换为零
因此,您的代码基本上从$dir中删除第一个换行符,或者,如果没有换行符,则什么也不做
$dir =~ s/\n//
LHS左侧是一个变量,包含将成为图案空间的值
=~
是正则表达式绑定运算符,用作等式测试和赋值,根据RHS右侧regex命令略有不同,在本例中是s替换
RHS是regex命令/表达式
模式空间是在上下文中应用正则表达式的字符串的任何空间
如有,例如:
$dir
变量包含模式所基于的数据:
/\n/
如果实际模式为,则将应用“//”或“//”对\n,它只是语言编译器要识别的占位符。如果为真,即匹配/找到,则将执行替换,此处替换为无,意味着它将简单地清除它,然后将结果分配给LHS,否则保留LHS不变。
此模式通常应用于多行,这些行固有地包含换行符\n作为行分隔符,可由正则表达式引擎检测和控制,但除了在下面的行中生成下一个字符外,是不可见的实体输出。
假设多行中的$dir,那么$dir,即模式空间是数据\n并且在最终的$dir中成为数据
LHS左侧是一个变量,包含将成为图案空间的值
=~
是正则表达式绑定运算符,用作等式测试和赋值,根据RHS右侧regex命令略有不同,在本例中是s替换
RHS是regex命令/表达式
模式空间是在上下文中应用正则表达式的字符串的任何空间
如有,例如:
$dir
变量包含模式所基于的数据:
/\n/
如果实际模式为,则将应用“//”或“//”对\n,它只是语言编译器要识别的占位符。如果为真,即匹配/找到,则将执行替换,此处替换为无,意味着它将简单地清除它,然后将结果分配给LHS,否则保留LHS不变。
此模式通常应用于多行,这些行固有地包含换行符\n作为行分隔符,可由正则表达式引擎检测和控制,但除了在下面的行中生成下一个字符外,是不可见的实体输出。
假设多行中的$dir,那么$dir,即模式空间是数据\n并且在最后的$dir中成为数据欢迎使用堆栈溢出。请注意,在这里说“谢谢”的首选方式是,一旦你有足够的声誉,就投票选出好的问题和有用的答案,并接受对你提出的任何问题最有用的答案,这也会给你的声誉带来一点提升。请参阅页面,也欢迎使用Stack Overflow。请注意,在这里说“谢谢”的首选方式是,一旦你有足够的声誉,就投票选出好的问题和有用的答案,并接受对你提出的任何问题最有用的答案,这也会给你的声誉带来一点提升。请参阅本页,以及