Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex $dir=~s/\n//是什么意思?我需要帮助以一种简单易懂的方式解释它_Regex_Perl - Fatal编程技术网

Regex $dir=~s/\n//是什么意思?我需要帮助以一种简单易懂的方式解释它

Regex $dir=~s/\n//是什么意思?我需要帮助以一种简单易懂的方式解释它,regex,perl,Regex,Perl,我试图理解一段perl代码,我需要详细了解这一行的含义 $dir =~ s/\n// =~是绑定运算符;它告诉某些操作匹配、替换、音译它们的操作数是什么。所以$dir=~s正在对变量$dir进行替换 s/../../.是一个替换操作;左侧部分是要匹配的正则表达式,右侧部分是用于替换匹配内容的插值字符串。在您的例子中,您正在匹配单个换行符,并将其替换为零 因此,您的代码基本上从$dir中删除第一个换行符,或者,如果没有换行符,则不执行任何操作。=~是绑定运算符;它告诉某些操作匹配、替换、音译它们

我试图理解一段perl代码,我需要详细了解这一行的含义

$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。请注意,在这里说“谢谢”的首选方式是,一旦你有足够的声誉,就投票选出好的问题和有用的答案,并接受对你提出的任何问题最有用的答案,这也会给你的声誉带来一点提升。请参阅本页,以及