Regex Perl Range命令不匹配类似字符串,其中一个字符串以回车结束

Regex Perl Range命令不匹配类似字符串,其中一个字符串以回车结束,regex,perl,Regex,Perl,Perl中的range命令 RANGE /^ identifier cust_pri/ .. /addr-type-none/ 匹配具有cust_pri和cust_pri_sip的字符串,其中回车符紧跟在字符串cust_pri和cust_pri_sip之后。我不想在cust_pri_sip比赛,但只想在cust_pri比赛 我尝试分别输入\r\n和\r\n,但均无效。是否有一个字符串或元字符可以放在perl范围的末尾,以帮

Perl中的range命令

RANGE
/^        identifier                              cust_pri/ .. /addr-type-none/
匹配具有cust_pri和cust_pri_sip的字符串,其中回车符紧跟在字符串cust_pri和cust_pri_sip之后。我不想在cust_pri_sip比赛,但只想在cust_pri比赛

我尝试分别输入\r\n和\r\n,但均无效。是否有一个字符串或元字符可以放在perl范围的末尾,以帮助区分这两个字符串

我需要查看两种类型接口的数据,但在第一个range命令上,它也在收集数据,第二个range命令也在收集cust_pri_sip,导致我的第一个脚本出错。第二个工作发现。我无法更改输入数据,我需要一种方法来区分两者

这是主Perl程序的子脚本

WIDTH = 65

DIRECTORY = /home/myfiles/

MASTER Config Lines

        identifier                              cust_pri
        description                             *
        addr prefix                             0.0.0.0
        network interfaces                      M00|1:\d*
        tcp media profile
        monitoring filters
        node functionality
        default location string
        alt family realm
        addr-type-none


RANGE
/^        identifier                              cust_pri/ .. /addr-type-none/
#
还有一个子脚本与上面的类似

RANGE
/^        identifier                              cust_pri_sip/ .. /addr-type-none/

第一个脚本还收集两个脚本的数据,因为它匹配。

您可以使用/^identifier cust\u pri显式排除_sip_sip/或者您可以说cust_pri必须在行的末尾,后面没有任何内容,并带有/^identifier cust_pri$/

我正在尝试遵循代码和目标,足以使其易于重新格式化,但我无法理解您试图重新格式化的内容,更不用说回答了。您能否尝试将您的问题的格式设置得更好一点,以便我们知道什么是代码,什么是示例文本,以及问题是什么?您是否在寻找/^identifier cust\u pri$/?此外,还有单词boundary\b可能会有所帮助。范围末尾的$符号有效。非常感谢。