我希望能够在字符串中间改变时匹配正则表达式模式。我在读取命令的输出时这样做,所以我需要匹配输出中的其他单词。
作为我想要实现的一个小例子,
str1 = 'This is my SAS test'
str2 = 'This is my SATA test'
我想创建一个与str1和str2匹配的正则表达式模式,同时保持模式中的其他文本。
我认为可以实现这一目标的唯一方法是制作正则表达式
'This is my SAS test|This is my SATA test'
我真的很喜欢它,如果我能让它简单,只是有这样的东西(我知道这不起作用):
'This is my SAS|SATA test'
有什么想法吗?
答案 0 :(得分:1)
使用群组:This is my (SAS|SATA) test
。
答案 1 :(得分:1)
您想要使用群组。如果您不想捕获它,请使用非捕获组,如下所示:
/This is my (?:SAS|SATA) test/
这是由于交替运算符具有绝对最小优先级。通过对其进行分组,它可以正确处理子表达式。