【发布时间】:2013-03-31 14:39:54
【问题描述】:
我正在寻找与前两个特定字段(用 Perl 编写的变量字符串)匹配的正则表达式。在文件中,没有注释的行 # 以任何字符开头,长度不特定,后跟空格,另一个非特定长度字符串,后跟空格:name info data1 data2 data3。
以下仅用于匹配第二个字段,但我希望前两个字段完全匹配:/^[^#].*\s$INFO\s/ where $INFO="info"。我尝试了上述的变体无济于事。我的第一次尝试是这样的:/^[^#]$NAME\s$INFO\s/ 如果$NAME="name" 用于上述记录,这对我来说似乎是合乎逻辑的。
【问题讨论】:
-
给我们一个完整字符串的例子以及你想要的。
-
在帖子里。 "name info data1 data2 data3" 我只关心 "name" 和 "info" 是否匹配,其余的我不关心。但前两个字段将是可变的字母数字字符串。
-
这样吗?我无法理解初始字符串到底是什么。 \#{0}(\w*) (\w*) \w* \w* \w*
-
所以基本上你需要的是匹配前面没有
#的前两个单词? -
这是一个真实的声明 HamZa。基本上我正在运行一个读取公共文件的 perl 脚本,前两个字段代表服务器名称和一个程序实例,我希望根据这两个字段设置一些环境变量,因为这个程序的两个实例可以在同一台服务器,但会有不同的环境,其余的字段加上我可以防止其他服务器在另一台服务器的环境中运行相同的脚本。仅匹配实例字段(第二个字段)并不能阻止这种情况。实例由 C/L 选项设置,服务器由程序设置。