下面我有一个用于查找和附加正则表达式模式定义的文本的ps1;即从[pattern]到[pattern] Foo。有没有更简单的方法为多个正则表达式模式执行此操作,除了将每个正则表达式定义为pattern2,pattern3等,并创建单独的“ForEach”以对应每个正则表达式?因为我就是这样做的,它起作用但它看起来非常简陋。
type
答案 0 :(得分:1)
如果要使用相同的替换模式替换,请使用alternation:
$pattern = [regex]'(pattern1|pattern2)'
注意:在非锚定的变更中,您应该注意备选的顺序:如果较短的分支可以在字符串中的相同位置匹配,则较长的分支 - 如果它在较短的 - 不会得到测试。例如。 (on|one|ones)
只会与on
中的ones
匹配。请参阅Remember That The Regex Engine Is Eager中的详细信息。